aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/acp
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/acp')
-rw-r--r--phpBB/includes/acp/acp_email.php15
-rw-r--r--phpBB/includes/acp/acp_groups.php95
-rw-r--r--phpBB/includes/acp/acp_language.php11
-rw-r--r--phpBB/includes/acp/acp_modules.php10
4 files changed, 59 insertions, 72 deletions
diff --git a/phpBB/includes/acp/acp_email.php b/phpBB/includes/acp/acp_email.php
index 57d03ff67e..3fbbe6472f 100644
--- a/phpBB/includes/acp/acp_email.php
+++ b/phpBB/includes/acp/acp_email.php
@@ -51,7 +51,7 @@ class acp_email
$error[] = $user->lang['NO_EMAIL_MESSAGE'];
}
- if (!sizeof($error))
+ if (!sizeof($error))
{
if ($usernames)
{
@@ -208,16 +208,21 @@ class acp_email
}
}
- // Exclude bots...
+ // Exclude bots and guests...
$sql = 'SELECT group_id
FROM ' . GROUPS_TABLE . "
- WHERE group_name = 'BOTS'";
+ WHERE group_name IN ('BOTS', 'GUESTS')";
$result = $db->sql_query($sql);
- $bot_group_id = (int) $db->sql_fetchfield('group_id');
+
+ $exclude = array();
+ while ($row = $db->sql_fetchrow($result))
+ {
+ $exclude[] = $row['group_id'];
+ }
$db->sql_freeresult($result);
$select_list = '<option value="0"' . ((!$group_id) ? ' selected="selected"' : '') . '>' . $user->lang['ALL_USERS'] . '</option>';
- $select_list .= group_select_options($group_id, array($bot_group_id));
+ $select_list .= group_select_options($group_id, $exclude);
$s_priority_options = '<option value="' . MAIL_LOW_PRIORITY . '">' . $user->lang['MAIL_LOW_PRIORITY'] . '</option>';
$s_priority_options .= '<option value="' . MAIL_NORMAL_PRIORITY . '" selected="selected">' . $user->lang['MAIL_NORMAL_PRIORITY'] . '</option>';
diff --git a/phpBB/includes/acp/acp_groups.php b/phpBB/includes/acp/acp_groups.php
index 7147431259..2645ac4ce3 100644
--- a/phpBB/includes/acp/acp_groups.php
+++ b/phpBB/includes/acp/acp_groups.php
@@ -272,16 +272,13 @@ class acp_groups
'receive_pm' => isset($_REQUEST['group_receive_pm']) ? 1 : 0,
'legend' => isset($_REQUEST['group_legend']) ? 1 : 0,
'message_limit' => request_var('group_message_limit', 0),
+ 'founder_manage' => 0,
);
if ($user->data['user_type'] == USER_FOUNDER)
{
$submit_ary['founder_manage'] = isset($_REQUEST['group_founder_manage']) ? 1 : 0;
}
- else
- {
- $submit_ary['founder_manage'] = 0;
- }
if (!empty($_FILES['uploadfile']['tmp_name']) || $data['uploadurl'] || $data['remotelink'])
{
@@ -318,6 +315,11 @@ class acp_groups
$submit_ary['avatar'] = $category . '/' . $avatar_select;
}
}
+ else if ($delete)
+ {
+ $submit_ary['avatar'] = '';
+ $submit_ary['avatar_type'] = $submit_ary['avatar_width'] = $submit_ary['avatar_height'] = 0;
+ }
else if ($data['width'] && $data['height'])
{
// Only update the dimensions?
@@ -346,11 +348,6 @@ class acp_groups
$submit_ary['avatar_height'] = $data['height'];
}
}
- else if ($delete)
- {
- $submit_ary['avatar'] = '';
- $submit_ary['avatar_type'] = $submit_ary['avatar_width'] = $submit_ary['avatar_height'] = 0;
- }
if ((isset($submit_ary['avatar']) && $submit_ary['avatar'] && (!isset($group_row['group_avatar']) || $group_row['group_avatar'] != $submit_ary['avatar'])) || $delete)
{
@@ -593,53 +590,38 @@ class acp_groups
$this->page_title = 'GROUP_MEMBERS';
- // Total number of group leaders
- $sql = 'SELECT COUNT(user_id) AS total_leaders
- FROM ' . USER_GROUP_TABLE . "
- WHERE group_id = $group_id
- AND group_leader = 1";
- $result = $db->sql_query($sql);
- $total_leaders = (int) $db->sql_fetchfield('total_leaders');
- $db->sql_freeresult($result);
-
- // Total number of group members (non-leaders)
- $sql = 'SELECT COUNT(user_id) AS total_members
- FROM ' . USER_GROUP_TABLE . "
- WHERE group_id = $group_id
- AND group_leader <> 1";
- $result = $db->sql_query($sql);
- $total_members = (int) $db->sql_fetchfield('total_members');
- $db->sql_freeresult($result);
-
- // Grab the members
+ // Grab the leaders - always, on every page...
$sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_regdate, u.user_posts, u.group_id, ug.group_leader, ug.user_pending
FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug
WHERE ug.group_id = $group_id
- AND u.user_id = ug.user_id
+ AND u.user_id = ug.user_id
+ AND ug.group_leader = 1
ORDER BY ug.group_leader DESC, ug.user_pending ASC, u.username_clean";
- $result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
-
- $leader = $member = 0;
- $group_data = array(
- 'leader' => array(),
- 'member' => array(),
- );
+ $result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
{
- $type = ($row['group_leader']) ? 'leader' : 'member';
-
- $group_data[$type][$$type]['user_id'] = $row['user_id'];
- $group_data[$type][$$type]['group_id'] = $row['group_id'];
- $group_data[$type][$$type]['username'] = $row['username'];
- $group_data[$type][$$type]['user_regdate'] = $row['user_regdate'];
- $group_data[$type][$$type]['user_posts'] = $row['user_posts'];
- $group_data[$type][$$type]['user_pending'] = ($row['user_pending']) ? 1 : 0;
+ $template->assign_block_vars('leader', array(
+ 'U_USER_EDIT' => append_sid("{$phpbb_admin_path}index.$phpEx", "i=users&amp;action=edit&amp;u={$row['user_id']}"),
- $$type++;
+ 'USERNAME' => $row['username'],
+ 'S_GROUP_DEFAULT' => ($row['group_id'] == $group_id) ? true : false,
+ 'JOINED' => ($row['user_regdate']) ? $user->format_date($row['user_regdate']) : ' - ',
+ 'USER_POSTS' => $row['user_posts'],
+ 'USER_ID' => $row['user_id'])
+ );
}
$db->sql_freeresult($result);
+ // Total number of group members (non-leaders)
+ $sql = 'SELECT COUNT(user_id) AS total_members
+ FROM ' . USER_GROUP_TABLE . "
+ WHERE group_id = $group_id
+ AND group_leader = 0";
+ $result = $db->sql_query($sql);
+ $total_members = (int) $db->sql_fetchfield('total_members');
+ $db->sql_freeresult($result);
+
$s_action_options = '';
$options = array('default' => 'DEFAULT', 'approve' => 'APPROVE', 'demote' => 'DEMOTE', 'promote' => 'PROMOTE', 'deleteusers' => 'DELETE');
@@ -664,22 +646,18 @@ class acp_groups
'U_DEFAULT_ALL' => "{$this->u_action}&amp;action=default&amp;g=$group_id")
);
- foreach ($group_data['leader'] as $row)
- {
- $template->assign_block_vars('leader', array(
- 'U_USER_EDIT' => append_sid("{$phpbb_admin_path}index.$phpEx", "i=users&amp;action=edit&amp;u={$row['user_id']}"),
-
- 'USERNAME' => $row['username'],
- 'S_GROUP_DEFAULT' => ($row['group_id'] == $group_id) ? true : false,
- 'JOINED' => ($row['user_regdate']) ? $user->format_date($row['user_regdate']) : ' - ',
- 'USER_POSTS' => $row['user_posts'],
- 'USER_ID' => $row['user_id'])
- );
- }
+ // Grab the members
+ $sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_regdate, u.user_posts, u.group_id, ug.group_leader, ug.user_pending
+ FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug
+ WHERE ug.group_id = $group_id
+ AND u.user_id = ug.user_id
+ AND ug.group_leader = 0
+ ORDER BY ug.group_leader DESC, ug.user_pending ASC, u.username_clean";
+ $result = $db->sql_query_limit($sql, $config['topics_per_page'], $start);
$pending = false;
- foreach ($group_data['member'] as $row)
+ while ($row = $db->sql_fetchrow($result))
{
if ($row['user_pending'] && !$pending)
{
@@ -700,6 +678,7 @@ class acp_groups
'USER_ID' => $row['user_id'])
);
}
+ $db->sql_freeresult($result);
return;
break;
diff --git a/phpBB/includes/acp/acp_language.php b/phpBB/includes/acp/acp_language.php
index 7dcd64265c..50fb854d54 100644
--- a/phpBB/includes/acp/acp_language.php
+++ b/phpBB/includes/acp/acp_language.php
@@ -147,7 +147,7 @@ class acp_language
$db->sql_query('UPDATE ' . LANG_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
WHERE lang_id = ' . $lang_id);
-
+
add_log('admin', 'LOG_LANGUAGE_PACK_UPDATED', $sql_ary['lang_english_name']);
trigger_error($user->lang['LANGUAGE_DETAILS_UPDATED'] . adm_back_link($this->u_action));
@@ -276,7 +276,9 @@ class acp_language
echo $buffer;
}
fclose($fp);
-
+
+ add_log('admin', 'LOG_LANGUAGE_FILE_SUBMITTED', $this->language_file);
+
exit;
}
else if ($action == 'upload_data')
@@ -340,7 +342,8 @@ class acp_language
trigger_error($user->lang['UPLOAD_COMPLETED'] . adm_back_link($this->u_action . '&amp;action=details&amp;id=' . $lang_id . '&amp;language_file=' . urlencode($selected_lang_file)));
}
-
+
+ add_log('admin', 'LOG_LANGUAGE_FILE_SUBMITTED', $this->language_file);
$action = 'details';
// no break;
@@ -1010,7 +1013,7 @@ class acp_language
* {FILENAME} [{LANG_NAME}]
*
* @package language
-* @version &#36;Id: &#36;
+* @version $' . 'Id: ' . '$
* @copyright (c) ' . date('Y') . ' phpBB Group
* @author {CHANGED} - {AUTHOR}
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
diff --git a/phpBB/includes/acp/acp_modules.php b/phpBB/includes/acp/acp_modules.php
index 2eb45b4972..a1917b1717 100644
--- a/phpBB/includes/acp/acp_modules.php
+++ b/phpBB/includes/acp/acp_modules.php
@@ -726,7 +726,7 @@ class acp_modules
{
$sql = 'SELECT left_id, right_id
FROM ' . MODULES_TABLE . "
- WHERE module_class = '" . $db->sql_escape($this->module_class) . "'
+ WHERE module_class = '" . $db->sql_escape($module_data['module_class']) . "'
AND module_id = {$module_data['parent_id']}";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
@@ -744,13 +744,13 @@ class acp_modules
$sql = 'UPDATE ' . MODULES_TABLE . "
SET left_id = left_id + 2, right_id = right_id + 2
- WHERE module_class = '" . $db->sql_escape($this->module_class) . "'
+ WHERE module_class = '" . $db->sql_escape($module_data['module_class']) . "'
AND left_id > {$row['right_id']}";
$db->sql_query($sql);
$sql = 'UPDATE ' . MODULES_TABLE . "
SET right_id = right_id + 2
- WHERE module_class = '" . $db->sql_escape($this->module_class) . "'
+ WHERE module_class = '" . $db->sql_escape($module_data['module_class']) . "'
AND {$row['left_id']} BETWEEN left_id AND right_id";
$db->sql_query($sql);
@@ -761,7 +761,7 @@ class acp_modules
{
$sql = 'SELECT MAX(right_id) AS right_id
FROM ' . MODULES_TABLE . "
- WHERE module_class = '" . $db->sql_escape($this->module_class) . "'";
+ WHERE module_class = '" . $db->sql_escape($module_data['module_class']) . "'";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
@@ -805,7 +805,7 @@ class acp_modules
$sql = 'UPDATE ' . MODULES_TABLE . '
SET ' . $db->sql_build_array('UPDATE', $update_ary) . "
- WHERE module_class = '" . $db->sql_escape($this->module_class) . "'
+ WHERE module_class = '" . $db->sql_escape($module_data['module_class']) . "'
AND module_id = {$module_data['module_id']}";
$db->sql_query($sql);