Drupal PHP Cross Reference Content Management Systems

Source: /modules/statistics/statistics.tokens.inc - 63 lines - 1783 bytes - Summary - Text - Print

   1  <?php
   2  
   3  /**
   4   * @file
   5   * Builds placeholder replacement tokens for node visitor statistics.
   6   */
   7  
   8  /**
   9   * Implements hook_token_info().
  10   */
  11  function statistics_token_info() {
  12    $node['total-count'] = array(
  13      'name' => t("Number of views"),
  14      'description' => t("The number of visitors who have read the node."),
  15    );
  16    $node['day-count'] = array(
  17      'name' => t("Views today"),
  18      'description' => t("The number of visitors who have read the node today."),
  19    );
  20    $node['last-view'] = array(
  21      'name' => t("Last view"),
  22      'description' => t("The date on which a visitor last read the node."),
  23      'type' => 'date',
  24    );
  25  
  26    return array(
  27      'tokens' => array('node' => $node),
  28    );
  29  }
  30  
  31  /**
  32   * Implements hook_tokens().
  33   */
  34  function statistics_tokens($type, $tokens, array $data = array(), array $options = array()) {
  35    $url_options = array('absolute' => TRUE);
  36    $replacements = array();
  37  
  38    if ($type == 'node' & !empty($data['node'])) {
  39      $node = $data['node'];
  40  
  41      foreach ($tokens as $name => $original) {
  42        if ($name == 'total-count') {
  43          $statistics = statistics_get($node->nid);
  44          $replacements[$original] = $statistics['totalcount'];
  45        }
  46        elseif ($name == 'day-count') {
  47          $statistics = statistics_get($node->nid);
  48          $replacements[$original] = $statistics['daycount'];
  49        }
  50        elseif ($name == 'last-view') {
  51          $statistics = statistics_get($node->nid);
  52          $replacements[$original] = format_date($statistics['timestamp']);
  53        }
  54      }
  55  
  56      if ($created_tokens = token_find_with_prefix($tokens, 'last-view')) {
  57        $statistics = statistics_get($node->nid);
  58        $replacements += token_generate('date', $created_tokens, array('date' => $statistics['timestamp']), $options);
  59      }
  60    }
  61  
  62    return $replacements;
  63  }

title

Description

title

Description

title

Description

title

title

Body