You are here

function node_limit_interval_node_limit_sql in Node Limit 8

Same name and namespace in other branches
  1. 6 node_limit_interval/node_limit_interval.module \node_limit_interval_node_limit_sql()
  2. 7 node_limit_interval/node_limit_interval.module \node_limit_interval_node_limit_sql()

Implements hook_node_limit_sql().

File

old/node_limit_interval/node_limit_interval.module, line 31
Module to restrict the number of nodes within a time interval.

Code

function node_limit_interval_node_limit_sql($lid, SelectQuery $select) {
  $limit = node_limit_interval_node_limit_load($lid);
  if (empty($limit)) {
    return;
  }
  if ($limit['node_limit_interval'] != NODE_LIMIT_INTERVAL_MONTHS) {
    $interval = floatval($limit['node_limit_interval']['interval']) * intval($limit['node_limit_interval']['unit']);
  }
  else {
    $then = mktime(date('H'), date('i'), date('s'), date('n') - floatval($limit['node_limit_interval']['interval']));
    $now = mktime();
    $interval = $now - $then;
  }
  $select
    ->where('created + :interval >= :reference', array(
    ':interval' => $interval,
    ':reference' => \Drupal::time()
      ->getRequestTime(),
  ));
}