<?php?>
Здравствуйте
Подскажите пжл где копать или решение проблемы, при входе на форум
Notice: Undefined property: stdClass::$new_posts_path в функции theme_advanced_forum_subforum_list() (строка 143 в файле /home/u11943/domains/reshuzadachi.by/sites/all/modules/advanced_forum/includes/theme.inc).
Комментарии
<?php /**
* @file
* Holds theme functions and template preprocesses.
* Other style related functions are in style.inc
*/
/**
function theme_advanced_forum_l(&$variables) {* Theme function to display a link, optionally buttonized.
*/
$text = $variables['text'];
$path = empty($variables['path']) ? NULL : $variables['path'];
$options = empty($variables['options']) ? array() : $variables['options'];
$button_class = empty($variables['button_class']) ? NULL : $variables['button_class'];
if (!isset($options['attributes'])) {
$options['attributes'] = array();
}
if (!is_null($button_class)) {
// Buttonized link: add our button class and the span.
if (!isset($options['attributes']['class'])) {
$options['attributes']['class'] = array("af-button-$button_class");
}
else {
$options['attributes']['class'][] = "af-button-$button_class";
}
$options['html'] = TRUE;
// @codingStandardsIgnoreStart
$l = l('<span>' . $text . '</span>', $path, $options);
// @codingStandardsIgnoreEnd
}
else {
// Standard link: just send it through l().
$l = l($text, $path, $options);
}
return
$l;} /**
* Theme function to show list of types that can be posted in forum.
*/
function theme_advanced_forum_node_type_create_list(&$variables) {
$forum_id = $variables['forum_id'];
$type_list = advanced_forum_node_type_create_list($forum_id);
if (is_array($type_list)) {
foreach ($type_list as $type => $item) {
$output .= '<div class="forum-add-node forum-add-' . $type . '">';
$output .= theme('advanced_forum_l', array(
'text' => t('New @node_type', array('@node_type' => $item['name'])),
'path' => $item['href'],
'options' => NULL,
'button_class' => 'large',
));
$output .= '</div>';
}
}
else {
// User did not have access to create any node types in this fourm so
// we just return the denial text / login prompt.
$output = $type_list;
}
return
$output;} /**
* Theme function to show simple author pane when not using Author Pane.
*/
function theme_advanced_forum_simple_author_pane(&$variables) {
$context = $variables['context'];
// Sending the context rather than the account makes it work for anon comments.
$name = theme('username', array('account' => $context));
$picture = theme('user_picture', array('account' => $account));
return
'<div class="author-pane">' . $name . $picture . '</div>';} /**
* Theme function to format the reply link at the top/bottom of topic.
*/
function theme_advanced_forum_reply_link(&$variables) {
$node = $variables['node'];
// so if the user is allowed to.
$reply_link = advanced_forum_get_reply_link($node);
if (
is_array($reply_link)) {// Reply is allowed. Variable contains the link information.
$output = '<div class="topic-reply-allowed">';
$output .= theme('advanced_forum_l', array(
'text' => $reply_link['title'],
'path' => $reply_link['href'],
'options' => $reply_link['options'],
'button_class' => 'large',
));
$output .= '</div>';
return $output;
}
elseif ($reply_link == 'reply-locked') {
// @TODO: The double span here is icky but I don't know how else to get
// around the fact that there's no "a" to put the button class on.
return '<div class="topic-reply-locked"><span class="af-button-large"><span>' . t('Topic locked') . '</span></span></div>';
}
elseif ($reply_link == 'reply-forbidden') {
// User is not allowed to reply to this topic.
return theme('comment_post_forbidden', array('node' => $node));
}
} /**
* Theme function to a formatted list of subforums.
*
* @param array $variables
* Array of subforums.
*
* @return string
* Formatted list of subforums.
*/
function theme_advanced_forum_subforum_list(&$variables) {
$subforums = array();
foreach ($variables['subforum_list'] as $tid => $subforum) {
// Note: $subforum->name has not been run through check_plain because
// it ends up going through there when l() is called without the HTML
// option. If you change this to set HTML to TRUE, you must sanitize it.
$text = l($subforum->name, "forum/$tid");
$text .= ' (' . $subforum->total_posts;
if (empty(
$subforum->new_posts)) {$text .= ')';
}
else {
$text .= ' - ' . l($subforum->new_posts_text, $subforum->new_posts_path, array('fragment' => 'new')) . ')';
}
}
return implode(', ', $subforums);
} /**
* Theme function to a formatted list of subcontainers.
*
* @param array $variables
* Array of subcontainers.
*
* @return string
* Formatted list of subcontainers.
*/
function theme_advanced_forum_subcontainer_list(&$variables) {
$subcontainers = array();
foreach ($variables['subcontainer_list'] as $tid => $subcontainer) {
// Note: $subcontainer->name has not been run through check_plain because
// it ends up going through there when l() is called without the HTML
// option. If you change this to set HTML to TRUE, you must sanitize it.
$text = l($subcontainer->name, "forum/$tid");
$text .= ' (' . $subcontainer->total_posts;
if (empty(
$subcontainer->new_posts)) {$text .= ')';
}
else {
$text .= ' - ' . l($subforum->new_posts_text, $subforum->new_posts_path, array('fragment' => 'new')) . ')';
}
}
return
implode(', ', $subcontainers);} // TEMPLATE PREPROCESS ******************************************************/
/* * * FORUM OVERVIEW & TOPIC LIST PAGES ************************************* */
/**
function advanced_forum_preprocess_forums(&$variables) {* Preprocesses template variables for the forum template.
*/
include_once drupal_get_path('module', 'advanced_forum') . '/includes/advanced_forum_preprocess_forums.inc';
_advanced_forum_preprocess_forums($variables);
} /**
* Preprocesses template variables for the forum search form template.
*/
function advanced_forum_preprocess_advanced_forum_search_forum(&$variables) {
advanced_forum_add_template_suggestions("search_forum", $variables);
$variables['path'] = url('forum/search');
} /**
* Preprocesses template variables for the search results template.
*/
function advanced_forum_preprocess_views_view_fields__advanced_forum_search(&$variables) {
_advanced_forum_add_files();
advanced_forum_add_template_suggestions("search_result", $variables);
} /**
* Preprocesses template variables for the submitted by/in template.
*/
function advanced_forum_preprocess_forum_submitted(&$variables) {
advanced_forum_add_template_suggestions("submitted", $variables);
// Avoid E_ALL warning.
$variables['topic_link'] = '';
if (isset(
$variables['topic']->node_title)) {$nid = $variables['topic']->nid;
$node = new stdClass();
$node->nid = $nid;
$node->type = $variables['topic']->type;
$comment_count = db_query('SELECT COUNT(cid) FROM {comment} WHERE nid = :nid', array(':nid' => $nid))->fetchField();
$new_replies = advanced_forum_reply_num_new($nid);
$query = advanced_forum_page_first_new($comment_count, $new_replies, $node);
$title_length = variable_get('advanced_forum_topic_title_length', 15);
if ($title_length == 0) {
$short_topic_title = $variables['topic']->node_title;
}
else {
$short_topic_title = truncate_utf8($variables['topic']->node_title, $title_length, TRUE, TRUE);
}
$variables['topic_link_query'] = $query;
$variables['topic_link'] = l($short_topic_title, "node/$nid", array('query' => $query, 'fragment' => $fragment));
}
if (isset(
$variables['topic']->created)) {$timestamp = $variables['topic']->created;
$interval = REQUEST_TIME - $timestamp;
$variables['time'] = format_interval($interval);
$cutoff = variable_get('advanced_forum_time_ago_cutoff', 48) * 60 * 60;
if ($interval > $cutoff) {
$variables['date_posted'] = format_date($timestamp, 'short');
}
else {
unset($variables['date_posted']);
}
}
} /**
* Preprocess forum topic pager.
*/
function advanced_forum_preprocess_advanced_forum_topic_pager(&$variables) {
$pagecount = $variables['pagecount'];
$topic = $variables['topic'];
// the following properties:
// - initial_pages: Array of linked numbers for first set of pages
// - last_page_text: Linked text "Last page" (translatable)
// - last_page_number: Linked number pointing to the last page.
$topic_pager = advanced_forum_create_topic_pager($pagecount, $topic);
if (!empty(
$topic_pager->initial_pages)) {$variables['pages'] = $topic_pager->initial_pages;
if (!empty($topic_pager->last_page_text)) {
$variables['last_page'] = $topic_pager->last_page;
$variables['last_page_text'] = $topic_pager->last_page_text;
$variables['last_page_number'] = $topic_pager->last_page_number;
// $topic_pager->last_page_text with $topic_pager->last_page_number
$variables['last_page_text'] = ' … ' . $topic_pager->last_page_text;
}
}
} /**
* Preprocess variables for advanced-forum.naked.post-edited.tpl.php.
*/
function advanced_forum_preprocess_advanced_forum_post_edited(&$variables) {
$editor = user_load($variables['who']);
$variables['edited_datetime'] = format_date($variables['when'], 'custom', variable_get('date_format_short', 'm/d/Y - H:i'));
$variables['edited_reason'] = empty($variables['why']) ? '' : $variables['why'];
} /**
* Preprocess forum shadow topic.
*/
function advanced_forum_preprocess_advanced_forum_shadow_topic(&$variables) {
$nid = $variables['nid'];
// Compatibility variable.
$variables['new_forum_link'] = l(t('View topic'), "node/$nid");
} /* * * JUST FORUM OVERVIEW PAGE ********************************************** */
/**
function advanced_forum_preprocess_advanced_forum_forum_legend(&$variables) {* Preprocesses template variables for the forum legend template.
*/
advanced_forum_add_template_suggestions("forum_legend", $variables);
} /**
* Preprocesses template variables for the forum statistics template.
*/
function advanced_forum_preprocess_advanced_forum_statistics(&$variables) {
advanced_forum_add_template_suggestions("statistics", $variables);
$variables['posts'] = advanced_forum_statistics_replies() + $variables['topics'];
$variables['users'] = advanced_forum_statistics_users();
$variables['online_users'] = implode(', ', $authenticated_users);
$variables['current_users'] = advanced_forum_session_count(FALSE);
// For backwards compatibility.
$variables['current_guests'] = 0;
$variables['current_total'] = $variables['current_users'] + $variables['current_guests'];
$variables['latest_users'] = implode(', ', $latest_users);
} /**
* Preprocesses template variables for the forum list template.
*/
function advanced_forum_preprocess_forum_list(&$variables) {
include_once drupal_get_path('module', 'advanced_forum') . '/includes/advanced_forum_preprocess_forum_list.inc';
_advanced_forum_preprocess_forum_list($variables);
} /* * * JUST TOPIC LIST PAGES ************************************************* */
/**
function advanced_forum_preprocess_views_view__advanced_forum_topic_list(&$variables) {* Preprocess views forum topic list.
*/
_advanced_forum_add_files();
advanced_forum_add_template_suggestions("topic_list_outer_view", $variables);
$variables['forum_tools'] = '';
$variables['forum_jump'] = '';
if (!empty(
$menu_item) && $menu_item['access']) {if (($menu_item['map'][0] == 'forum') && (!empty($menu_item['map'][1]))) {
$forum = $menu_item['map'][1];
if ($forum->vid == variable_get('forum_nav_vocabulary') && $forum->tid > 0) {
$variables['node_create_list'] = theme('advanced_forum_node_type_create_list', array('forum_id' => $forum->tid));
$variables['forum_description'] = $forum->description;
$variables['forum_tools'] = advanced_forum_forum_tools($forum->tid);
$variables['forum_jump'] = advanced_forum_forum_jump($forum->tid);
}
}
}
} /**
* Display a view as a forum topic list style.
*/
function template_preprocess_advanced_forum_topic_list_view(&$variables) {
include_once drupal_get_path('module', 'advanced_forum') . '/includes/template_preprocess_advanced_forum_topic_list_view.inc';
_template_preprocess_advanced_forum_topic_list_view($variables);
} /**
* Preprocesses template variables for the topic list template.
*/
function advanced_forum_preprocess_forum_topic_list(&$variables) {
advanced_forum_add_template_suggestions("topic_list", $variables);
} /**
* Preprocesses template variables for the forum icon template.
*/
function advanced_forum_preprocess_forum_icon(&$variables) {
advanced_forum_add_template_suggestions("topic_icon", $variables);
} /**
* Preprocesses template variables for the topic legend template.
*/
function advanced_forum_preprocess_advanced_forum_topic_legend(&$variables) {
advanced_forum_add_template_suggestions("topic_legend", $variables);
} /* * * TOPIC PAGES *********************************************************** */
/**
* Preprocess forum search topic.
*/
function advanced_forum_preprocess_advanced_forum_search_topic(&$variables) {
advanced_forum_add_template_suggestions("search_topic", $variables);
} /**
* Preprocess views forum search topic.
*/
function advanced_forum_preprocess_views_view_fields__advanced_forum_search_topic(&$variables) {
_advanced_forum_add_files();
advanced_forum_add_template_suggestions("search_result", $variables);
} /**
* Preprocesses template variables for the topic header template.
*/
function advanced_forum_preprocess_advanced_forum_topic_header(&$variables) {
advanced_forum_add_template_suggestions("topic_header", $variables);
$variables['reply_link'] = theme('advanced_forum_reply_link', array('node' => $node));
$posts = (empty($variables['comment_count'])) ? 1 : $variables['comment_count'] + 1;
$variables['total_posts_count'] = format_plural($posts, '1 post', '@count posts');
$variables['new_posts_count'] = advanced_forum_reply_num_new($node->nid);
$variables['first_new_post_link'] = '';
if ($posts > 1) {
$variables['first_new_post_link'] = advanced_forum_first_new_post_link($variables['node'], $variables['comment_count']);
}
$variables['last_post_link'] = advanced_forum_last_post_link($node);
if (isset($variables['node']->comment_count)) {
pager_default_initialize($variables['node']->comment_count, variable_get('comment_default_per_page_' . $variables['node']->type, 50));
}
} /**
* Preprocesses template variables for the active poster template.
*/
function advanced_forum_preprocess_advanced_forum_active_poster(&$variables) {
advanced_forum_add_template_suggestions("active_poster", $variables);
$variables['picture'] = theme('advanced_forum_user_picture', array('account' => $variables['account']));
$variables['last_post_title'] = l($node->title, "node/$node->nid");
$variables['last_post_date'] = format_date($node->created);
} /**
* Preprocesses template variables for the author pane.
*/
function advanced_forum_preprocess_author_pane(&$variables) {
// Author pane is used in various places. Check the caller to make sure
// we are the one that called it.
if (!empty($variables['caller']) && $variables['caller'] == 'advanced_forum') {
advanced_forum_add_template_suggestions("author_pane", $variables);
}
} /**
* Preprocesses template variables for the page template.
*/
function advanced_forum_preprocess_page(&$variables) {
if (arg(0) == 'forum') {
$variables['forum_page'] = TRUE;
}
elseif (arg(0) == 'node' && !empty($variables['node']) && advanced_forum_type_is_in_forum($variables['node']->type)) {
$variables['forum_page'] = TRUE;
}
} /**
* Preprocesses template variables for the node template.
*/
function advanced_forum_preprocess_node(&$variables) {
if (advanced_forum_is_styled($variables['node'], $variables['teaser'], 'node')) {
include_once drupal_get_path('module', 'advanced_forum') . '/includes/advanced_forum_preprocess_node.inc';
_advanced_forum_preprocess_node($variables);
}
} /**
* Preprocess comment wrapper.
*/
function advanced_forum_preprocess_comment_wrapper(&$variables) {
$variables['reply_link'] = '';
if (advanced_forum_is_styled($variables['node'], FALSE, 'comment-wrapper')) {
advanced_forum_add_template_suggestions("advanced_forum_comment_wrapper", $variables);
if (
$form_on_seperate_page || $comments_locked) {// If the post is locked or the comment form is on a seperate page,
// build the reply/locked link / button.
$variables['reply_link'] = theme('advanced_forum_reply_link', array('node' => $variables['node']));
}
}
} /**
* Preprocesses template variables for the comment template.
*/
function advanced_forum_preprocess_comment(&$variables) {
if (advanced_forum_is_styled($variables['comment'], FALSE, 'comment')) {
include_once drupal_get_path('module', 'advanced_forum') . '/includes/advanced_forum_preprocess_comment.inc';
_advanced_forum_preprocess_comment($variables);
}
} /* * * ORGANIC GROUPS ******************************************************** */
/**
* Preprocess view forum group list.
*/
function advanced_forum_preprocess_views_view__advanced_forum_group_topic_list(&$variables) {
_advanced_forum_add_files();
advanced_forum_add_template_suggestions("group_topic_list_outer_view", $variables);
$variables['topic_legend'] = theme('advanced_forum_topic_legend');
} ?>