Calling all Drupal developers!
Help us get this on the first page of Digg. DIGG NOW!
Help us get this on the first page of Digg. DIGG NOW!
trackback_block($op = 'list', $delta = 0, $edit = array())
contributions/trackback/trackback.module, line 408
<?php
function trackback_block($op = 'list', $delta = 0, $edit = array()) {
if ($op == 'list') {
$blocks[0]['info'] = t('Recent trackbacks');
if (variable_get('trackback_view', 0) == 2) {
$blocks[1]['info'] = t('Trackbacks');
$blocks[1]['cache'] = BLOCK_CACHE_PER_PAGE | BLOCK_CACHE_PER_ROLE;
}
return $blocks;
}
if ($delta == 0) {
switch ($op) {
case 'configure':
$form['trackback_display_number'] = array(
'#type' => 'select',
'#title' => t('Number of trackbacks to display'),
'#default_value' => variable_get('trackback_display_number', 10),
'#options' => drupal_map_assoc(array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30)),
'#description' => t('How many trackbacks are displayed in the recent trackbacks block')
);
return $form;
case 'save':
variable_set('trackback_display_number', $edit['trackback_display_number']);
break;
case 'view':
$result = db_query_range('SELECT * FROM {trackback_received} WHERE status=1 ORDER BY created DESC', 0, variable_get('trackback_display_number', 10));
$items = array();
while ($tb = db_fetch_object($result)) {
$items[] = _trackback_path($tb, truncate_utf8($tb->subject, 128, FALSE, TRUE)) .'<br />'. t('%time ago', array('%time' => format_interval(time() - $tb->created)));
}
$block['subject'] = t('Recent trackbacks');
$block['content'] = theme('item_list', $items);
return $block;
}
}
else if ($op == 'view' && variable_get('trackback_view', 0) == 2) {
if (arg(0) == 'node' && is_numeric(arg(1)) && is_null(arg(2))) {
$node = node_load(arg(1));
if (isset($node->can_receive) and node_access('view', $node) and $block['content'] = trackback_render($node)) {
$block['subject'] = t('Trackbacks');
return $block;
}
}
}
}
?>