Те кто вплотную работают с отложенными публикациями должны были столкнуться с этим. Бывают случаи когда необходимо воспользоваться node_import, и при этом хочется чтобы ноды опубликовались не сразу я по заранее заданному графику (в этом может помочь scheduler), но во время импорта невозможно заполнить поле "publish on", которое отвечает за дату публикации, зато можно импортировать поле "дата создания".
Запустив код ниже произойдет автоматическое заполнение полей "publish on" для материалов дата создания которых будет заданна познее текущей.
<?php
// конфиг
$dbhost = 'localhost';
$dbname = 'имя_базы';
$dblogin = 'логин_к_базе';
$dbpass = 'пас_к_базе';
$link = [user=mysql_connect]mysql_connect[/user]($dbhost, $dblogin, $dbpass) // подключаемся к серверу
or die ('Невозможно подключиться к MySQL: Проверьте настройки подключения');
if($link):
[user=mysql_select_db]mysql_select_db[/user]($dbname, $link)
or die ('База Данных недоступна, либо не существует'); // выбираем базу
$q1 = mysql_query('SELECT nid, created FROM node WHERE created > "'.time().'"', $link); // выборка публикаций на будущее
echo 'now time(): '.time();
if(
$q1):
while(
$nd = mysql_fetch_array($q1)) { // запись в таблицу scheduler
echo "<br><hr>node: ".$nd['nid']." | created: ".$nd['created'];
mysql_query('INSERT INTO scheduler (nid, publish_on) VALUES ("'.$nd['nid'].'", "'.$nd['created'].'")', $link);}
// подчищаемся
mysql_free_result($q1);
unset($nd);
endif;
mysql_close($link);
endif;
?>
модули под drupal делать не умею, так что накатал в лоб.
Комментарии
Ща в автора полетят гнилые помидоры и тухлые яйца, решение далеко неправославное
Спасибо большое вам за этот рецепт!
тык есть куча функций друпала, которые отвечают за подключение к базе данных. А в этом коде все ключики к сайту лежат, разве есть здесь безопасность?