mirror of
https://github.com/phpbb/phpbb.git
synced 2025-05-02 13:47:55 +02:00
fixing some bugs
more mcp links for easier moderating different aspects (all, forum, topic) i may have introduced new bugs with this commit due to me having fixed some things weeks ago and some code changed in between - please report if you see something not working as expected. git-svn-id: file:///svn/phpbb/trunk@7007 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
652d349b75
commit
5c6653717f
@ -270,9 +270,11 @@ function send_file_to_browser($attachment, $upload_dir, $category)
|
||||
*/
|
||||
function header_filename($file)
|
||||
{
|
||||
// There be dragons here...
|
||||
// IE and Safari follows no RFC.
|
||||
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Safari') !== false)
|
||||
$user_agent = $_SERVER['HTTP_USER_AGENT'];
|
||||
|
||||
// There be dragons here.
|
||||
// Not many follows the RFC...
|
||||
if (strpos($user_agent, 'MSIE') !== false || strpos($user_agent, 'Safari') !== false || strpos($user_agent, 'Konqueror') !== false)
|
||||
{
|
||||
return "filename=" . rawurlencode($file);
|
||||
}
|
||||
|
@ -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>';
|
||||
|
@ -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";
|
||||
// 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 ug.group_leader = 1
|
||||
ORDER BY ug.group_leader DESC, ug.user_pending ASC, u.username_clean";
|
||||
$result = $db->sql_query($sql);
|
||||
$total_leaders = (int) $db->sql_fetchfield('total_leaders');
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$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'])
|
||||
);
|
||||
}
|
||||
$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";
|
||||
AND group_leader = 0";
|
||||
$result = $db->sql_query($sql);
|
||||
$total_members = (int) $db->sql_fetchfield('total_members');
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
// 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
|
||||
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(),
|
||||
);
|
||||
|
||||
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;
|
||||
|
||||
$$type++;
|
||||
}
|
||||
$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;
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
||||
|
@ -2111,7 +2111,7 @@ function bump_topic_allowed($forum_id, $topic_bumped, $last_post_time, $topic_po
|
||||
}
|
||||
|
||||
// Check bumper, only topic poster and last poster are allowed to bump
|
||||
if ($topic_poster != $user->data['user_id'] && $last_topic_poster != $user->data['user_id'] && !$auth->acl_get('m_', $forum_id))
|
||||
if ($topic_poster != $user->data['user_id'] && $last_topic_poster != $user->data['user_id'])
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -304,7 +304,7 @@ function decode_ip($int_ip)
|
||||
{
|
||||
if (!$int_ip)
|
||||
{
|
||||
return '';
|
||||
return '127.0.0.1';
|
||||
}
|
||||
|
||||
$hexipbang = explode('.', chunk_split($int_ip, 2, '.'));
|
||||
@ -315,7 +315,7 @@ function decode_ip($int_ip)
|
||||
return '';
|
||||
}
|
||||
|
||||
return hexdec($hexipbang[0]). '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]);
|
||||
return hexdec($hexipbang[0]) . '.' . hexdec($hexipbang[1]) . '.' . hexdec($hexipbang[2]) . '.' . hexdec($hexipbang[3]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -252,7 +252,8 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
|
||||
|
||||
$forum_unread = (isset($forum_tracking_info[$forum_id]) && $row['orig_forum_last_post_time'] > $forum_tracking_info[$forum_id]) ? true : false;
|
||||
|
||||
$folder_image = $folder_alt = $subforums_list = $l_subforums = '';
|
||||
$folder_image = $folder_alt = $l_subforums = '';
|
||||
$subforums_list = array();
|
||||
|
||||
// Generate list of subforums if we need to
|
||||
if (isset($subforums[$forum_id]))
|
||||
@ -267,8 +268,10 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
|
||||
|
||||
if ($subforum_row['display'] && $subforum_row['name'])
|
||||
{
|
||||
$subforums_list .= ($subforums_list == '') ? '' : ', ';
|
||||
$subforums_list .= '<a href="' . append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $subforum_id) . '">' . $subforum_row['name'] . '</a>';
|
||||
$subforums_list[] = array(
|
||||
'link' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $subforum_id),
|
||||
'name' => $subforum_row['name']
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -327,11 +330,19 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
|
||||
$l_post_click_count = ($row['forum_type'] == FORUM_LINK) ? 'CLICKS' : 'POSTS';
|
||||
$post_click_count = ($row['forum_type'] != FORUM_LINK || $row['forum_flags'] & FORUM_FLAG_LINK_TRACK) ? $row['forum_posts'] : '';
|
||||
|
||||
$s_subforums_list = array();
|
||||
foreach ($subforums_list as $subforum)
|
||||
{
|
||||
$s_subforums_list[] = '<a href="' . $subforum['link'] . '">' . $subforum['name'] . '</a>';
|
||||
}
|
||||
$s_subforums_list = (string) implode(', ', $s_subforums_list);
|
||||
|
||||
$template->assign_block_vars('forumrow', array(
|
||||
'S_IS_CAT' => false,
|
||||
'S_IS_LINK' => ($row['forum_type'] == FORUM_LINK) ? true : false,
|
||||
'S_UNREAD_FORUM' => $forum_unread,
|
||||
'S_LOCKED_FORUM' => ($row['forum_status'] == ITEM_LOCKED) ? true : false,
|
||||
'S_SUBFORUMS' => (sizeof($subforums_list)) ? true : false,
|
||||
|
||||
'FORUM_ID' => $row['forum_id'],
|
||||
'FORUM_NAME' => $row['forum_name'],
|
||||
@ -342,13 +353,13 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
|
||||
'FORUM_FOLDER_IMG_SRC' => $user->img($folder_image, $folder_alt, false, '', 'src'),
|
||||
'FORUM_IMAGE' => ($row['forum_image']) ? '<img src="' . $phpbb_root_path . $row['forum_image'] . '" alt="' . $user->lang[$folder_alt] . '" />' : '',
|
||||
'FORUM_IMAGE_SRC' => ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',
|
||||
'SUBFORUMS' => $subforums_list,
|
||||
'LAST_POST_SUBJECT' => censor_text($last_post_subject),
|
||||
'LAST_POST_TIME' => $last_post_time,
|
||||
'LAST_POSTER' => get_username_string('username', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
|
||||
'LAST_POSTER_COLOUR' => get_username_string('colour', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
|
||||
'LAST_POSTER_FULL' => get_username_string('full', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
|
||||
'MODERATORS' => $moderators_list,
|
||||
'SUBFORUMS' => $s_subforums_list,
|
||||
|
||||
'L_SUBFORUM_STR' => $l_subforums,
|
||||
'L_FORUM_FOLDER_ALT' => $folder_alt,
|
||||
@ -358,6 +369,15 @@ function display_forums($root_data = '', $display_moderators = true, $return_mod
|
||||
'U_LAST_POSTER' => get_username_string('profile', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
|
||||
'U_LAST_POST' => $last_post_url)
|
||||
);
|
||||
|
||||
// Assign subforums loop for style authors
|
||||
foreach ($subforums_list as $subforum)
|
||||
{
|
||||
$template->assign_block_vars('forumrow.subforum', array(
|
||||
'U_SUBFORUM' => $subforum['link'],
|
||||
'SUBFORUM_NAME' => $subforum['name'])
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
|
@ -846,7 +846,7 @@ function smtpmail($addresses, $subject, $message, &$err_msg, $headers = '')
|
||||
|
||||
// From this point onward most server response codes should be 250
|
||||
// Specify who the mail is from....
|
||||
$smtp->server_send('MAIL FROM:<' . $config['board_contact'] . '>');
|
||||
$smtp->server_send('MAIL FROM:<' . $config['board_email'] . '>');
|
||||
if ($err_msg = $smtp->server_parse('250', __LINE__))
|
||||
{
|
||||
$smtp->close_session($err_msg);
|
||||
|
@ -1755,17 +1755,12 @@ function group_create(&$group_id, $type, $name, $desc, $group_attributes, $allow
|
||||
// Those are group-only attributes
|
||||
$group_only_ary = array('group_receive_pm', 'group_legend', 'group_message_limit', 'group_founder_manage');
|
||||
|
||||
// Check data
|
||||
if (!utf8_strlen($name) || utf8_strlen($name) > 40)
|
||||
// Check data. Limit group name length.
|
||||
if (!utf8_strlen($name) || utf8_strlen($name) > 60)
|
||||
{
|
||||
$error[] = (!utf8_strlen($name)) ? $user->lang['GROUP_ERR_USERNAME'] : $user->lang['GROUP_ERR_USER_LONG'];
|
||||
}
|
||||
|
||||
if (utf8_strlen($desc) > 255)
|
||||
{
|
||||
$error[] = $user->lang['GROUP_ERR_DESC_LONG'];
|
||||
}
|
||||
|
||||
if (!in_array($type, array(GROUP_OPEN, GROUP_CLOSED, GROUP_HIDDEN, GROUP_SPECIAL, GROUP_FREE)))
|
||||
{
|
||||
$error[] = $user->lang['GROUP_ERR_TYPE'];
|
||||
@ -2420,7 +2415,8 @@ function group_memberships($group_id_ary = false, $user_id_ary = false, $return_
|
||||
|
||||
$sql = 'SELECT ug.*, u.username, u.username_clean, u.user_email
|
||||
FROM ' . USER_GROUP_TABLE . ' ug, ' . USERS_TABLE . ' u
|
||||
WHERE ug.user_id = u.user_id AND ';
|
||||
WHERE ug.user_id = u.user_id
|
||||
AND ug.user_pending = 0 AND ';
|
||||
|
||||
if ($group_id_ary)
|
||||
{
|
||||
|
@ -28,11 +28,11 @@ function mcp_forum_view($id, $mode, $action, $forum_info)
|
||||
unset($_POST['sk'], $_POST['sd'], $_REQUEST['sk'], $_REQUEST['sd']);
|
||||
}
|
||||
|
||||
$forum_id = $forum_info['forum_id'];
|
||||
$start = request_var('start', 0);
|
||||
$topic_id_list = request_var('topic_id_list', array(0));
|
||||
$post_id_list = request_var('post_id_list', array(0));
|
||||
$topic_id = request_var('t', 0);
|
||||
$forum_id = $forum_info['forum_id'];
|
||||
$start = request_var('start', 0);
|
||||
$topic_id_list = request_var('topic_id_list', array(0));
|
||||
$post_id_list = request_var('post_id_list', array(0));
|
||||
$source_topic_id = request_var('t', 0);
|
||||
|
||||
// Resync Topics
|
||||
if ($action == 'resync')
|
||||
@ -216,7 +216,7 @@ function mcp_forum_view($id, $mode, $action, $forum_info)
|
||||
$topic_row = array_merge($topic_row, array(
|
||||
'U_VIEW_TOPIC' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&f=$forum_id&t={$row['topic_id']}&mode=topic_view"),
|
||||
|
||||
'S_SELECT_TOPIC' => ($action == 'merge_select' && $row['topic_id'] != $topic_id) ? true : false,
|
||||
'S_SELECT_TOPIC' => ($action == 'merge_select' && $row['topic_id'] != $source_topic_id) ? true : false,
|
||||
'U_SELECT_TOPIC' => $url . "&i=$id&mode=topic_view&action=merge&to_topic_id=" . $row['topic_id'] . $selected_ids,
|
||||
'U_MCP_QUEUE' => $u_mcp_queue,
|
||||
'U_MCP_REPORT' => ($auth->acl_get('m_report', $forum_id)) ? append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main&mode=topic_view&t=' . $row['topic_id'] . '&action=reports') : '',
|
||||
|
@ -64,6 +64,8 @@ class mcp_queue
|
||||
{
|
||||
case 'approve_details':
|
||||
|
||||
$this->tpl_name = 'mcp_post';
|
||||
|
||||
$user->add_lang('posting');
|
||||
|
||||
$post_id = request_var('p', 0);
|
||||
@ -167,8 +169,6 @@ class mcp_queue
|
||||
'POST_ID' => $post_info['post_id'])
|
||||
);
|
||||
|
||||
$this->tpl_name = 'mcp_post';
|
||||
|
||||
break;
|
||||
|
||||
case 'unapproved_topics':
|
||||
|
@ -312,7 +312,7 @@ class ucp_groups
|
||||
// Hide hidden groups unless user is an admin with group privileges
|
||||
$sql_and = ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? '<> ' . GROUP_SPECIAL : 'NOT IN (' . GROUP_SPECIAL . ', ' . GROUP_HIDDEN . ')';
|
||||
|
||||
$sql = 'SELECT group_id, group_name, group_desc, group_desc_uid, group_desc_bitfield, group_desc_options, group_type
|
||||
$sql = 'SELECT group_id, group_name, group_desc, group_desc_uid, group_desc_bitfield, group_desc_options, group_type, group_founder_manage
|
||||
FROM ' . GROUPS_TABLE . '
|
||||
WHERE ' . ((sizeof($group_id_ary)) ? $db->sql_in_set('group_id', $group_id_ary, true) . ' AND ' : '') . "
|
||||
group_type $sql_and
|
||||
@ -392,6 +392,12 @@ class ucp_groups
|
||||
{
|
||||
trigger_error($user->lang['NO_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
// Check if the user is allowed to manage this group if set to founder only.
|
||||
if ($user->data['user_type'] != USER_FOUNDER && $group_row['group_founder_manage'])
|
||||
{
|
||||
trigger_error($user->lang['NOT_ALLOWED_MANAGE_GROUP'] . $return_page, E_USER_WARNING);
|
||||
}
|
||||
}
|
||||
|
||||
switch ($action)
|
||||
@ -403,10 +409,16 @@ class ucp_groups
|
||||
trigger_error($user->lang['NO_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader'])
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])))
|
||||
{
|
||||
trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
list(, $row) = each($row);
|
||||
|
||||
if (!$row['group_leader'])
|
||||
{
|
||||
trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
$file_uploads = (@ini_get('file_uploads') || strtolower(@ini_get('file_uploads')) == 'on') ? true : false;
|
||||
$user->add_lang(array('acp/groups', 'acp/common'));
|
||||
@ -487,6 +499,34 @@ class ucp_groups
|
||||
$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?
|
||||
if ($config['avatar_max_width'] || $config['avatar_max_height'])
|
||||
{
|
||||
if ($data['width'] > $config['avatar_max_width'] || $data['height'] > $config['avatar_max_height'])
|
||||
{
|
||||
$error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $data['width'], $data['height']);
|
||||
}
|
||||
}
|
||||
|
||||
if (!sizeof($error))
|
||||
{
|
||||
if ($config['avatar_min_width'] || $config['avatar_min_height'])
|
||||
{
|
||||
if ($data['width'] < $config['avatar_min_width'] || $data['height'] < $config['avatar_min_height'])
|
||||
{
|
||||
$error[] = sprintf($user->lang['AVATAR_WRONG_SIZE'], $config['avatar_min_width'], $config['avatar_min_height'], $config['avatar_max_width'], $config['avatar_max_height'], $data['width'], $data['height']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!sizeof($error))
|
||||
{
|
||||
$submit_ary['avatar_width'] = $data['width'];
|
||||
$submit_ary['avatar_height'] = $data['height'];
|
||||
}
|
||||
}
|
||||
|
||||
if ((isset($submit_ary['avatar']) && $submit_ary['avatar'] && (!isset($group_row['group_avatar']) || $group_row['group_avatar'] != $submit_ary['avatar'])) || $delete)
|
||||
{
|
||||
@ -656,29 +696,57 @@ class ucp_groups
|
||||
trigger_error($user->lang['NO_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader'])
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])))
|
||||
{
|
||||
trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
list(, $row) = each($row);
|
||||
|
||||
if (!$row['group_leader'])
|
||||
{
|
||||
trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
$user->add_lang(array('acp/groups', 'acp/common'));
|
||||
$start = request_var('start', 0);
|
||||
|
||||
// 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 ug.group_leader = 1
|
||||
ORDER BY ug.group_leader DESC, ug.user_pending ASC, u.username_clean";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$template->assign_block_vars('leader', array(
|
||||
'USERNAME' => $row['username'],
|
||||
'U_USER_VIEW' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']),
|
||||
'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 <> 1";
|
||||
AND group_leader = 0";
|
||||
$result = $db->sql_query($sql);
|
||||
$total_members = (int) $db->sql_fetchfield('total_members');
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$start = request_var('start', 0);
|
||||
|
||||
// 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);
|
||||
|
||||
@ -695,7 +763,7 @@ class ucp_groups
|
||||
$pending = true;
|
||||
}
|
||||
|
||||
$template->assign_block_vars($row['group_leader'] ? 'leader' : 'member', array(
|
||||
$template->assign_block_vars('member', array(
|
||||
'USERNAME' => $row['username'],
|
||||
'U_USER_VIEW' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']),
|
||||
'S_GROUP_DEFAULT' => ($row['group_id'] == $group_id) ? true : false,
|
||||
@ -734,10 +802,16 @@ class ucp_groups
|
||||
trigger_error($user->lang['NO_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader'])
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])))
|
||||
{
|
||||
trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
list(, $row) = each($row);
|
||||
|
||||
if (!$row['group_leader'])
|
||||
{
|
||||
trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
$user->add_lang('acp/groups');
|
||||
|
||||
@ -755,10 +829,16 @@ class ucp_groups
|
||||
trigger_error($user->lang['NO_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader'])
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])))
|
||||
{
|
||||
trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
list(, $row) = each($row);
|
||||
|
||||
if (!$row['group_leader'])
|
||||
{
|
||||
trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
if (confirm_box(true))
|
||||
{
|
||||
@ -823,10 +903,16 @@ class ucp_groups
|
||||
|
||||
$user->add_lang(array('acp/groups', 'acp/common'));
|
||||
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader'])
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])))
|
||||
{
|
||||
trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
list(, $row) = each($row);
|
||||
|
||||
if (!$row['group_leader'])
|
||||
{
|
||||
trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
if (confirm_box(true))
|
||||
{
|
||||
@ -873,10 +959,16 @@ class ucp_groups
|
||||
trigger_error($user->lang['NO_USERS'] . $return_page);
|
||||
}
|
||||
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])) || !$row[0]['group_leader'])
|
||||
if (!($row = group_memberships($group_id, $user->data['user_id'])))
|
||||
{
|
||||
trigger_error($user->lang['NOT_MEMBER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
list(, $row) = each($row);
|
||||
|
||||
if (!$row['group_leader'])
|
||||
{
|
||||
trigger_error($user->lang['NOT_LEADER_OF_GROUP'] . $return_page);
|
||||
}
|
||||
|
||||
$name_ary = array_unique(explode("\n", $name_ary));
|
||||
$group_name = ($group_row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $group_row['group_name']] : $group_row['group_name'];
|
||||
|
@ -642,7 +642,7 @@ function compose_pm($id, $mode, $action)
|
||||
$post_id = request_var('p', 0);
|
||||
if ($config['allow_post_links'])
|
||||
{
|
||||
$message_link = "[url=" . generate_board_url() . "/viewtopic.$phpEx?p={$post_id}#p{$post_id}]{$message_subject}[/url]\n\n";
|
||||
$message_link = "[url=" . generate_board_url() . "/viewtopic.$phpEx?p={$post_id}#p{$post_id}]{$user->lang['SUBJECT']}: {$message_subject}[/url]\n\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -88,7 +88,7 @@ $template->assign_vars(array(
|
||||
'TOTAL_POSTS' => sprintf($user->lang[$l_total_post_s], $total_posts),
|
||||
'TOTAL_TOPICS' => sprintf($user->lang[$l_total_topic_s], $total_topics),
|
||||
'TOTAL_USERS' => sprintf($user->lang[$l_total_user_s], $total_users),
|
||||
'NEWEST_USER' => sprintf($user->lang['NEWEST_USER'], '<a href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $newest_uid) . '" style="color:#' . $config['newest_user_colour'] . '">', $newest_user, '</a>'),
|
||||
'NEWEST_USER' => sprintf($user->lang['NEWEST_USER'], '<a href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $newest_uid) . '"' . (($config['newest_user_colour']) ? ' style="color:#' . $config['newest_user_colour'] . '"' : '') . '>', $newest_user, '</a>'),
|
||||
'LEGEND' => $legend,
|
||||
'BIRTHDAY_LIST' => $birthday_list,
|
||||
|
||||
|
@ -115,7 +115,7 @@ $lang = array_merge($lang, array(
|
||||
'NO_EXT_GROUP_SPECIFIED' => 'No extension group specified.',
|
||||
'NO_FILE_CAT' => 'None',
|
||||
'NO_IMAGE' => 'No image',
|
||||
'NO_THUMBNAIL_SUPPORT' => 'Thumbnail support has been disabled because there is no supported GD library available and the imagemagick executable could not be found.',
|
||||
'NO_THUMBNAIL_SUPPORT' => 'Thumbnail support has been disabled. For proper functionality either the GD extension need to be available or imagemagick being installed. Both were not found.',
|
||||
'NO_UPLOAD_DIR' => 'The upload directory you specified does not exist.',
|
||||
'NO_WRITE_UPLOAD' => 'The upload directory you specified cannot be written to. Please alter the permissions to allow the webserver to write to it.',
|
||||
|
||||
|
@ -277,7 +277,7 @@ $lang = array_merge($lang, array(
|
||||
// Logs
|
||||
$lang = array_merge($lang, array(
|
||||
'ACP_ADMIN_LOGS_EXPLAIN' => 'This lists all the actions carried out by board administrators. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.',
|
||||
'ACP_CRITICAL_LOGS_EXPLAIN' => 'This lists the actions carried out by the board itself. These log provides you with information you are able to use for solving specific problems, for example non-delivery of emails. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.',
|
||||
'ACP_CRITICAL_LOGS_EXPLAIN' => 'This lists the actions carried out by the board itself. This log provides you with information you are able to use for solving specific problems, for example non-delivery of emails. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.',
|
||||
'ACP_MOD_LOGS_EXPLAIN' => 'This lists the actions carried out by board moderators, select a forum from the drop down list. You can sort by username, date, IP or action. If you have appropriate permissions you can also clear individual operations or the log as a whole.',
|
||||
'ACP_USERS_LOGS_EXPLAIN' => 'This lists all actions carried out by users or on users.',
|
||||
'ALL_ENTRIES' => 'All entries',
|
||||
@ -533,6 +533,7 @@ $lang = array_merge($lang, array(
|
||||
'LOG_LANGUAGE_PACK_INSTALLED' => '<strong>Installed language pack</strong><br />» %s',
|
||||
'LOG_LANGUAGE_PACK_UPDATED' => '<strong>Updated language pack details</strong><br />» %s',
|
||||
'LOG_LANGUAGE_FILE_REPLACED' => '<strong>Replaced language file</strong><br />» %s',
|
||||
'LOG_LANGUAGE_FILE_SUBMITTED' => '<strong>Submitted language file and placed in store folder</strong><br />» %s',
|
||||
|
||||
'LOG_MASS_EMAIL' => '<strong>Sent mass email</strong><br />» %s',
|
||||
|
||||
|
@ -32,7 +32,7 @@ if (empty($lang) || !is_array($lang))
|
||||
|
||||
// Email settings
|
||||
$lang = array_merge($lang, array(
|
||||
'ACP_MASS_EMAIL_EXPLAIN' => 'Here you can email a message to either all of your users or all users of a specific group. To do this, an email will be sent out to the administrative email address supplied, with a blind carbon copy sent to all recipients. If you are emailing a large group of people please be patient after submitting and do not stop the page halfway through. It is normal for a mass emailing to take a long time, you will be notified when the script has completed',
|
||||
'ACP_MASS_EMAIL_EXPLAIN' => 'Here you can email a message to either all of your users or all users of a specific group <strong>having the option to receive mass emails enabled</strong>. To do this, an email will be sent out to the administrative email address supplied, with a blind carbon copy sent to all recipients. If you are emailing a large group of people please be patient after submitting and do not stop the page halfway through. It is normal for a mass emailing to take a long time, you will be notified when the script has completed',
|
||||
'ALL_USERS' => 'All users',
|
||||
|
||||
'COMPOSE' => 'Compose',
|
||||
|
@ -60,7 +60,7 @@ $lang = array_merge($lang, array(
|
||||
'GROUP_EDIT_EXPLAIN' => 'Here you can edit an existing group. You can change its name, description and type (open, closed, etc.). You can also set certain groupwide options such as colouration, rank, etc. Changes made here override users current settings. Please note that group members can alter their avatar unless you set appropriate user permissions.',
|
||||
'GROUP_ERR_USERS_EXIST' => 'The specified users are already members of this group',
|
||||
'GROUP_FOUNDER_MANAGE' => 'Founder manage only',
|
||||
'GROUP_FOUNDER_MANAGE_EXPLAIN' => 'Restrict group management for this group for founders only for the administration control panel.',
|
||||
'GROUP_FOUNDER_MANAGE_EXPLAIN' => 'Restrict group management for this group for founders only. Users having group permissions are still able to see this group as well as this groups members.',
|
||||
'GROUP_HIDDEN' => 'Hidden',
|
||||
'GROUP_LANG' => 'Group language',
|
||||
'GROUP_LEAD' => 'Group leaders',
|
||||
|
@ -208,10 +208,9 @@ $lang = array_merge($lang, array(
|
||||
'GOTO_PAGE' => 'Go to page',
|
||||
'GROUP' => 'Group',
|
||||
'GROUPS' => 'Groups',
|
||||
'GROUP_ERR_DESC_LONG' => 'Group description is too long.',
|
||||
'GROUP_ERR_TYPE' => 'Inappropriate group type specified.',
|
||||
'GROUP_ERR_USERNAME' => 'No group name specified.',
|
||||
'GROUP_ERR_USER_LONG' => 'Group name is too long.',
|
||||
'GROUP_ERR_USER_LONG' => 'Group name is too long. A maximum of 60 characters are allowed.',
|
||||
'GUEST' => 'Guest',
|
||||
'GUEST_USERS_ONLINE' => 'There are %d guest users online',
|
||||
'GUEST_USERS_TOTAL' => '%d guests',
|
||||
@ -316,7 +315,7 @@ $lang = array_merge($lang, array(
|
||||
'NEXT' => 'Next',
|
||||
'NEVER' => 'Never',
|
||||
'NO' => 'No',
|
||||
'NOT_ALLOWED_MANAGE_GROUP' => 'You are not allowed to manage this group from the “Administration Control Panel”.',
|
||||
'NOT_ALLOWED_MANAGE_GROUP' => 'You are not allowed to manage this group.',
|
||||
'NOT_AUTHORIZED' => 'You are not authorised to access this area.',
|
||||
'NOT_WATCHING_FORUM' => 'You are no longer subscribed to updates on this forum.',
|
||||
'NOT_WATCHING_TOPIC' => 'You are no longer subscribed to this topic.',
|
||||
|
@ -72,7 +72,7 @@ $lang = array_merge($lang, array(
|
||||
|
||||
'NO_LEADERS' => 'You are not a leader of any group',
|
||||
'NOT_LEADER_OF_GROUP' => 'The requested operation cannot be taken because you are not a leader of the selected group.',
|
||||
'NOT_MEMBER_OF_GROUP' => 'The requested operation cannot be taken because you are not a member of the selected group.',
|
||||
'NOT_MEMBER_OF_GROUP' => 'The requested operation cannot be taken because you are not a member of the selected group or your membership has not been approved yet.',
|
||||
'NOT_RESIGN_FROM_DEFAULT_GROUP' => 'You are not allowed to resign from your default group.',
|
||||
|
||||
'PRIMARY_GROUP' => 'Primary group',
|
||||
|
@ -189,6 +189,8 @@ $lang = array_merge($lang, array(
|
||||
'MERGE_TOPIC_EXPLAIN' => 'Using the form below you can merge selected posts into another topic. These posts will not be reordered and will appear as if the users posted them to the new topic.<br />Please enter the destination topic id or click on the "Select" button to search for one',
|
||||
'MERGE_TOPIC_ID' => 'Destination topic identification number',
|
||||
'MODERATE_FORUM' => 'Moderate forum',
|
||||
'MODERATE_TOPIC' => 'Moderate topic',
|
||||
'MODERATE_POST' => 'Moderate post',
|
||||
'MOD_OPTIONS' => 'Moderator options',
|
||||
'MORE_INFO' => 'Further information',
|
||||
'MOST_WARNINGS' => 'Users with most warnings',
|
||||
|
@ -121,7 +121,7 @@ $lang = array_merge($lang, array(
|
||||
'MESSAGE_DELETED' => 'This message has been deleted successfully',
|
||||
'MORE_SMILIES' => 'View more smilies',
|
||||
|
||||
'NOTIFY_REPLY' => 'Send me an email when a reply is posted',
|
||||
'NOTIFY_REPLY' => 'Notify me when a reply is posted',
|
||||
'NOT_UPLOADED' => 'File could not be uploaded.',
|
||||
'NO_DELETE_POLL_OPTIONS' => 'You cannot delete existing poll options',
|
||||
'NO_PM_ICON' => 'No PM icon',
|
||||
|
@ -220,6 +220,14 @@ $module->load_active();
|
||||
// Assign data to the template engine for the list of modules
|
||||
$module->assign_tpl_vars(append_sid("{$phpbb_root_path}mcp.$phpEx"));
|
||||
|
||||
// Generate urls for letting the moderation control panel being accessed in different modes
|
||||
$template->assign_vars(array(
|
||||
'U_MCP' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main'),
|
||||
'U_MCP_FORUM' => ($forum_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&f=$forum_id") : '',
|
||||
'U_MCP_TOPIC' => ($forum_id && $topic_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&t=$topic_id") : '',
|
||||
'U_MCP_POST' => ($forum_id && $topic_id && $post_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&t=$topic_id&p=$post_id") : '',
|
||||
));
|
||||
|
||||
// Generate the page, do not display/query online list
|
||||
$module->display($module->get_page_title(), false);
|
||||
|
||||
@ -246,6 +254,11 @@ function _module_ban_url($mode, &$module_row)
|
||||
return extra_url();
|
||||
}
|
||||
|
||||
function _module_queue_url($mode, &$module_row)
|
||||
{
|
||||
return extra_url();
|
||||
}
|
||||
|
||||
function extra_url()
|
||||
{
|
||||
global $forum_id, $topic_id, $post_id, $user_id;
|
||||
|
@ -355,18 +355,9 @@ switch ($mode)
|
||||
}
|
||||
|
||||
// Get user...
|
||||
if ($username)
|
||||
{
|
||||
$sql = 'SELECT *
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = 'SELECT *
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE user_id = $user_id";
|
||||
}
|
||||
$sql = 'SELECT *
|
||||
FROM ' . USERS_TABLE . '
|
||||
WHERE ' . (($username) ? "username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'" : "user_id = $user_id");
|
||||
|
||||
// a_user admins and founder are able to view inactive users and bots to be able to
|
||||
// manage them more easily
|
||||
@ -390,8 +381,9 @@ switch ($mode)
|
||||
$sql = 'SELECT g.group_id, g.group_name, g.group_type
|
||||
FROM ' . GROUPS_TABLE . ' g, ' . USER_GROUP_TABLE . " ug
|
||||
WHERE ug.user_id = $user_id
|
||||
AND g.group_id = ug.group_id" . ((!$auth->acl_get('a_group')) ? ' AND group_type <> ' . GROUP_HIDDEN : '') . '
|
||||
ORDER BY group_type, group_name';
|
||||
AND g.group_id = ug.group_id" . ((!$auth->acl_get('a_group')) ? ' AND g.group_type <> ' . GROUP_HIDDEN : '') . '
|
||||
AND ug.user_pending = 0
|
||||
ORDER BY g.group_type, g.group_name';
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$group_options = '';
|
||||
|
@ -1,19 +1,20 @@
|
||||
<!-- INCLUDE overall_header.html -->
|
||||
|
||||
<!-- IF TOPIC_TITLE or FORUM_NAME -->
|
||||
<div id="pageheader">
|
||||
<h2><!-- IF TOPIC_TITLE --><a class="titles" href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a><!-- ELSE --><a class="titles" href="{U_VIEW_FORUM}">{FORUM_NAME}</a><!-- ENDIF --></h2>
|
||||
<div id="pageheader">
|
||||
<!-- IF U_MCP -->
|
||||
<p class="linkmcp">
|
||||
[ <a href="{U_MCP}">{L_MCP}</a><!-- IF U_MCP_FORUM --> | <a href="{U_MCP_FORUM}">{L_MODERATE_FORUM}</a><!-- ENDIF -->
|
||||
<!-- IF U_MCP_TOPIC --> | <a href="{U_MCP_TOPIC}">{L_MODERATE_TOPIC}</a><!-- ENDIF -->
|
||||
<!-- IF U_MCP_POST --> | <a href="{U_MCP_POST}">{L_MODERATE_POST}</a><!-- ENDIF --> ]
|
||||
</p>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF MODERATORS -->
|
||||
<p class="moderators">{L_MODERATORS}: {MODERATORS}</p>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF U_MCP -->
|
||||
<p class="linkmcp">[ <a href="{U_MCP}">{L_MCP}</a> ]</p>
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
<!-- IF TOPIC_TITLE or FORUM_NAME -->
|
||||
<h2><!-- IF TOPIC_TITLE --><a class="titles" href="{U_VIEW_TOPIC}">{TOPIC_TITLE}</a><!-- ELSE --><a class="titles" href="{U_VIEW_FORUM}">{FORUM_NAME}</a><!-- ENDIF --></h2>
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
||||
<br clear="all" />
|
||||
<!-- ENDIF -->
|
||||
<br clear="all" />
|
||||
|
||||
<div id="pagecontent">
|
||||
|
||||
|
@ -1331,8 +1331,8 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
|
||||
if ($topic_data['topic_bumped'] && $row['post_id'] == $topic_data['topic_last_post_id'] && isset($user_cache[$topic_data['topic_bumper']]) )
|
||||
{
|
||||
// It is safe to grab the username from the user cache array, we are at the last
|
||||
// post and only the topic poster and last poster are allowed to bump. However, a
|
||||
// check is still needed incase an admin bumped the topic (but didn't post in the topic)
|
||||
// post and only the topic poster and last poster are allowed to bump.
|
||||
// Admins and mods are bound to the above rules too...
|
||||
$l_bumped_by = '<br /><br />' . sprintf($user->lang['BUMPED_BY'], $user_cache[$topic_data['topic_bumper']]['username'], $user->format_date($topic_data['topic_last_post_time']));
|
||||
}
|
||||
else
|
||||
@ -1382,9 +1382,9 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
|
||||
'BUMPED_MESSAGE' => $l_bumped_by,
|
||||
|
||||
'MINI_POST_IMG' => ($post_unread) ? $user->img('icon_post_target_unread', 'NEW_POST') : $user->img('icon_post_target', 'POST'),
|
||||
'POST_ICON_IMG' => (!empty($row['icon_id'])) ? $icons[$row['icon_id']]['img'] : '',
|
||||
'POST_ICON_IMG_WIDTH' => (!empty($row['icon_id'])) ? $icons[$row['icon_id']]['width'] : '',
|
||||
'POST_ICON_IMG_HEIGHT' => (!empty($row['icon_id'])) ? $icons[$row['icon_id']]['height'] : '',
|
||||
'POST_ICON_IMG' => ($topic_data['enable_icons'] && !empty($row['icon_id'])) ? $icons[$row['icon_id']]['img'] : '',
|
||||
'POST_ICON_IMG_WIDTH' => ($topic_data['enable_icons'] && !empty($row['icon_id'])) ? $icons[$row['icon_id']]['width'] : '',
|
||||
'POST_ICON_IMG_HEIGHT' => ($topic_data['enable_icons'] && !empty($row['icon_id'])) ? $icons[$row['icon_id']]['height'] : '',
|
||||
'ICQ_STATUS_IMG' => $user_cache[$poster_id]['icq_status_img'],
|
||||
'ONLINE_IMG' => ($poster_id == ANONYMOUS || !$config['load_onlinetrack']) ? '' : (($user_cache[$poster_id]['online']) ? $user->img('icon_user_online', 'ONLINE') : $user->img('icon_user_offline', 'OFFLINE')),
|
||||
'S_ONLINE' => ($poster_id == ANONYMOUS || !$config['load_onlinetrack']) ? false : (($user_cache[$poster_id]['online']) ? true : false),
|
||||
|
Loading…
x
Reference in New Issue
Block a user