View source
<?php
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;
}