function print_block in Printer, email and PDF versions 5.x
Same name and namespace in other branches
- 5.4 print.module \print_block()
- 5.3 print.module \print_block()
- 6 print.module \print_block()
Implementation of hook_block().
File
- ./
print.module, line 224 - Displays Printer-friendly versions of Drupal pages.
Code
function print_block($op = 'list', $delta = 0, $edit = array()) {
switch ($op) {
case 'list':
$block[0]['info'] = t('Printer, e-mail and PDF versions');
$block[0]['cache'] = BLOCK_CACHE_PER_PAGE;
$block[1]['info'] = t('Most printed');
$block[1]['cache'] = BLOCK_CACHE_GLOBAL;
return $block;
break;
case 'configure':
return '';
case 'save':
return;
case 'view':
switch ($delta) {
case 0:
$nid = preg_replace('!^node/!', '', $_GET['q']);
if (is_numeric($nid)) {
$node = node_load($nid);
}
else {
$node = NULL;
}
$funcs = get_defined_functions();
$block['content'] = '';
foreach ($funcs['user'] as $func) {
if (preg_match('!^print.*?_insert_link$!', $func)) {
$link = $func(NULL, $node);
if (!empty($link)) {
$block['content'] .= $link;
}
}
}
break;
case 1:
$block['subject'] = t('Most printed');
$result = db_query_range("SELECT path FROM {print_page_counter} ORDER BY totalcount DESC", 0, 3);
if (db_affected_rows()) {
$block['content'] = '<div class="item-list"><ul>';
while ($obj = db_fetch_object($result)) {
$block['content'] .= '<li>' . l(_print_get_title($obj->path), $obj->path) . '</li>';
}
$block['content'] .= '</ul></div>';
}
break;
}
return $block;
break;
}
}