You are here

cctags.page.inc in cctags 6

Same filename and directory in other branches
  1. 7 cctags.page.inc

File

cctags.page.inc
View source
<?php

/**
 * @file
 */
function cctags_page($item) {
  global $pager_page_array, $pager_total, $pager_total_items;
  $cctid = $item['cctid'];
  $title = $item['page_title'];
  $m = _cctags_get_select_list('amount_tags');
  $amount = $m[$item['page_amount']];
  $mode = $item['page_mode'];
  $vocname = $item['page_vocname'];
  if ($cctid == NULL) {
    return drupal_not_found();
  }
  drupal_set_title($title == '<none>' ? '' : $title);
  $terms = cctags_get_level_tags($cctid, 'page');
  $count_terms = 0;
  foreach ($terms as $k => $v) {
    $count_terms += count($v);
  }
  $page = !isset($_GET['page']) || $amount == 0 || $count_terms < $amount ? 0 : $_GET['page'];
  $content = theme('cctags_level', $terms, $amount, $page, $mode, $vocname, 'page');
  $pager = NULL;
  if ($amount > 0 and $count_terms > $amount) {
    $pager_page_array = explode(',', $page);
    $pager_total_items[0] = $count_terms;
    $pager_total[0] = ceil($pager_total_items[0] / $amount);
    $pager_page_array[0] = max(0, min((int) $pager_page_array[0], (int) $pager_total[0] - 1));
    $pager = theme('pager', NULL, $amount, 0);
  }
  $output = theme('cctags_page', $cctid, $content, $pager);
  return $output;
}
function cctags_users_page() {
  global $pager_page_array, $pager_total, $pager_total_items;
  $title = variable_get('cctags_users_page_title', t('User_list'));
  $a = variable_get('cctags_users_page_amount', 5);
  $c = _cctags_get_select_list('amount_user');
  $amount = $c[$a];
  $sort = variable_get('cctags_users_page_sort', 'title,asc');
  $level = variable_get('cctags_users_page_level', 5);
  $level++;
  $users = cctags_get_users($level, $amount, $sort, 'page');
  drupal_set_title($title == '<none>' ? '' : $title);
  $count_users = $users['count'];
  unset($users['count']);
  $page = !isset($_GET['page']) || $amount == 0 || $count_users < $amount ? 0 : $_GET['page'];
  $content = theme('cctags_user_page_content', $users, $amount, $page);
  if ($amount > 0 and $count_users > $amount) {
    $pager_page_array = explode(',', $page);
    $pager_total_items[0] = $count_users;
    $pager_total[0] = ceil($pager_total_items[0] / $amount);
    $pager_page_array[0] = max(0, min((int) $pager_page_array[0], (int) $pager_total[0] - 1));
    $pager = theme('pager', NULL, $amount, 0);
  }
  $output = theme('cctags_user_page', $content, $pager);
  return $output;
}
function theme_cctags_user_page_content($users, $amount, $page) {
  $output = '';
  $start_user = $amount * $page;
  $end_user = $start_user + $amount;
  $cur_user = 0;
  foreach ($users as $key => $user) {
    if ($cur_user >= $start_user && $cur_user < $end_user || $amount == 0) {
      $output .= theme('cctags_user_item', $user);
    }
    $cur_user++;
  }
  return $output;
}