aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp
diff options
context:
space:
mode:
authorerangamapa <erangamapa@gmail.com>2013-02-22 00:31:55 +0530
committerNils Adermann <naderman@naderman.de>2013-02-24 18:12:40 +0100
commit538b09ba6115a1f90821a18d045f2056e66b5178 (patch)
tree113b0ef9b4a31eb98fd563fa7da898557d40c530 /phpBB/includes/acp
parent880786d68610aff0c30573dc599af9e5b3ad56cf (diff)
downloadforums-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.php42
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 . '&amp;action=list&amp;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 . '&amp;action=list&amp;g=' . $group_id));
}
else