You are here

function _auto_expire_expiry_submit in Auto Expire 7

Same name and namespace in other branches
  1. 5 auto_expire.module \_auto_expire_expiry_submit()

Implements expiry form submit.

_state

Parameters

$form:

1 string reference to '_auto_expire_expiry_submit'
_auto_expire_expiry in ./auto_expire.module
Implements expiry form.

File

./auto_expire.module, line 209

Code

function _auto_expire_expiry_submit($form, &$form_state) {
  $node = node_load($form_state['values']['nid']);
  $expire = $form_state['values']['expire'];
  $days = variable_get(AUTO_EXPIRE_NODE_TYPE . $node->type . '_d', AUTO_EXPIRE_DAYS);
  $newexpire = max(REQUEST_TIME, $expire) + $days * 24 * 60 * 60;
  $extended = db_query("SELECT extended FROM {auto_expire} WHERE nid = ':nid'", array(
    ':nid' => $node->nid,
  ))
    ->fetchField();
  db_update('auto_expire')
    ->fields(array(
    'expire' => $newexpire,
    'extended' => $extended + 1,
    'warned' => 0,
  ))
    ->condition('nid', $node->nid)
    ->execute();
  db_update('node')
    ->fields(array(
    'status' => 1,
  ))
    ->condition('nid', $node->nid)
    ->execute();
  watchdog('auto_expire', "Extended node %node by @days days", array(
    '%node' => $node->nid,
    '@days' => $days,
  ), WATCHDOG_NOTICE, l(t('view'), 'node/' . $node->nid));
  drupal_set_message(t('Extended for @days more days', array(
    '@days' => $days,
  )));
  $form_state['redirect'] = "node/{$node->nid}/expiry";
}