array('convert_counts' => NULL, 'form' => NULL),
'file' => 'includes/nodecomment.convert.inc',
);
$items['nodecomment_comment_count'] = array(
'arguments' => array('count' => NULL, 'type' => NULL),
'file' => 'includes/nodecomment.theme.inc',
);
$items['nodecomment_new_comment_count'] = array(
'arguments' => array('count' => NULL, 'type' => NULL),
'file' => 'includes/nodecomment.theme.inc',
);
$items['nodecomment_admin_settings_form'] = array(
'arguments' => array('form' => NULL)
);
return $items;
}
/**
* Add some additional suggestions for comment node templates.
*/
function nodecomment_preprocess_node(&$vars) {
// Test to see if it's a comment.
if (isset($vars['node']->comment_target_nid)) {
$node = &$vars['node'];
// First comment checking.
static $first_new = TRUE;
$vars['new'] = '';
$vars['new_class'] = '';
$vars['new_output'] = '';
$vars['first_new'] = '';
$node->new = node_mark($node->comment_target_nid, $node->created);
if ($node->new) {
$vars['new'] = t('new');
$vars['new_class'] = 'comment-new';
$vars['classes'] = (isset($vars['classes']) ? $vars['classes'] . ' ' : '') . 'comment-new';
$vars['new_output'] ='' . $vars['new'] . '';
if ($first_new) {
$vars['first_new'] = "\n";
$first_new = FALSE;
}
}
$query = NULL;
if ($vars['page']) {
$pagenum = nodecomment_page_count($node);
}
else {
$pagenum = !empty($_GET['page']) ? $_GET['page'] : 0;
}
if ($pagenum) {
$query = array('page' => $pagenum);
}
$vars['comment_link'] = l($node->title, 'node/'. $node->comment_target_nid, array('query' => $query, 'fragment' => 'comment-' . $node->nid));
$vars['signature'] = !empty($node->signature) ? theme('user_signature', $node->signature) : '';
}
}
/**
* Return plural form of number of comments.
*
* Use $type to provide different strings per nodetype.
*/
function theme_nodecomment_comment_count($count, $type) {
return format_plural($count, '1 comment', '@count comments');
}
/**
* Return plural form of number of new comments.
*
* Use $type to provide different strings per nodetype.
*/
function theme_nodecomment_new_comment_count($count, $type) {
return format_plural($count, '1 new comment', '@count new comments');
}
/**
* Theme relationships table
*/
function theme_nodecomment_admin_settings_form($form) {
$rows = array();
foreach (element_children($form['rows']) as $type) {
$cells = $form['rows'][$type];
foreach (element_children($cells) as $col) {
$rows[$type][$col] = drupal_render($cells[$col]);
}
}
unset($form['rows']);
$header = $form['#header'];
unset($form['#header']);
$attributes = array(
'id' => 'nodecomment-admin-settings-table',
);
$output = drupal_render($form['top']);
$output .= theme('table', $header, $rows, $attributes);
$output .= drupal_render($form['bottom']);
return $output . drupal_render($form);
}