aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/memberlist.php
diff options
context:
space:
mode:
authorNathaniel Guse <nathaniel.guse@gmail.com>2013-03-04 13:25:53 -0600
committerNathaniel Guse <nathaniel.guse@gmail.com>2013-03-04 13:25:53 -0600
commit029f096411f620f2066608cd0a1e8711f88da9e1 (patch)
treec470b9a0ebccca8cc3a6d6db6e1baa30556801b0 /phpBB/memberlist.php
parent5695097b8a691d2c18615e59420ed383b6a34af3 (diff)
parent19c3917de985d04f994bc22bcec1e814aa2e207c (diff)
downloadforums-029f096411f620f2066608cd0a1e8711f88da9e1.tar
forums-029f096411f620f2066608cd0a1e8711f88da9e1.tar.gz
forums-029f096411f620f2066608cd0a1e8711f88da9e1.tar.bz2
forums-029f096411f620f2066608cd0a1e8711f88da9e1.tar.xz
forums-029f096411f620f2066608cd0a1e8711f88da9e1.zip
Merge remote-tracking branch 'remotes/nickv/ticket/10411-2' into develop
# By Joas Schilling # Via Joas Schilling * remotes/nickv/ticket/10411-2: (33 commits) [ticket/10411] Fix call to function on non-object $db->...() [ticket/10411] Remove ajax delete, so the page is refreshed [ticket/10411] Update schema file with new table and remove the column [ticket/10411] Add unit tests for move() with values >1 [ticket/10411] Add migrations file for teampage table [ticket/10411] Revert database_update.php changes from for easier update [ticket/10411] Add maxlength to category name input field [ticket/10411] Test for thrown exceptions when group does not exist [ticket/10411] Catch exceptions from grouppositions [ticket/10411] Throw exceptions instead of using trigger_error() [ticket/10411] Add return values to add/delete function [ticket/10411] Add return value to move functions [ticket/10411] Fix typehinting and change private to protected [ticket/10411] Use template loops instead of defining the html in php files [ticket/10411] Ensure we only get services that do exist [ticket/10411] Add a comment why we left join the group table [ticket/10411] Rename template variable CUR_ to CURRENT_ [ticket/10411] Move globals to the top and use array for cache destroy [ticket/10411] Use new ajax callback name row_up/row_down [ticket/10411] Fix logic error when editing/creating a group ...
Diffstat (limited to 'phpBB/memberlist.php')
-rw-r--r--phpBB/memberlist.php41
1 files changed, 32 insertions, 9 deletions
diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php
index e222d4478d..53d4bb6cd7 100644
--- a/phpBB/memberlist.php
+++ b/phpBB/memberlist.php
@@ -71,21 +71,28 @@ switch ($mode)
$page_title = $user->lang['THE_TEAM'];
$template_html = 'memberlist_leaders.html';
+ $sql = 'SELECT *
+ FROM ' . TEAMPAGE_TABLE . '
+ ORDER BY teampage_position ASC';
+ $result = $db->sql_query($sql, 3600);
+ $teampage_data = $db->sql_fetchrowset($result);
+ $db->sql_freeresult($result);
+
$sql_ary = array(
- 'SELECT' => 'g.group_id, g.group_name, g.group_colour, g.group_type, g.group_teampage, ug.user_id as ug_user_id',
+ 'SELECT' => 'g.group_id, g.group_name, g.group_colour, g.group_type, ug.user_id as ug_user_id, t.teampage_id',
'FROM' => array(GROUPS_TABLE => 'g'),
'LEFT_JOIN' => array(
array(
+ 'FROM' => array(TEAMPAGE_TABLE => 't'),
+ 'ON' => 't.group_id = g.group_id',
+ ),
+ array(
'FROM' => array(USER_GROUP_TABLE => 'ug'),
'ON' => 'ug.group_id = g.group_id AND ug.user_pending = 0 AND ug.user_id = ' . (int) $user->data['user_id'],
),
),
-
- 'WHERE' => '',
-
- 'ORDER_BY' => 'g.group_teampage ASC',
);
$result = $db->sql_query($db->sql_build_query('SELECT', $sql_ary));
@@ -104,7 +111,7 @@ switch ($mode)
$row['u_group'] = append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=group&amp;g=' . $row['group_id']);
}
- if ($row['group_teampage'])
+ if ($row['teampage_id'])
{
// Only put groups into the array we want to display.
// We are fetching all groups, to ensure we got all data for default groups.
@@ -204,10 +211,26 @@ switch ($mode)
}
}
- foreach ($groups_ary as $group_id => $group_data)
+ $parent_team = 0;
+ foreach ($teampage_data as $team_data)
{
- if ($group_data['group_teampage'])
+ // If this team entry has no group, it's a category
+ if (!$team_data['group_id'])
+ {
+ $template->assign_block_vars('group', array(
+ 'GROUP_NAME' => $team_data['teampage_name'],
+ ));
+
+ $parent_team = (int) $team_data['teampage_id'];
+ continue;
+ }
+
+ $group_data = $groups_ary[(int) $team_data['group_id']];
+ $group_id = (int) $team_data['group_id'];
+
+ if (!$team_data['teampage_parent'])
{
+ // If the group does not have a parent category, we display the groupname as category
$template->assign_block_vars('group', array(
'GROUP_NAME' => $group_data['group_name'],
'GROUP_COLOR' => $group_data['group_colour'],
@@ -223,7 +246,7 @@ switch ($mode)
if (isset($user_ary[$user_id]))
{
$row = $user_ary[$user_id];
- if ($config['teampage_memberships'] == 1 && ($group_id != $groups_ary[$row['default_group']]['group_id']) && $groups_ary[$row['default_group']]['group_teampage'])
+ if ($config['teampage_memberships'] == 1 && ($group_id != $groups_ary[$row['default_group']]['group_id']) && $groups_ary[$row['default_group']]['teampage_id'])
{
// Display users in their primary group, instead of the first group, when it is displayed on the teampage.
continue;