diff options
Diffstat (limited to 'phpBB/includes/acp')
-rw-r--r-- | phpBB/includes/acp/acp_email.php | 15 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_groups.php | 95 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_language.php | 11 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_modules.php | 10 |
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&action=edit&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}&action=default&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&action=edit&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 . '&action=details&id=' . $lang_id . '&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 $Id: $ +* @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); |