statistics_block

Versions
4.6 – 6
statistics_block($op = 'list', $delta = 0, $edit = array())

Implementation of hook_block().

Code

modules/statistics.module, line 416

<?php
function statistics_block($op = 'list', $delta = 0, $edit = array()) {
  switch ($op) {
    case 'list':
      if (variable_get('statistics_count_content_views', 0)) {
        $blocks[0]['info'] = t('Popular content');
      }
      return $blocks;

    case 'configure':
      // Popular content block settings
      $numbers = array('0' => t('Disabled')) + drupal_map_assoc(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30, 40));
      $output = form_select(t("Number of day's top views to display"), 'statistics_block_top_day_num', variable_get('statistics_block_top_day_num', 0), $numbers, t('How many content items to display in "day" list.'));
      $output .= form_select(t('Number of all time views to display'), 'statistics_block_top_all_num', variable_get('statistics_block_top_all_num', 0), $numbers, t('How many content items to display in "all time" list.'));
      $output .= form_select(t('Number of most recent views to display'), 'statistics_block_top_last_num', variable_get('statistics_block_top_last_num', 0), $numbers, t('How many content items to display in "recently viewed" list.'));
      return $output;

    case 'save':
      variable_set('statistics_block_top_day_num', $edit['statistics_block_top_day_num']);
      variable_set('statistics_block_top_all_num', $edit['statistics_block_top_all_num']);
      variable_set('statistics_block_top_last_num', $edit['statistics_block_top_last_num']);
      break;

    case 'view':
      if (user_access('access content')) {
        $content = array();

        $daytop = variable_get('statistics_block_top_day_num', 0);
        if ($daytop) {
          $content[] = node_title_list(statistics_title_list('daycount', $daytop), t("Today's:"));
        }

        $alltimetop = variable_get('statistics_block_top_all_num', 0);
        if ($alltimetop) {
          $content[] = node_title_list(statistics_title_list('totalcount', $alltimetop), t('All time:'));
        }

        $lasttop = variable_get('statistics_block_top_last_num', 0);
        if ($lasttop) {
          $content[] = node_title_list(statistics_title_list('timestamp', $lasttop), t('Last viewed:'));
        }
        $output = implode($content, '<br />');

        $block['subject'] = t('Popular content');
        $block['content'] = $output;

        return $block;
      }
  }
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.