function print_link in Printer, email and PDF versions 5.4
Same name and namespace in other branches
- 5 print.module \print_link()
- 5.2 print.module \print_link()
- 5.3 print.module \print_link()
- 6 print.module \print_link()
- 5.x print.module \print_link()
Implementation of hook_link().
File
- ./
print.module, line 220 - Displays Printer-friendly versions of Drupal pages.
Code
function print_link($type, $node = NULL, $teaser = FALSE) {
// Prevent links from being shown for event nodes when in calendar view
if (preg_match('!^event_node!', $type)) {
return;
}
$print_html_link_pos = variable_get('print_html_link_pos', array(
PRINT_HTML_LINK_POS_DEFAULT => PRINT_HTML_LINK_POS_DEFAULT,
));
$print_html_link_use_alias = variable_get('print_html_link_use_alias', PRINT_HTML_LINK_USE_ALIAS_DEFAULT);
$allowed_type = print_link_allowed(array(
'type' => $type,
'node' => $node,
'teaser' => $teaser,
));
if ($allowed_type === PRINT_ALLOW_NORMAL_LINK && !isset($node->parent) && !empty($print_html_link_pos['link'])) {
drupal_add_css(drupal_get_path('module', 'print') . '/css/printlinks.css');
$links = array();
$format = theme('print_format_link');
$query_arr = $_GET;
if ($type == 'comment') {
$query_arr['comment'] = $node->cid;
}
$query = print_query_string_encode($query_arr, array(
'q',
));
if (empty($query)) {
$query = NULL;
}
if ($print_html_link_use_alias) {
$path = drupal_get_path_alias('node/' . $node->nid);
}
else {
$path = $node->nid;
}
$links['print_html'] = array(
'href' => PRINT_PATH . '/' . $path,
'title' => $format['text'],
'attributes' => $format['attributes'],
'html' => $format['html'],
'query' => $query,
);
return $links;
}
else {
return;
}
}