annotate modules/statistics/statistics.tokens.inc @ 13:134d4b2e75f6

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