Как добавить ноду по времени

Главные вкладки

Аватар пользователя azsx azsx 29 апреля 2009 в 20:22

На цмс джомла есть функция публикации страницы в определенное время. Подскажите пожалуйста аналогичный модуль для друпал. Сейчас интересует публикация именно блоговых страниц.
Заранее всем спасибо за ответ.

Комментарии

Аватар пользователя azsx azsx 30 апреля 2009 в 2:12

спасибо за модуль.
Я его скачал, установил, поставил права доступа в роли. А при создании страницы нигде ничего нового не вижу. Как его дополнительно надо настраивать?

Аватар пользователя AnemoN AnemoN 30 апреля 2009 в 4:59

admin -> settings -> content-types
Выбираете тип материала который должен публиковаться по расписанию и ставите галочку "enable scheduled (un)publishing".

Внутри файла readme.txt из архива модуля именно это и написано.

Аватар пользователя iryston iryston 30 апреля 2009 в 14:52

Если я не ошибаюсь, сюрприз работает по крону.
Вот это вполне можно использовать в виде малюсенького модуля "deferrednode" дату проставлять рядом с автором, и крон не нужен.

function deferrednode_db_rewrite_sql($query, $primary_table, $primary_field, $args) {
  switch ($primary_field) {
    case 'nid':
    if(!user_access('administer nodes')){
      // this query deals with node objects
      $return = array();
      if ($primary_table != 'n') {
        $return['join'] = "LEFT JOIN {node} n ON $primary_table.nid = n.nid";
      }
     // $return['where'] = 'created <' . mktime(0, 0, 0, 1, 1, 2005);
      $return['where'] = 'n.created <' . time();
      return $return;
      break;
      }
    case 'tid':
      // this query deals with taxonomy objects
      break;
     
    case 'vid':
      // this query deals with vocabulary objects
      break;
  }
}

function deferrednode_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
  if($op=='view' && $node->created > time() && !user_access('administer nodes')) drupal_access_denied();
  }