mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 20:38:52 +00:00
forum_parents made more reliable. Removed the $extra_form_fields parameter from jumpbox routines.
git-svn-id: file:///svn/phpbb/trunk@3739 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
e572edb513
commit
69a854d3ee
2 changed files with 43 additions and 43 deletions
|
@ -106,10 +106,37 @@ function generate_forum_nav(&$forum_data)
|
|||
global $db, $user, $template, $phpEx, $SID;
|
||||
|
||||
// Get forum parents
|
||||
$forum_parents = get_forum_parents($forum_data);
|
||||
|
||||
// Build navigation links
|
||||
foreach ($forum_parents as $parent_forum_id => $parent_name)
|
||||
{
|
||||
$template->assign_block_vars('navlinks', array(
|
||||
'FORUM_NAME' => $parent_name,
|
||||
'U_VIEW_FORUM' => 'viewforum.' . $phpEx . $SID . '&f=' . $parent_forum_id
|
||||
));
|
||||
}
|
||||
$template->assign_block_vars('navlinks', array(
|
||||
'FORUM_NAME' => $forum_data['forum_name'],
|
||||
'U_VIEW_FORUM' => 'viewforum.' . $phpEx . $SID . '&f=' . $forum_data['forum_id']
|
||||
));
|
||||
|
||||
$template->assign_vars(array(
|
||||
'FORUM_ID' => $forum_data['forum_id'],
|
||||
'FORUM_NAME' => $forum_data['forum_name'],
|
||||
'FORUM_DESC' => $forum_data['forum_desc']
|
||||
));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Returns forum parents as an array. Get them from forum_data if available, or update the database otherwise
|
||||
function get_forum_parents($forum_data)
|
||||
{
|
||||
$forum_parents = array();
|
||||
if ($forum_data['parent_id'] > 0)
|
||||
{
|
||||
if (empty($forum_data['forum_parents']))
|
||||
if ($forum_data['forum_parents'] == '')
|
||||
{
|
||||
$sql = 'SELECT forum_id, forum_name
|
||||
FROM ' . FORUMS_TABLE . '
|
||||
|
@ -134,26 +161,7 @@ function generate_forum_nav(&$forum_data)
|
|||
}
|
||||
}
|
||||
|
||||
// Build navigation links
|
||||
foreach ($forum_parents as $parent_forum_id => $parent_name)
|
||||
{
|
||||
$template->assign_block_vars('navlinks', array(
|
||||
'FORUM_NAME' => $parent_name,
|
||||
'U_VIEW_FORUM' => 'viewforum.' . $phpEx . $SID . '&f=' . $parent_forum_id
|
||||
));
|
||||
}
|
||||
$template->assign_block_vars('navlinks', array(
|
||||
'FORUM_NAME' => $forum_data['forum_name'],
|
||||
'U_VIEW_FORUM' => 'viewforum.' . $phpEx . $SID . '&f=' . $forum_data['forum_id']
|
||||
));
|
||||
|
||||
$template->assign_vars(array(
|
||||
'FORUM_ID' => $forum_data['forum_id'],
|
||||
'FORUM_NAME' => $forum_data['forum_name'],
|
||||
'FORUM_DESC' => $forum_data['forum_desc']
|
||||
));
|
||||
|
||||
return;
|
||||
return $forum_parents;
|
||||
}
|
||||
|
||||
// Obtain list of moderators of each forum
|
||||
|
@ -235,11 +243,13 @@ function gen_sort_selects(&$limit_days, &$sort_by_text, &$sort_days, &$sort_key,
|
|||
return;
|
||||
}
|
||||
|
||||
function make_jumpbox($action, $forum_id = false, $extra_form_fields = array())
|
||||
function make_jumpbox($action, $forum_id = false, $enable_select_all = false)
|
||||
{
|
||||
global $auth, $template, $user, $db, $nav_links, $phpEx, $SID;
|
||||
|
||||
$boxstring = '<select name="f" onChange="if(this.options[this.selectedIndex].value != -1){ forms[\'jumpbox\'].submit() }"><option value="-1">' . $user->lang['SELECT_FORUM'] . '</option><option value="-1">-----------------</option>';
|
||||
$boxstring = '<select name="f" onChange="if(this.options[this.selectedIndex].value != -1){ forms[\'jumpbox\'].submit() }">';
|
||||
$boxstring .= ($enable_select_all) ? '<option value="0">' . $user->lang['ALL_FORUMS'] : '<option value="-1">' . $user->lang['SELECT_FORUM'];
|
||||
$boxstring .= '</option><option value="-1">-----------------</option>';
|
||||
|
||||
$sql = 'SELECT forum_id, forum_name, forum_postable, left_id, right_id
|
||||
FROM ' . FORUMS_TABLE . '
|
||||
|
@ -305,12 +315,7 @@ function make_jumpbox($action, $forum_id = false, $extra_form_fields = array())
|
|||
}
|
||||
|
||||
$boxstring .= '</select>';
|
||||
|
||||
$extra_form_fields['sid'] = $user->session_id;
|
||||
foreach ($extra_form_fields as $key => $val)
|
||||
{
|
||||
$boxstring .= '<input type="hidden" name="' . $key . '" value="' . htmlspecialchars($val) . '" />';
|
||||
}
|
||||
$boxstring .= '<input type="hidden" name="sid" value="' . $user->session_id . '" />';
|
||||
|
||||
$template->assign_vars(array(
|
||||
'S_JUMPBOX_SELECT' => $boxstring,
|
||||
|
|
|
@ -297,6 +297,7 @@ function update_last_post_information($type, $id)
|
|||
{
|
||||
case 'forum':
|
||||
$sql_select_add = ', f.forum_parents';
|
||||
// $sql_select_add = ', f.left_id';
|
||||
$sql_table_add = ', ' . FORUMS_TABLE . ' f';
|
||||
$sql_where_add = 'AND (t.forum_id = f.forum_id) AND (f.forum_id = ' . $id . ')';
|
||||
$sql_update_table = FORUMS_TABLE;
|
||||
|
@ -330,16 +331,13 @@ function update_last_post_information($type, $id)
|
|||
case 'forum':
|
||||
// Update forums: last post info, topics, posts ... we need to update
|
||||
// each parent too ...
|
||||
$forum_ids = $id;
|
||||
$forum_parents = trim($row['forum_parents']);
|
||||
|
||||
if ($forum_parents != '')
|
||||
$forum_ids = $id;
|
||||
$forum_parents = get_forum_parents($row);
|
||||
|
||||
foreach ($forum_parents as $parent_forum_id => $parent_name)
|
||||
{
|
||||
$forum_parents = unserialize($forum_parents);
|
||||
foreach ($forum_parents as $parent_forum_id => $parent_name)
|
||||
{
|
||||
$forum_ids .= ', ' . $parent_forum_id;
|
||||
}
|
||||
$forum_ids .= ', ' . $parent_forum_id;
|
||||
}
|
||||
|
||||
$where_clause = 'forum_id IN (' . $forum_ids . ')';
|
||||
|
@ -815,13 +813,10 @@ function submit_post($mode, $message, $subject, $username, $topic_type, $bbcode_
|
|||
// Update forums: last post info, topics, posts ... we need to update
|
||||
// each parent too ...
|
||||
$forum_ids = $post_data['forum_id'];
|
||||
if (!empty($post_data['forum_parents']))
|
||||
$forum_parents = get_forum_parents($post_data);
|
||||
foreach ($forum_parents as $parent_forum_id => $parent_name)
|
||||
{
|
||||
$post_data['forum_parents'] = unserialize($post_data['forum_parents']);
|
||||
foreach ($post_data['forum_parents'] as $parent_forum_id => $parent_name)
|
||||
{
|
||||
$forum_ids .= ', ' . $parent_forum_id;
|
||||
}
|
||||
$forum_ids .= ', ' . $parent_forum_id;
|
||||
}
|
||||
|
||||
$forum_topics_sql = ($mode == 'post') ? ', forum_topics = forum_topics + 1' : '';
|
||||
|
|
Loading…
Add table
Reference in a new issue