Fixed, hopefully, jumpbox indentation issues

git-svn-id: file:///svn/phpbb/trunk@3977 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Paul S. Owen 2003-05-04 15:09:16 +00:00
parent 3e2e39d336
commit bd17c362c1
2 changed files with 18 additions and 15 deletions

View file

@ -264,13 +264,14 @@ function make_jumpbox($action, $forum_id = false, $select_all = false)
global $auth, $template, $user, $db, $nav_links, $phpEx, $SID; global $auth, $template, $user, $db, $nav_links, $phpEx, $SID;
$boxstring = ''; $boxstring = '';
$sql = 'SELECT forum_id, forum_name, forum_type, left_id, right_id $sql = 'SELECT forum_id, forum_name, parent_id, forum_type, left_id, right_id
FROM ' . FORUMS_TABLE . ' FROM ' . FORUMS_TABLE . '
ORDER BY left_id ASC'; ORDER BY left_id ASC';
$result = $db->sql_query($sql, 600); $result = $db->sql_query($sql, 600);
$right = $cat_right = 0; $right = $cat_right = $padding_inc = 0;
$padding = $forum_list = $holding = ''; $padding = $forum_list = $holding = '';
$padding_store = array('0' => '');
while ($row = $db->sql_fetchrow($result)) while ($row = $db->sql_fetchrow($result))
{ {
if ($row['forum_type'] == FORUM_CAT && ($row['left_id'] + 1 == $row['right_id'])) if ($row['forum_type'] == FORUM_CAT && ($row['left_id'] + 1 == $row['right_id']))
@ -287,11 +288,12 @@ function make_jumpbox($action, $forum_id = false, $select_all = false)
if ($row['left_id'] < $right) if ($row['left_id'] < $right)
{ {
$padding .= '&nbsp; &nbsp;'; $padding .= '&nbsp; &nbsp; &nbsp;';
$padding_store[$row['parent_id']] = $padding;
} }
else if ($row['left_id'] > $right + 1) else if ($row['left_id'] > $right + 1)
{ {
$padding = substr($padding, 0, -13 * ($row['left_id'] - $right + 1)); $padding = $padding_store[$row['parent_id']];
} }
$right = $row['right_id']; $right = $row['right_id'];
@ -307,11 +309,11 @@ function make_jumpbox($action, $forum_id = false, $select_all = false)
{ {
$cat_right = max($cat_right, $row['right_id']); $cat_right = max($cat_right, $row['right_id']);
$holding .= '<option value="' . $row['forum_id'] . '"' . $selected . '>' . $padding . '+ ' . $row['forum_name'] . '</option>'; $holding .= '<option value="' . $row['forum_id'] . '"' . $selected . '>' . $padding . $row['forum_name'] . '</option>';
} }
else else
{ {
$boxstring .= $holding . '<option value="' . $row['forum_id'] . '"' . $selected . '>' . $padding . '- ' . $row['forum_name'] . '</option>'; $boxstring .= $holding . '<option value="' . $row['forum_id'] . '"' . $selected . '>' . $padding . $row['forum_name'] . '</option>';
$holding = ''; $holding = '';
} }
@ -321,6 +323,7 @@ function make_jumpbox($action, $forum_id = false, $select_all = false)
); );
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
unset($padding_store);
if ($boxstring != '') if ($boxstring != '')
{ {

View file

@ -24,12 +24,12 @@ function make_forum_select($select_id = false, $ignore_id = false, $ignore_acl =
{ {
global $db, $user, $auth; global $db, $user, $auth;
$right = $cat_right = 0;
$forum_list = $padding = $holding = '';
$acl = ($ignore_acl) ? '' : array('f_list', 'a_forum', 'a_forumadd', 'a_forumdel'); $acl = ($ignore_acl) ? '' : array('f_list', 'a_forum', 'a_forumadd', 'a_forumdel');
$rowset = get_forum_list($acl, false, $ignore_nonpost, true); $rowset = get_forum_list($acl, false, $ignore_nonpost, true);
$right = $cat_right = 0;
$forum_list = $padding = $holding = '';
$padding_store = array('0' => '');
foreach ($rowset as $row) foreach ($rowset as $row)
{ {
if ((is_array($ignore_id) && in_array($row['forum_id'], $ignore_id)) || if ((is_array($ignore_id) && in_array($row['forum_id'], $ignore_id)) ||
@ -40,11 +40,12 @@ function make_forum_select($select_id = false, $ignore_id = false, $ignore_acl =
if ($row['left_id'] < $right) if ($row['left_id'] < $right)
{ {
$padding .= '&nbsp; &nbsp;'; $padding .= '&nbsp; &nbsp; &nbsp;';
$padding_store[$row['parent_id']] = $padding;
} }
else if ($row['left_id'] > $right + 1) else if ($row['left_id'] > $right + 1)
{ {
$padding = substr($padding, 0, -13 * ($row['left_id'] - $right + 1)); $padding = $padding_store[$row['parent_id']];
} }
$right = $row['right_id']; $right = $row['right_id'];
@ -60,12 +61,11 @@ function make_forum_select($select_id = false, $ignore_id = false, $ignore_acl =
{ {
$cat_right = max($cat_right, $row['right_id']); $cat_right = max($cat_right, $row['right_id']);
$holding .= '<option value="' . $row['forum_id'] . '"' . $selected . '>' . $padding . '+ ' . $row['forum_name'] . '</option>'; $holding .= '<option value="' . $row['forum_id'] . '"' . $selected . '>' . $padding . $row['forum_name'] . '</option>';
} }
else else
{ {
$sep = ($row['right_id'] - $row['left_id'] > 1) ? '+ ' : '- '; $forum_list .= $holding . '<option value="' . $row['forum_id'] . '"' . $selected . '>' . $padding . $row['forum_name'] . '</option>';
$forum_list .= $holding . '<option value="' . $row['forum_id'] . '"' . $selected . '>' . $padding . $sep . $row['forum_name'] . '</option>';
$holding = ''; $holding = '';
} }
} }
@ -88,7 +88,7 @@ function get_forum_list($acl_list = 'f_list', $id_only = TRUE, $postable_only =
{ {
// This query is identical to the jumpbox one // This query is identical to the jumpbox one
$expire_time = ($no_cache) ? 0 : 120; $expire_time = ($no_cache) ? 0 : 120;
$sql = 'SELECT forum_id, forum_name, forum_type, left_id, right_id $sql = 'SELECT forum_id, parent_id, forum_name, forum_type, left_id, right_id
FROM ' . FORUMS_TABLE . ' FROM ' . FORUMS_TABLE . '
ORDER BY left_id ASC'; ORDER BY left_id ASC';
$result = $db->sql_query($sql, $expire_time); $result = $db->sql_query($sql, $expire_time);