本文整理汇总了PHP中get_forum_parents函数的典型用法代码示例。如果您正苦于以下问题:PHP get_forum_parents函数的具体用法?PHP get_forum_parents怎么用?PHP get_forum_parents使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_forum_parents函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generate_forum_nav
/**
* Create forum navigation links for given forum, create parent
* list if currently null, assign basic forum info to template
*/
function generate_forum_nav(&$forum_data)
{
global $db, $user, $template, $auth, $config;
global $phpEx, $phpbb_root_path;
if (!$auth->acl_get('f_list', $forum_data['forum_id'])) {
return;
}
// Get forum parents
$forum_parents = get_forum_parents($forum_data);
// Build navigation links
if (!empty($forum_parents)) {
foreach ($forum_parents as $parent_forum_id => $parent_data) {
list($parent_name, $parent_type) = array_values($parent_data);
// Skip this parent if the user does not have the permission to view it
if (!$auth->acl_get('f_list', $parent_forum_id)) {
continue;
}
$template->assign_block_vars('navlinks', array('S_IS_CAT' => $parent_type == FORUM_CAT ? true : false, 'S_IS_LINK' => $parent_type == FORUM_LINK ? true : false, 'S_IS_POST' => $parent_type == FORUM_POST ? true : false, 'FORUM_NAME' => $parent_name, 'FORUM_ID' => $parent_forum_id, 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.{$phpEx}", 'f=' . $parent_forum_id)));
}
}
$template->assign_block_vars('navlinks', array('S_IS_CAT' => $forum_data['forum_type'] == FORUM_CAT ? true : false, 'S_IS_LINK' => $forum_data['forum_type'] == FORUM_LINK ? true : false, 'S_IS_POST' => $forum_data['forum_type'] == FORUM_POST ? true : false, 'FORUM_NAME' => $forum_data['forum_name'], 'FORUM_ID' => $forum_data['forum_id'], 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.{$phpEx}", 'f=' . $forum_data['forum_id'])));
$template->assign_vars(array('FORUM_ID' => $forum_data['forum_id'], 'FORUM_NAME' => $forum_data['forum_name'], 'FORUM_DESC' => generate_text_for_display($forum_data['forum_desc'], $forum_data['forum_desc_uid'], $forum_data['forum_desc_bitfield'], $forum_data['forum_desc_options']), 'S_ENABLE_FEEDS_FORUM' => $config['feed_forum'] && !phpbb_optionget(FORUM_OPTION_FEED_EXCLUDE, $forum_data['forum_options']) ? true : false));
return;
}
示例2: generate_forum_nav
/**
* Create forum navigation links for given forum, create parent
* list if currently null, assign basic forum info to template
*/
function generate_forum_nav(&$forum_data)
{
global $db, $user, $template, $auth, $config;
global $phpEx, $phpbb_root_path, $phpbb_dispatcher;
if (!$auth->acl_get('f_list', $forum_data['forum_id'])) {
return;
}
$navlinks = $navlinks_parents = $forum_template_data = array();
// Get forum parents
$forum_parents = get_forum_parents($forum_data);
$microdata_attr = 'data-forum-id';
// Build navigation links
if (!empty($forum_parents)) {
foreach ($forum_parents as $parent_forum_id => $parent_data) {
list($parent_name, $parent_type) = array_values($parent_data);
// Skip this parent if the user does not have the permission to view it
if (!$auth->acl_get('f_list', $parent_forum_id)) {
continue;
}
$navlinks_parents[] = array('S_IS_CAT' => $parent_type == FORUM_CAT ? true : false, 'S_IS_LINK' => $parent_type == FORUM_LINK ? true : false, 'S_IS_POST' => $parent_type == FORUM_POST ? true : false, 'FORUM_NAME' => $parent_name, 'FORUM_ID' => $parent_forum_id, 'MICRODATA' => $microdata_attr . '="' . $parent_forum_id . '"', 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.{$phpEx}", 'f=' . $parent_forum_id));
}
}
$navlinks = array('S_IS_CAT' => $forum_data['forum_type'] == FORUM_CAT ? true : false, 'S_IS_LINK' => $forum_data['forum_type'] == FORUM_LINK ? true : false, 'S_IS_POST' => $forum_data['forum_type'] == FORUM_POST ? true : false, 'FORUM_NAME' => $forum_data['forum_name'], 'FORUM_ID' => $forum_data['forum_id'], 'MICRODATA' => $microdata_attr . '="' . $forum_data['forum_id'] . '"', 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.{$phpEx}", 'f=' . $forum_data['forum_id']));
$forum_template_data = array('FORUM_ID' => $forum_data['forum_id'], 'FORUM_NAME' => $forum_data['forum_name'], 'FORUM_DESC' => generate_text_for_display($forum_data['forum_desc'], $forum_data['forum_desc_uid'], $forum_data['forum_desc_bitfield'], $forum_data['forum_desc_options']), 'S_ENABLE_FEEDS_FORUM' => $config['feed_forum'] && $forum_data['forum_type'] == FORUM_POST && !phpbb_optionget(FORUM_OPTION_FEED_EXCLUDE, $forum_data['forum_options']) ? true : false);
/**
* Event to modify the navlinks text
*
* @event core.generate_forum_nav
* @var array forum_data Array with the forum data
* @var array forum_template_data Array with generic forum template data
* @var string microdata_attr The microdata attribute
* @var array navlinks_parents Array with the forum parents navlinks data
* @var array navlinks Array with the forum navlinks data
* @since 3.1.5-RC1
*/
$vars = array('forum_data', 'forum_template_data', 'microdata_attr', 'navlinks_parents', 'navlinks');
extract($phpbb_dispatcher->trigger_event('core.generate_forum_nav', compact($vars)));
$template->assign_block_vars_array('navlinks', $navlinks_parents);
$template->assign_block_vars('navlinks', $navlinks);
$template->assign_vars($forum_template_data);
return;
}
示例3: display_recent_topics
//.........这里部分代码省略.........
$sql_array = array('SELECT' => 't.*, tp.topic_posted, f.forum_name', 'FROM' => array(TOPICS_TABLE => 't'), 'LEFT_JOIN' => array(array('FROM' => array(TOPICS_POSTED_TABLE => 'tp'), 'ON' => 't.topic_id = tp.topic_id AND tp.user_id = ' . $this->user->data['user_id']), array('FROM' => array(FORUMS_TABLE => 'f'), 'ON' => 'f.forum_id = t.forum_id')), 'WHERE' => $this->db->sql_in_set('t.topic_id', $topic_list), 'ORDER_BY' => 't.' . $sort_topics . ' DESC');
if ($display_parent_forums) {
$sql_array['SELECT'] .= ', f.parent_id, f.forum_parents, f.left_id, f.right_id';
}
/**
* Event to modify the SQL query before the topics data is retrieved
*
* @event paybas.recenttopics.sql_pull_topics_data
* @var array sql_array The SQL array
* @since 2.0.0
*/
$vars = array('sql_array');
extract($this->dispatcher->trigger_event('paybas.recenttopics.sql_pull_topics_data', compact($vars)));
$sql = $this->db->sql_build_query('SELECT', $sql_array);
$result = $this->db->sql_query_limit($sql, $topics_per_page);
$rowset = $topic_icons = array();
while ($row = $this->db->sql_fetchrow($result)) {
$rowset[] = $row;
}
$this->db->sql_freeresult($result);
// No topics returned by the DB
if (!sizeof($rowset)) {
return;
}
/**
* Event to modify the topics list data before we start the display loop
*
* @event paybas.recenttopics.modify_topics_list
* @var array topic_list Array of all the topic IDs
* @var array rowset The full topics list array
* @since 2.0.1
*/
$vars = array('topic_list', 'rowset');
extract($this->dispatcher->trigger_event('paybas.recenttopics.modify_topics_list', compact($vars)));
foreach ($rowset as $row) {
$topic_id = $row['topic_id'];
$forum_id = $row['forum_id'];
$s_type_switch_test = $row['topic_type'] == POST_ANNOUNCE || $row['topic_type'] == POST_GLOBAL ? 1 : 0;
//$replies = ($this->auth->acl_get('m_approve', $forum_id)) ? $row['topic_replies_real'] : $row['topic_replies'];
$replies = $this->content_visibility->get_count('topic_posts', $row, $forum_id) - 1;
if ($unread_only) {
topic_status($row, $replies, true, $folder_img, $folder_alt, $topic_type);
$unread_topic = true;
} else {
topic_status($row, $replies, isset($topic_tracking_info[$forum_id][$row['topic_id']]) && $row['topic_last_post_time'] > $topic_tracking_info[$forum_id][$row['topic_id']] ? true : false, $folder_img, $folder_alt, $topic_type);
$unread_topic = isset($topic_tracking_info[$forum_id][$row['topic_id']]) && $row['topic_last_post_time'] > $topic_tracking_info[$forum_id][$row['topic_id']] ? true : false;
}
$view_topic_url = append_sid("{$this->root_path}viewtopic.{$this->phpEx}", 'f=' . $forum_id . '&t=' . $topic_id);
$view_forum_url = append_sid("{$this->root_path}viewforum.{$this->phpEx}", 'f=' . $forum_id);
$topic_unapproved = $row['topic_visibility'] == ITEM_UNAPPROVED && $this->auth->acl_get('m_approve', $forum_id);
$posts_unapproved = $row['topic_visibility'] == ITEM_APPROVED && $row['topic_posts_unapproved'] && $this->auth->acl_get('m_approve', $forum_id);
$u_mcp_queue = $topic_unapproved || $posts_unapproved ? append_sid("{$this->root_path}mcp.{$this->phpEx}", 'i=queue&mode=' . ($topic_unapproved ? 'approve_details' : 'unapproved_posts') . "&t={$topic_id}", true, $this->user->session_id) : '';
$s_type_switch = $row['topic_type'] == POST_ANNOUNCE || $row['topic_type'] == POST_GLOBAL ? 1 : 0;
if (!empty($icons[$row['icon_id']])) {
$topic_icons[] = $topic_id;
}
// Get folder img, topic status/type related information
$folder_img = $folder_alt = $topic_type = '';
topic_status($row, $replies, $unread_topic, $folder_img, $folder_alt, $topic_type);
$tpl_ary = array('FORUM_ID' => $forum_id, 'TOPIC_ID' => $topic_id, 'TOPIC_AUTHOR' => get_username_string('username', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'TOPIC_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'TOPIC_AUTHOR_FULL' => get_username_string('full', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'FIRST_POST_TIME' => $this->user->format_date($row['topic_time']), 'LAST_POST_SUBJECT' => censor_text($row['topic_last_post_subject']), 'LAST_POST_TIME' => $this->user->format_date($row['topic_last_post_time']), 'LAST_VIEW_TIME' => $this->user->format_date($row['topic_last_view_time']), 'LAST_POST_AUTHOR' => get_username_string('username', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR_FULL' => get_username_string('full', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'REPLIES' => $replies, 'VIEWS' => $row['topic_views'], 'TOPIC_TITLE' => censor_text($row['topic_title']), 'FORUM_NAME' => $row['forum_name'], 'TOPIC_TYPE' => $topic_type, 'TOPIC_IMG_STYLE' => $folder_img, 'TOPIC_FOLDER_IMG' => $this->user->img($folder_img, $folder_alt), 'TOPIC_FOLDER_IMG_ALT' => $this->user->lang[$folder_alt], 'TOPIC_ICON_IMG' => !empty($icons[$row['icon_id']]) ? $icons[$row['icon_id']]['img'] : '', 'TOPIC_ICON_IMG_WIDTH' => !empty($icons[$row['icon_id']]) ? $icons[$row['icon_id']]['width'] : '', 'TOPIC_ICON_IMG_HEIGHT' => !empty($icons[$row['icon_id']]) ? $icons[$row['icon_id']]['height'] : '', 'ATTACH_ICON_IMG' => $this->auth->acl_get('u_download') && $this->auth->acl_get('f_download', $forum_id) && $row['topic_attachment'] ? $this->user->img('icon_topic_attach', $this->user->lang['TOTAL_ATTACHMENTS']) : '', 'UNAPPROVED_IMG' => $topic_unapproved || $posts_unapproved ? $this->user->img('icon_topic_unapproved', $topic_unapproved ? 'TOPIC_UNAPPROVED' : 'POSTS_UNAPPROVED') : '', 'REPORTED_IMG' => $row['topic_reported'] && $this->auth->acl_get('m_report', $forum_id) ? $this->user->img('icon_topic_reported', 'TOPIC_REPORTED') : '', 'S_HAS_POLL' => $row['poll_start'] ? true : false, 'S_TOPIC_TYPE' => $row['topic_type'], 'S_USER_POSTED' => isset($row['topic_posted']) && $row['topic_posted'] ? true : false, 'S_UNREAD_TOPIC' => $unread_topic, 'S_TOPIC_REPORTED' => $row['topic_reported'] && $this->auth->acl_get('m_report', $forum_id) ? true : false, 'S_TOPIC_UNAPPROVED' => $topic_unapproved, 'S_POSTS_UNAPPROVED' => $posts_unapproved, 'S_POST_ANNOUNCE' => $row['topic_type'] == POST_ANNOUNCE ? true : false, 'S_POST_GLOBAL' => $row['topic_type'] == POST_GLOBAL ? true : false, 'S_POST_STICKY' => $row['topic_type'] == POST_STICKY ? true : false, 'S_TOPIC_LOCKED' => $row['topic_status'] == ITEM_LOCKED ? true : false, 'S_TOPIC_MOVED' => $row['topic_status'] == ITEM_MOVED ? true : false, 'S_TOPIC_TYPE_SWITCH' => $s_type_switch == $s_type_switch_test ? -1 : $s_type_switch_test, 'U_NEWEST_POST' => $view_topic_url . '&view=unread#unread', 'U_LAST_POST' => $view_topic_url . '&p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'], 'U_LAST_POST_AUTHOR' => get_username_string('profile', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'U_TOPIC_AUTHOR' => get_username_string('profile', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'U_VIEW_TOPIC' => $view_topic_url, 'U_VIEW_FORUM' => $view_forum_url, 'U_MCP_REPORT' => append_sid("{$this->root_path}mcp.{$this->phpEx}", 'i=reports&mode=reports&f=' . $forum_id . '&t=' . $topic_id, true, $this->user->session_id), 'U_MCP_QUEUE' => $u_mcp_queue);
/**
* Modify the topic data before it is assigned to the template
*
* @event paybas.recenttopics.modify_tpl_ary
* @var array row Array with topic data
* @var array tpl_ary Template block array with topic data
* @since 2.0.0
*/
$vars = array('row', 'tpl_ary');
extract($this->dispatcher->trigger_event('paybas.recenttopics.modify_tpl_ary', compact($vars)));
$this->template->assign_block_vars($tpl_loopname, $tpl_ary);
$this->pagination->generate_template_pagination($view_topic_url, $tpl_loopname . '.pagination', 'start', $replies + 1, $this->config['posts_per_page'], 1, true, true);
if ($display_parent_forums) {
$forum_parents = get_forum_parents($row);
foreach ($forum_parents as $parent_id => $data) {
$this->template->assign_block_vars($tpl_loopname . '.parent_forums', array('FORUM_ID' => $parent_id, 'FORUM_NAME' => $data[0], 'U_VIEW_FORUM' => append_sid("{$this->root_path}viewforum.{$this->phpEx}", 'f=' . $parent_id)));
}
}
}
// Get URL-parameters for pagination
$url_params = explode('&', $this->user->page['query_string']);
$append_params = false;
foreach ($url_params as $param) {
if (!$param) {
continue;
}
if (strpos($param, '=') === false) {
// Fix MSSTI Advanced BBCode MOD
$append_params[$param] = '1';
continue;
}
list($name, $value) = explode('=', $param);
if ($name != $tpl_loopname . '_start') {
$append_params[$name] = $value;
}
}
$pagination_url = append_sid($this->root_path . $this->user->page['page_name'], $append_params);
$this->pagination->generate_template_pagination($pagination_url, 'rt_pagination', $tpl_loopname . '_start', $topics_count, $topics_per_page, $start);
$this->template->assign_vars(array('RT_SORT_START_TIME' => $sort_topics === 'topic_time' ? true : false, 'S_TOPIC_ICONS' => sizeof($topic_icons) ? true : false, 'NEWEST_POST_IMG' => $this->user->img('icon_topic_newest', 'VIEW_NEWEST_POST'), 'LAST_POST_IMG' => $this->user->img('icon_topic_latest', 'VIEW_LATEST_POST'), 'POLL_IMG' => $this->user->img('icon_topic_poll', 'TOPIC_POLL'), strtoupper($tpl_loopname) . '_DISPLAY' => true));
}
示例4: array
$template->assign_block_vars('topicrow', array('FORUM_ID' => $topic_forum_id, 'TOPIC_ID' => $topic_id, 'TOPIC_AUTHOR' => get_username_string('username', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'TOPIC_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'TOPIC_AUTHOR_FULL' => get_username_string('full', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'FIRST_POST_TIME' => $user->format_date($row['topic_time']), 'LAST_POST_SUBJECT' => censor_text($row['topic_last_post_subject']), 'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']), 'LAST_VIEW_TIME' => $user->format_date($row['topic_last_view_time']), 'LAST_POST_AUTHOR' => get_username_string('username', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR_FULL' => get_username_string('full', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'PAGINATION' => topic_generate_pagination($replies, $view_topic_url), 'REPLIES' => $replies, 'VIEWS' => $row['topic_views'], 'TOPIC_TITLE' => censor_text($row['topic_title']), 'TOPIC_TYPE' => $topic_type, 'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt), 'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'), 'TOPIC_FOLDER_IMG_ALT' => $user->lang[$folder_alt], 'TOPIC_FOLDER_IMG_WIDTH' => $user->img($folder_img, '', false, '', 'width'), 'TOPIC_FOLDER_IMG_HEIGHT' => $user->img($folder_img, '', false, '', 'height'), 'TOPIC_ICON_IMG' => !empty($icons[$row['icon_id']]) ? $icons[$row['icon_id']]['img'] : '', 'TOPIC_ICON_IMG_WIDTH' => !empty($icons[$row['icon_id']]) ? $icons[$row['icon_id']]['width'] : '', 'TOPIC_ICON_IMG_HEIGHT' => !empty($icons[$row['icon_id']]) ? $icons[$row['icon_id']]['height'] : '', 'ATTACH_ICON_IMG' => $auth->acl_get('u_download') && $auth->acl_get('f_download', $topic_forum_id) && $row['topic_attachment'] ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '', 'UNAPPROVED_IMG' => $topic_unapproved || $posts_unapproved ? $user->img('icon_topic_unapproved', $topic_unapproved ? 'TOPIC_UNAPPROVED' : 'POSTS_UNAPPROVED') : '', 'S_TOPIC_TYPE' => $row['topic_type'], 'S_USER_POSTED' => isset($row['topic_posted']) && $row['topic_posted'] ? true : false, 'S_UNREAD_TOPIC' => $unread_topic, 'S_TOPIC_REPORTED' => !empty($row['topic_reported']) && $auth->acl_get('m_report', $topic_forum_id) ? true : false, 'S_TOPIC_UNAPPROVED' => $topic_unapproved, 'S_POSTS_UNAPPROVED' => $posts_unapproved, 'S_HAS_POLL' => $row['poll_start'] ? true : false, 'S_POST_ANNOUNCE' => $row['topic_type'] == POST_ANNOUNCE ? true : false, 'S_POST_GLOBAL' => $row['topic_type'] == POST_GLOBAL ? true : false, 'S_POST_STICKY' => $row['topic_type'] == POST_STICKY ? true : false, 'S_TOPIC_LOCKED' => $row['topic_status'] == ITEM_LOCKED ? true : false, 'S_TOPIC_MOVED' => $row['topic_status'] == ITEM_MOVED ? true : false, 'U_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.{$phpEx}", $view_topic_url_params . '&view=unread') . '#unread', 'U_LAST_POST' => append_sid("{$phpbb_root_path}viewtopic.{$phpEx}", $view_topic_url_params . '&p=' . $row['topic_last_post_id']) . '#p' . $row['topic_last_post_id'], 'U_LAST_POST_AUTHOR' => get_username_string('profile', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'U_TOPIC_AUTHOR' => get_username_string('profile', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'U_VIEW_TOPIC' => $view_topic_url, 'U_MCP_REPORT' => append_sid("{$phpbb_root_path}mcp.{$phpEx}", 'i=reports&mode=reports&f=' . $topic_forum_id . '&t=' . $topic_id, true, $user->session_id), 'U_MCP_QUEUE' => $u_mcp_queue, 'S_TOPIC_TYPE_SWITCH' => $s_type_switch == $s_type_switch_test ? -1 : $s_type_switch_test));
$s_type_switch = $row['topic_type'] == POST_ANNOUNCE || $row['topic_type'] == POST_GLOBAL ? 1 : 0;
if ($unread_topic) {
$mark_forum_read = false;
}
unset($rowset[$topic_id]);
}
}
// This is rather a fudge but it's the best I can think of without requiring information
// on all topics (as we do in 2.0.x). It looks for unread or new topics, if it doesn't find
// any it updates the forum last read cookie. This requires that the user visit the forum
// after reading a topic
if ($forum_data['forum_type'] == FORUM_POST && sizeof($topic_list) && $mark_forum_read) {
update_forum_tracking_info($forum_id, $forum_data['forum_last_post_time'], false, $mark_time_forum);
}
$parents = get_forum_parents($forum_data);
$array = array();
foreach ($parents as $key => $value) {
$array[] = $key;
}
$category_id = $array[0];
$region_id = $array[1];
/**
* Selecting the banners
*/
$sql = "\n\tSELECT *\n\tFROM acp_banners\n\tWHERE forum_id = '{$region_id}' \n\tAND category_id = '{$category_id}'\n";
$result = $db->sql_query($sql);
$banners = $db->sql_fetchrow($result);
if ($banners) {
$newBanners = array();
foreach ($banners as $key => $value) {
示例5: display_recent_topics
//.........这里部分代码省略.........
$forums[$row['forum_id']]['topic_list'][] = $row['topic_id'];
$forums[$row['forum_id']]['rowset'][$row['topic_id']] =& $rowset[$row['topic_id']];
if ($row['icon_id'] && $auth->acl_get('f_icons', $row['forum_id'])) {
$obtain_icons = true;
}
}
}
$db->sql_freeresult($result);
// No topics to display
if (!sizeof($topic_ids)) {
return;
}
// Grab icons
if ($obtain_icons) {
$icons = $cache->obtain_icons();
} else {
$icons = array();
}
// Borrowed from search.php
foreach ($forums as $forum_id => $forum) {
if ($user->data['is_registered'] && $config['load_db_lastread']) {
$topic_tracking_info[$forum_id] = get_topic_tracking($forum_id, $forum['topic_list'], $forum['rowset'], array($forum_id => $forum['mark_time']), $forum_id ? false : $forum['topic_list']);
} else {
if ($config['load_anon_lastread'] || $user->data['is_registered']) {
$tracking_topics = isset($_COOKIE[$config['cookie_name'] . '_track']) ? STRIP ? stripslashes($_COOKIE[$config['cookie_name'] . '_track']) : $_COOKIE[$config['cookie_name'] . '_track'] : '';
$tracking_topics = $tracking_topics ? tracking_unserialize($tracking_topics) : array();
$topic_tracking_info[$forum_id] = get_complete_topic_tracking($forum_id, $forum['topic_list'], $forum_id ? false : $forum['topic_list']);
if (!$user->data['is_registered']) {
$user->data['user_lastmark'] = isset($tracking_topics['l']) ? (int) (base_convert($tracking_topics['l'], 36, 10) + $config['board_startdate']) : 0;
}
}
}
}
// Now only pull the data of the requested topics
$sql_query_array = array('SELECT' => 't.*, tp.topic_posted, f.forum_name', 'FROM' => array(TOPICS_TABLE => 't'), 'LEFT_JOIN' => array(array('FROM' => array(TOPICS_POSTED_TABLE => 'tp'), 'ON' => 't.topic_id = tp.topic_id AND tp.user_id = ' . $user->data['user_id']), array('FROM' => array(FORUMS_TABLE => 'f'), 'ON' => 'f.forum_id = t.forum_id')), 'WHERE' => $db->sql_in_set('t.topic_id', $topic_ids), 'ORDER_BY' => 't.topic_last_post_time DESC');
if ($display_parent_forums) {
$sql_query_array['SELECT'] .= ', f.parent_id, f.forum_parents, f.left_id, f.right_id';
}
$sql = $db->sql_build_query('SELECT', $sql_query_array);
$result = $db->sql_query_limit($sql, $topics_per_page);
$topic_icons = array();
while ($row = $db->sql_fetchrow($result)) {
$topic_id = $row['topic_id'];
$forum_id = $row['forum_id'];
// Cheat for Global Announcements on the unread-link: copied from search.php
if (!$forum_id && !$ga_forum_id) {
$sql2 = 'SELECT forum_id
FROM ' . FORUMS_TABLE . '
WHERE forum_type = ' . FORUM_POST . '
AND ' . $db->sql_in_set('forum_id', $forum_ary, false, true);
$result2 = $db->sql_query_limit($sql2, 1);
$ga_forum_id = (int) $db->sql_fetchfield('forum_id');
$db->sql_freeresult($result2);
$forum_id = $ga_forum_id;
} else {
if (!$forum_id && $ga_forum_id) {
$forum_id = $ga_forum_id;
}
}
$s_type_switch_test = $row['topic_type'] == POST_ANNOUNCE || $row['topic_type'] == POST_GLOBAL ? 1 : 0;
$replies = $auth->acl_get('m_approve', $forum_id) ? $row['topic_replies_real'] : $row['topic_replies'];
topic_status($row, $replies, isset($topic_tracking_info[$forum_id][$row['topic_id']]) && $row['topic_last_post_time'] > $topic_tracking_info[$forum_id][$row['topic_id']] ? true : false, $folder_img, $folder_alt, $topic_type);
$unread_topic = isset($topic_tracking_info[$forum_id][$row['topic_id']]) && $row['topic_last_post_time'] > $topic_tracking_info[$forum_id][$row['topic_id']] ? true : false;
$view_topic_url = append_sid("{$phpbb_root_path}viewtopic.{$phpEx}", 'f=' . $forum_id . '&t=' . $topic_id);
$view_forum_url = append_sid("{$phpbb_root_path}viewforum.{$phpEx}", 'f=' . $forum_id);
$topic_unapproved = !$row['topic_approved'] && $auth->acl_get('m_approve', $forum_id) ? true : false;
$posts_unapproved = $row['topic_approved'] && $row['topic_replies'] < $row['topic_replies_real'] && $auth->acl_get('m_approve', $forum_id) ? true : false;
$u_mcp_queue = $topic_unapproved || $posts_unapproved ? append_sid("{$phpbb_root_path}mcp.{$phpEx}", 'i=queue&mode=' . ($topic_unapproved ? 'approve_details' : 'unapproved_posts') . "&t={$topic_id}", true, $user->session_id) : '';
$s_type_switch = $row['topic_type'] == POST_ANNOUNCE || $row['topic_type'] == POST_GLOBAL ? 1 : 0;
if (!empty($icons[$row['icon_id']])) {
$topic_icons[] = $topic_id;
}
$template->assign_block_vars($tpl_loopname, array('FORUM_ID' => $forum_id, 'TOPIC_ID' => $topic_id, 'TOPIC_AUTHOR_FULL' => get_username_string('full', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'FIRST_POST_TIME' => $user->format_date($row['topic_time']), 'LAST_POST_SUBJECT' => censor_text($row['topic_last_post_subject']), 'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']), 'LAST_VIEW_TIME' => $user->format_date($row['topic_last_view_time']), 'LAST_POST_AUTHOR' => get_username_string('username', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR_FULL' => get_username_string('full', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'PAGINATION' => topic_generate_pagination($replies, $view_topic_url), 'REPLIES' => $replies, 'VIEWS' => $row['topic_views'], 'TOPIC_TITLE' => censor_text($row['topic_title']), 'FORUM_NAME' => $row['forum_name'], 'TOPIC_TYPE' => $topic_type, 'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt), 'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'), 'TOPIC_FOLDER_IMG_ALT' => $user->lang[$folder_alt], 'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'), 'TOPIC_ICON_IMG' => !empty($icons[$row['icon_id']]) ? $icons[$row['icon_id']]['img'] : '', 'TOPIC_ICON_IMG_WIDTH' => !empty($icons[$row['icon_id']]) ? $icons[$row['icon_id']]['width'] : '', 'TOPIC_ICON_IMG_HEIGHT' => !empty($icons[$row['icon_id']]) ? $icons[$row['icon_id']]['height'] : '', 'ATTACH_ICON_IMG' => $auth->acl_get('u_download') && $auth->acl_get('f_download', $forum_id) && $row['topic_attachment'] ? $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']) : '', 'UNAPPROVED_IMG' => $topic_unapproved || $posts_unapproved ? $user->img('icon_topic_unapproved', $topic_unapproved ? 'TOPIC_UNAPPROVED' : 'POSTS_UNAPPROVED') : '', 'REPORTED_IMG' => $row['topic_reported'] && $auth->acl_get('m_report', $forum_id) ? $user->img('icon_topic_reported', 'TOPIC_REPORTED') : '', 'S_TOPIC_TYPE' => $row['topic_type'], 'S_USER_POSTED' => isset($row['topic_posted']) && $row['topic_posted'] ? true : false, 'S_UNREAD_TOPIC' => $unread_topic, 'S_TOPIC_REPORTED' => $row['topic_reported'] && $auth->acl_get('m_report', $forum_id) ? true : false, 'S_TOPIC_UNAPPROVED' => $topic_unapproved, 'S_POSTS_UNAPPROVED' => $posts_unapproved, 'S_HAS_POLL' => $row['poll_start'] ? true : false, 'S_POST_ANNOUNCE' => $row['topic_type'] == POST_ANNOUNCE ? true : false, 'S_POST_GLOBAL' => $row['topic_type'] == POST_GLOBAL ? true : false, 'S_POST_STICKY' => $row['topic_type'] == POST_STICKY ? true : false, 'S_TOPIC_LOCKED' => $row['topic_status'] == ITEM_LOCKED ? true : false, 'S_TOPIC_MOVED' => $row['topic_status'] == ITEM_MOVED ? true : false, 'S_TOPIC_TYPE_SWITCH' => $s_type_switch == $s_type_switch_test ? -1 : $s_type_switch_test, 'U_NEWEST_POST' => $view_topic_url . '&view=unread#unread', 'U_LAST_POST' => $view_topic_url . '&p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'], 'U_LAST_POST_AUTHOR' => get_username_string('profile', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'U_TOPIC_AUTHOR' => get_username_string('profile', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']), 'U_VIEW_TOPIC' => $view_topic_url, 'U_VIEW_FORUM' => $view_forum_url, 'U_MCP_REPORT' => append_sid("{$phpbb_root_path}mcp.{$phpEx}", 'i=reports&mode=reports&f=' . $forum_id . '&t=' . $topic_id, true, $user->session_id), 'U_MCP_QUEUE' => $u_mcp_queue));
if ($display_parent_forums) {
$forum_parents = get_forum_parents($row);
foreach ($forum_parents as $parent_id => $data) {
$template->assign_block_vars($tpl_loopname . '.parent_forums', array('FORUM_ID' => $parent_id, 'FORUM_NAME' => $data[0], 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.{$phpEx}", 'f=' . $parent_id)));
}
}
}
$db->sql_freeresult($result);
// Get URL-parameters for pagination
$url_params = explode('&', $user->page['query_string']);
$append_params = false;
foreach ($url_params as $param) {
if (!$param) {
continue;
}
if (strpos($param, '=') === false) {
// Fix MSSTI Advanced BBCode MOD
$append_params[$param] = '1';
continue;
}
list($name, $value) = explode('=', $param);
if ($name != $tpl_loopname . '_start') {
$append_params[$name] = $value;
}
}
$template->assign_vars(array('S_TOPIC_ICONS' => sizeof($topic_icons) ? true : false, 'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'), 'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'), strtoupper($tpl_loopname) . '_DISPLAY' => true, strtoupper($tpl_loopname) . '_PAGE_NUMBER' => on_page($num_topics, $topics_per_page, $start), strtoupper($tpl_loopname) . '_PAGINATION' => recent_topics_generate_pagination(append_sid($phpbb_root_path . $user->page['page_name'], $append_params), $num_topics, $topics_per_page, $start, false, strtoupper($tpl_loopname), $tpl_loopname . '_start', $tpl_loopname)));
}
示例6: generate_forum_nav
function generate_forum_nav(&$forum_data)
{
global $_CLASS;
// Get forum parents
$forum_parents = get_forum_parents($forum_data);
// Build navigation links
foreach ($forum_parents as $parent_forum_id => $parent_data) {
list($parent_name, $parent_type) = array_values($parent_data);
$_CLASS['core_template']->assign_vars_array('navlinks', array('S_IS_CAT' => $parent_type == FORUM_CAT ? true : false, 'S_IS_LINK' => $parent_type == FORUM_LINK ? true : false, 'S_IS_POST' => $parent_type == FORUM_POST ? true : false, 'FORUM_NAME' => $parent_name, 'FORUM_ID' => $parent_forum_id, 'U_VIEW_FORUM' => generate_link('Forums&file=viewforum&f=' . $parent_forum_id)));
}
$_CLASS['core_template']->assign_vars_array('navlinks', array('S_IS_CAT' => $forum_data['forum_type'] == FORUM_CAT ? true : false, 'S_IS_LINK' => $forum_data['forum_type'] == FORUM_LINK ? true : false, 'S_IS_POST' => $forum_data['forum_type'] == FORUM_POST ? true : false, 'FORUM_NAME' => $forum_data['forum_name'], 'FORUM_ID' => $forum_data['forum_id'], 'U_VIEW_FORUM' => generate_link('Forums&file=viewforum&f=' . $forum_data['forum_id'])));
$_CLASS['core_template']->assign_array(array('FORUM_ID' => $forum_data['forum_id'], 'FORUM_NAME' => $forum_data['forum_name'], 'FORUM_DESC' => strip_tags($forum_data['forum_desc'])));
return;
}
示例7: fetch_topics
//.........这里部分代码省略.........
switch ($topic['topic_type']) {
case POST_GLOBAL:
$topic_type = $user->lang['VIEW_TOPIC_GLOBAL'];
$folder = 'global_read';
$folder_new = 'global_unread';
break;
case POST_ANNOUNCE:
$topic_type = $user->lang['VIEW_TOPIC_ANNOUNCEMENT'];
$folder = 'announce_read';
$folder_new = 'announce_unread';
break;
case POST_STICKY:
$topic_type = $user->lang['VIEW_TOPIC_STICKY'];
$folder = 'sticky_read';
$folder_new = 'sticky_unread';
break;
default:
$topic_type = '';
$folder = 'topic_read';
$folder_new = 'topic_unread';
// Hot topic threshold is for posts in a topic, which is replies + the first post. ;)
if ($config['hot_threshold'] && $replies + 1 >= $config['hot_threshold'] && $topic['topic_status'] != ITEM_LOCKED) {
$folder .= '_hot';
$folder_new .= '_hot';
}
break;
}
if ($topic['topic_status'] == ITEM_LOCKED) {
$topic_type = $user->lang['VIEW_TOPIC_LOCKED'];
$folder .= '_locked';
$folder_new .= '_locked';
}
if (array_key_exists($topic['topic_id'], $unreadlist)) {
$folder_img = $folder_new;
$folder_alt = 'UNREAD_POSTS';
$topic['unread'] = true;
} else {
$topic['unread'] = false;
$folder_img = $folder;
$folder_alt = $topic['topic_status'] == ITEM_LOCKED ? 'TOPIC_LOCKED' : 'NO_UNREAD_POSTS';
}
// Posted image?
if (!empty($topic['topic_posted']) && $topic['topic_posted']) {
$folder_img .= '_mine';
}
}
if ($topic['poll_start'] && $topic['topic_status'] != ITEM_MOVED) {
$topic_type = $user->lang['VIEW_TOPIC_POLL'];
}
// Trim the topic title and add ellipse
if ($num_chars != 0 and strlen($topic['topic_title']) > $num_chars) {
$topic['topic_title'] = substr($topic['topic_title'], 0, $num_chars) . '...';
}
$icons = array();
if ($topic['icon_id'] && $auth->acl_get('f_icons', $topic['forum_id'])) {
$icons = $cache->obtain_icons();
}
$attachmenticon = '';
//can user download ?
if ($auth->acl_get('u_download') && $auth->acl_get('f_download', $topic['forum_id'])) {
//does post have attachments ?
if ($topic['topic_attachment']) {
$attachmenticon = $user->img('icon_topic_attach', $user->lang['TOTAL_ATTACHMENTS']);
}
}
$topics[$i]['topic_first_poster_colour'] = $topic['topic_first_poster_colour'];
$topics[$i]['topic_first_poster_name'] = $topic['topic_first_poster_name'];
$topics[$i]['topic_poster'] = $topic['topic_poster'];
$topics[$i]['forum_id'] = $topic['forum_id'];
$topics[$i]['post_id'] = $topic['topic_last_post_id'];
$topics[$i]['post_unread'] = $topic['unread'];
$topics[$i]['topic_id'] = $topic['topic_id'];
$topics[$i]['topic_folder_img'] = $user->img($folder_img, $folder_alt);
$topics[$i]['topic_folder_img_src'] = $user->img($folder_img, $folder_alt, false, '', 'src');
$topics[$i]['topic_folder_img_alt'] = $user->lang[$folder_alt];
$topics[$i]['topic_img'] = !empty($icons[$topic['icon_id']]) ? $icons[$topic['icon_id']]['img'] : '';
$topics[$i]['topic_img_width'] = !empty($icons[$topic['icon_id']]) ? $icons[$topic['icon_id']]['width'] : '';
$topics[$i]['topic_img_heigth'] = !empty($icons[$topic['icon_id']]) ? $icons[$topic['icon_id']]['height'] : '';
$topics[$i]['topic_title'] = $topic['topic_title'];
$topics[$i]['topic_last_post_id'] = $topic['topic_last_post_id'];
$topics[$i]['topic_last_post_time'] = $user->format_date($topic['topic_last_post_time']);
$topics[$i]['user_link'] = get_username_string('full', $topic['topic_last_poster_id'], $topic['topic_last_poster_name'], $topic['topic_last_poster_colour']);
$topics[$i]['topic_unapproved'] = $topic_moderation;
$topics[$i]['posts_unapproved'] = $posts_moderation;
$topics[$i]['topic_reported'] = $topic['topic_reported'] && $auth->acl_get('m_report', $topic['forum_id']) ? true : false;
$topics[$i]['unapproved_img'] = $topic_moderation || $posts_moderation ? $user->img('icon_topic_unapproved', $topic_moderation ? 'TOPIC_UNAPPROVED' : 'POSTS_UNAPPROVED') : '';
$topics[$i]['u_mcp_report'] = append_sid("{$phpbb_root_path}mcp.{$phpEx}", 'i=reports&mode=reports&f=' . $topic['forum_id'] . '&t=' . $topic['topic_id'], true, $user->session_id);
$topics[$i]['u_mcp_queue'] = $u_mcp_queue;
$topics[$i]['reported_img'] = $topic['topic_reported'] && $auth->acl_get('m_report', $topic['forum_id']) ? $user->img('icon_topic_reported', 'TOPIC_REPORTED') : '';
$topics[$i]['view_forum_url'] = $view_forum_url;
$topics[$i]['forum_name'] = $topic['forum_name'];
$topics[$i]['attach_icon'] = $attachmenticon;
$topics[$i]['forum_parents'] = \get_forum_parents($topic);
$i++;
}
if (!empty($icons[$topic['icon_id']])) {
$template->assign_vars(array('S_TOPIC_ICONS' => true));
}
return $topics;
}
示例8: generate_forum_nav
function generate_forum_nav(&$forum_data)
{
global $db, $user, $template, $phpEx, $phpbb_root_path;
// Get forum parents
$forum_parents = get_forum_parents($forum_data);
// Build navigation links
foreach ($forum_parents as $parent_forum_id => $parent_data) {
list($parent_name, $parent_type) = array_values($parent_data);
$template->assign_block_vars('navlinks', array('S_IS_CAT' => $parent_type == FORUM_CAT ? true : false, 'S_IS_LINK' => $parent_type == FORUM_LINK ? true : false, 'S_IS_POST' => $parent_type == FORUM_POST ? true : false, 'FORUM_NAME' => $parent_name, 'FORUM_ID' => $parent_forum_id, 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.{$phpEx}?f={$parent_forum_id}")));
}
$template->assign_block_vars('navlinks', array('S_IS_CAT' => $forum_data['forum_type'] == FORUM_CAT ? true : false, 'S_IS_LINK' => $forum_data['forum_type'] == FORUM_LINK ? true : false, 'S_IS_POST' => $forum_data['forum_type'] == FORUM_POST ? true : false, 'FORUM_NAME' => $forum_data['forum_name'], 'FORUM_ID' => $forum_data['forum_id'], 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.{$phpEx}?f=" . $forum_data['forum_id'])));
$template->assign_vars(array('FORUM_ID' => $forum_data['forum_id'], 'FORUM_NAME' => $forum_data['forum_name'], 'FORUM_DESC' => strip_tags($forum_data['forum_desc'])));
return;
}
示例9: newpost2mail
function newpost2mail($data)
{
global $config, $mode, $user, $post_data, $phpEx, $phpbb_root_path, $db;
$version = "beta 21";
// variables that can be used in newpost2mail.config.php to build an individial subject line
$post_SITENAME = $config['sitename'];
$post_FORUMNAME = $data['forum_name'];
$post_MODE = $mode;
$post_TOPICTITLE = $data['topic_title'];
$post_SUBJECT = $post_data['post_subject'];
$post_USERNAME = $user->data['username'];
$post_IP = $data['poster_ip'];
$post_HOST = @gethostbyaddr($post_IP);
// 3rd party edit?
if ($mode == "edit" and $post_data[username] != $user->data['username']) {
$post_EDITOR = $user->data['username'];
$post_USERNAME = $post_data[username];
}
// get forum parents
foreach (get_forum_parents($post_data) as $temp) {
$post_FORUMPARENTS .= $temp["0"] . " / ";
$post_FORUMPARENTS_laquo .= $temp["0"] . " « ";
}
// read configuration
include $phpbb_root_path . 'newpost2mail.config.php';
// check if the actual mode is set for sending mails
if ($n2m_MAIL_ON[$mode]) {
// if there is a language set in newpost2mail.config.php then use that setting.
// Otherwise read default language from board config and use that.
$n2m_LANG ? $lang = $n2m_LANG : ($lang = $config['default_lang']);
// get (translated) phrases and convert them to UTF8
foreach ($n2m_TEXT[en] as $key => $value) {
if ($n2m_TEXT[$lang][$key]) {
$phrase[$key] = utf8_encode($n2m_TEXT[$lang][$key]);
} else {
$phrase[$key] = utf8_encode($n2m_TEXT[en][$key]);
}
}
// set variables for later use
$board_url = generate_board_url();
if (substr($board_url, -1) != "/") {
$board_url .= "/";
}
$forum_url = $board_url . "viewforum.php?f={$data['forum_id']}";
$thread_url = $board_url . "viewtopic.php?f={$data['forum_id']}&t={$data['topic_id']}";
$post_url = $board_url . "viewtopic.php?f={$data['forum_id']}&t={$data['topic_id']}&p={$data['post_id']}#p{$data['post_id']}";
$u_profile_url = $board_url . "memberlist.php?mode=viewprofile&u={$post_data['poster_id']}";
$e_profile_url = $board_url . "memberlist.php?mode=viewprofile&u={$post_data['post_edit_user']}";
$reply_url = $board_url . "posting.php?mode=reply&f={$data['forum_id']}&t={$data['topic_id']}";
$edit_url = $board_url . "posting.php?mode=edit&f={$data['forum_id']}&p={$data['post_id']}";
$quote_url = $board_url . "posting.php?mode=quote&f={$data['forum_id']}&p={$data['post_id']}";
$delete_url = $board_url . "posting.php?mode=delete&f={$data['forum_id']}&p={$data['post_id']}";
$info_url = $board_url . "mcp.php?i=main&mode=post_details&f={$data['forum_id']}&p={$data['post_id']}";
$pm_url = $board_url . "ucp.php?i=pm&mode=compose&action=quotepost&p={$data['post_id']}";
$email_url = $board_url . "memberlist.php?mode=email&u={$post_data['poster_id']}";
// build the email header
include_once $phpbb_root_path . 'includes/functions_messenger.' . $phpEx;
$headers .= "Date: " . date("D, j M Y H:i:s O") . "\n";
$from = html_entity_decode($user->data['username']) . " <" . (($user->data['user_allow_viewemail'] or $n2m_ALWAYS_SHOW_EMAIL) ? $user->data['user_email'] : $user->data['username'] . "@aegee.org") . ">";
$headers .= "From: " . Mail_mimePart::encodeHeader("from", $from, "UTF-8") . "\n";
$headers .= "X-Mailer: newpost2mail {$version} for phpBB3\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-type: text/plain; charset=UTF-8; format=flowed\n";
// build the email body
$message = html_entity_decode(str_replace("<br />", "<br />\n", generate_text_for_edit($data[message], $data[bbcode_uid], $post_data[forum_desc_options])["text"]) . "\n\n");
//convert BBCode to text/plain; format=flowed
require_once 'JBBCode/Parser.php';
class QuoteWithOption extends JBBCode\CodeDefinition
{
public function __construct()
{
parent::__construct();
$this->setTagName("quote");
$this->useOption = true;
}
public function asHtml(JBBCode\ElementNode $el)
{
$result = "\nQuote from " . $el->getAttribute()["quote"] . ":\n";
foreach (preg_split("/\\R/", $this->getContent($el)) as $line) {
$result .= "> " . $line . "\n";
}
return $result . "\n";
}
}
class QuoteWithoutOption extends JBBCode\CodeDefinition
{
public function __construct()
{
parent::__construct();
$this->setTagName("quote");
}
public function asHtml(JBBCode\ElementNode $el)
{
$result = "\n";
foreach (preg_split("/\\R/", $this->getContent($el)) as $line) {
$result .= "> " . $line . "\n";
}
return $result . "\n";
}
}
//.........这里部分代码省略.........
示例10: generate_forum_nav
/**
* Create forum navigation links for given forum, create parent
* list if currently null, assign basic forum info to template
*/
function generate_forum_nav(&$forum_data)
{
global $_CLASS;
if (!$_CLASS['forums_auth']->acl_get('f_list', $forum_data['forum_id'])) {
return;
}
// Get forum parents
$forum_parents = get_forum_parents($forum_data);
// Build navigation links
foreach ($forum_parents as $parent_forum_id => $parent_data) {
list($parent_name, $parent_type) = array_values($parent_data);
// Skip this parent if the user does not have the permission to view it
if (!$_CLASS['forums_auth']->acl_get('f_list', $parent_forum_id)) {
continue;
}
$_CLASS['core_template']->assign_vars_array('navlinks', array('S_IS_CAT' => $parent_type == FORUM_CAT ? true : false, 'S_IS_LINK' => $parent_type == FORUM_LINK ? true : false, 'S_IS_POST' => $parent_type == FORUM_POST ? true : false, 'FORUM_NAME' => $parent_name, 'FORUM_ID' => $parent_forum_id, 'U_VIEW_FORUM' => generate_link('forums&file=viewforum&f=' . $parent_forum_id)));
}
$_CLASS['core_template']->assign_vars_array('navlinks', array('S_IS_CAT' => $forum_data['forum_type'] == FORUM_CAT ? true : false, 'S_IS_LINK' => $forum_data['forum_type'] == FORUM_LINK ? true : false, 'S_IS_POST' => $forum_data['forum_type'] == FORUM_POST ? true : false, 'FORUM_NAME' => $forum_data['forum_name'], 'FORUM_ID' => $forum_data['forum_id'], 'U_VIEW_FORUM' => generate_link('forums&file=viewforum&f=' . $forum_data['forum_id'])));
$_CLASS['core_template']->assign_array(array('FORUM_ID' => $forum_data['forum_id'], 'FORUM_NAME' => $forum_data['forum_name'], 'FORUM_DESC' => generate_text_for_display($forum_data['forum_desc'], $forum_data['forum_desc_uid'], $forum_data['forum_desc_bitfield'], $forum_data['forum_desc_options'])));
return;
}