diff options
author | erangamapa <erangamapa@gmail.com> | 2013-02-22 00:31:55 +0530 |
---|---|---|
committer | Nils Adermann <naderman@naderman.de> | 2013-02-24 18:12:40 +0100 |
commit | 538b09ba6115a1f90821a18d045f2056e66b5178 (patch) | |
tree | 113b0ef9b4a31eb98fd563fa7da898557d40c530 /phpBB/includes/acp | |
parent | 880786d68610aff0c30573dc599af9e5b3ad56cf (diff) | |
download | forums-538b09ba6115a1f90821a18d045f2056e66b5178.tar forums-538b09ba6115a1f90821a18d045f2056e66b5178.tar.gz forums-538b09ba6115a1f90821a18d045f2056e66b5178.tar.bz2 forums-538b09ba6115a1f90821a18d045f2056e66b5178.tar.xz forums-538b09ba6115a1f90821a18d045f2056e66b5178.zip |
[ticket/11358] Enabled link making all users default for a group.
Detect whether link is clicked or form is posted for making users
default for a group. If form is posted and no users are selected,
validation happens and displays an error message. When the link is
clicked, all the users will be default users for that group.
PHPBB3-11358
Diffstat (limited to 'phpBB/includes/acp')
-rw-r--r-- | phpBB/includes/acp/acp_groups.php | 42 |
1 files changed, 40 insertions, 2 deletions
diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php index af25d9d014..c70327c6f1 100644 --- a/phpBB/includes/acp/acp_groups.php +++ b/phpBB/includes/acp/acp_groups.php @@ -120,7 +120,7 @@ class acp_groups { trigger_error($user->lang['NO_GROUP'] . adm_back_link($this->u_action), E_USER_WARNING); } - else if (empty($mark_ary)) + else if (empty($mark_ary) && $request->is_set_post('default')) { trigger_error($user->lang['NO_USERS'] . adm_back_link($this->u_action . '&action=list&g=' . $group_id), E_USER_WARNING); } @@ -128,7 +128,45 @@ class acp_groups if (confirm_box(true)) { $group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name']; - group_user_attributes('default', $group_id, $mark_ary, false, $group_name, $group_row); + + if (!sizeof($mark_ary)) + { + $start = 0; + + do + { + $sql = 'SELECT user_id + FROM ' . USER_GROUP_TABLE . " + WHERE group_id = $group_id + ORDER BY user_id"; + $result = $db->sql_query_limit($sql, 200, $start); + + $mark_ary = array(); + if ($row = $db->sql_fetchrow($result)) + { + do + { + $mark_ary[] = $row['user_id']; + } + while ($row = $db->sql_fetchrow($result)); + + group_user_attributes('default', $group_id, $mark_ary, false, $group_name, $group_row); + + $start = (sizeof($mark_ary) < 200) ? 0 : $start + 200; + } + else + { + $start = 0; + } + $db->sql_freeresult($result); + } + while ($start); + } + else + { + group_user_attributes('default', $group_id, $mark_ary, false, $group_name, $group_row); + } + trigger_error($user->lang['GROUP_DEFS_UPDATED'] . adm_back_link($this->u_action . '&action=list&g=' . $group_id)); } else |