function custom_pagers_nodeapi in Custom Pagers 6
Same name and namespace in other branches
- 5 custom_pagers.module \custom_pagers_nodeapi()
File
- ./
custom_pagers.module, line 63 - Allows administrators to define context-sensitive previous/next pagers for any node type.
Code
function custom_pagers_nodeapi(&$node, $op, $teaser, $page) {
switch ($op) {
case 'view':
// We want to make sure we don't try to output when print.module is active.
// It's a bit of special casing but it doesn't do much harm.
if ($teaser == FALSE && empty($node->printing)) {
$node->custom_pagers = _custom_pagers_load_all_pagers();
foreach ($node->custom_pagers as $pager) {
if ($pager->position != 'block' && _custom_pagers_visibility($pager, $node)) {
$nav_array = custom_pager_build_nav($pager, $node);
if ($nav_array['current_index'] != -1) {
switch ($pager->position) {
case 'top':
$node->content['custom_pager_top'][$pager->pid] = array(
'#value' => theme('custom_pager', $nav_array, $node, $pager, 'top'),
);
break;
case 'bottom':
$node->content['custom_pager_bottom'][$pager->pid] = array(
'#value' => theme('custom_pager', $nav_array, $node, $pager, 'bottom'),
);
break;
case 'both':
$node->content['custom_pager_top'][$pager->pid] = array(
'#value' => theme('custom_pager', $nav_array, $node, $pager, 'top'),
);
$node->content['custom_pager_bottom'][$pager->pid] = array(
'#value' => theme('custom_pager', $nav_array, $node, $pager, 'bottom'),
);
break;
}
}
}
}
if (isset($node->content['custom_pager_top'])) {
$node->content['custom_pager_top']['#weight'] = -100;
}
if (isset($node->content['custom_pager_bottom'])) {
$node->content['custom_pager_bottom']['#weight'] = 100;
}
}
break;
}
}