mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
minor bugfixing
git-svn-id: file:///svn/phpbb/trunk@6719 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
parent
a9b2e99974
commit
b508c57b80
11 changed files with 100 additions and 44 deletions
|
@ -70,42 +70,54 @@ class acp_bots
|
||||||
case 'delete':
|
case 'delete':
|
||||||
if ($bot_id || sizeof($mark))
|
if ($bot_id || sizeof($mark))
|
||||||
{
|
{
|
||||||
// We need to delete the relevant user, usergroup and bot entries ...
|
if (confirm_box(true))
|
||||||
$sql_id = ($bot_id) ? " = $bot_id" : ' IN (' . implode(', ', $mark) . ')';
|
|
||||||
|
|
||||||
$sql = 'SELECT bot_name, user_id
|
|
||||||
FROM ' . BOTS_TABLE . "
|
|
||||||
WHERE bot_id $sql_id";
|
|
||||||
$result = $db->sql_query($sql);
|
|
||||||
|
|
||||||
$user_id_ary = $bot_name_ary = array();
|
|
||||||
while ($row = $db->sql_fetchrow($result))
|
|
||||||
{
|
{
|
||||||
$user_id_ary[] = (int) $row['user_id'];
|
// We need to delete the relevant user, usergroup and bot entries ...
|
||||||
$bot_name_ary[] = $row['bot_name'];
|
$sql_id = ($bot_id) ? " = $bot_id" : ' IN (' . implode(', ', $mark) . ')';
|
||||||
}
|
|
||||||
$db->sql_freeresult($result);
|
|
||||||
|
|
||||||
$db->sql_transaction('begin');
|
$sql = 'SELECT bot_name, user_id
|
||||||
|
FROM ' . BOTS_TABLE . "
|
||||||
|
WHERE bot_id $sql_id";
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
$sql = 'DELETE FROM ' . BOTS_TABLE . "
|
$user_id_ary = $bot_name_ary = array();
|
||||||
WHERE bot_id $sql_id";
|
while ($row = $db->sql_fetchrow($result))
|
||||||
$db->sql_query($sql);
|
{
|
||||||
|
$user_id_ary[] = (int) $row['user_id'];
|
||||||
|
$bot_name_ary[] = $row['bot_name'];
|
||||||
|
}
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
|
||||||
$_tables = array(USERS_TABLE, USER_GROUP_TABLE);
|
$db->sql_transaction('begin');
|
||||||
foreach ($_tables as $table)
|
|
||||||
{
|
$sql = 'DELETE FROM ' . BOTS_TABLE . "
|
||||||
$sql = "DELETE FROM $table
|
WHERE bot_id $sql_id";
|
||||||
WHERE " . $db->sql_in_set('user_id', $user_id_ary);
|
|
||||||
$db->sql_query($sql);
|
$db->sql_query($sql);
|
||||||
|
|
||||||
|
$_tables = array(USERS_TABLE, USER_GROUP_TABLE);
|
||||||
|
foreach ($_tables as $table)
|
||||||
|
{
|
||||||
|
$sql = "DELETE FROM $table
|
||||||
|
WHERE " . $db->sql_in_set('user_id', $user_id_ary);
|
||||||
|
$db->sql_query($sql);
|
||||||
|
}
|
||||||
|
|
||||||
|
$db->sql_transaction('commit');
|
||||||
|
|
||||||
|
$cache->destroy('bots');
|
||||||
|
|
||||||
|
add_log('admin', 'LOG_BOT_DELETE', implode(', ', $bot_name_ary));
|
||||||
|
trigger_error($user->lang['BOT_DELETED'] . adm_back_link($this->u_action));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
|
||||||
|
'mark' => $mark,
|
||||||
|
'id' => $bot_id,
|
||||||
|
'mode' => $mode,
|
||||||
|
'action' => $action))
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
$db->sql_transaction('commit');
|
|
||||||
|
|
||||||
$cache->destroy('bots');
|
|
||||||
|
|
||||||
add_log('admin', 'LOG_BOT_DELETE', implode(', ', $bot_name_ary));
|
|
||||||
trigger_error($user->lang['BOT_DELETED'] . adm_back_link($this->u_action));
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -302,7 +314,7 @@ class acp_bots
|
||||||
$sql = 'SELECT b.bot_id, b.bot_name, b.bot_active, u.user_lastvisit
|
$sql = 'SELECT b.bot_id, b.bot_name, b.bot_active, u.user_lastvisit
|
||||||
FROM ' . BOTS_TABLE . ' b, ' . USERS_TABLE . ' u
|
FROM ' . BOTS_TABLE . ' b, ' . USERS_TABLE . ' u
|
||||||
WHERE u.user_id = b.user_id
|
WHERE u.user_id = b.user_id
|
||||||
ORDER BY u.user_lastvisit DESC';
|
ORDER BY u.user_lastvisit DESC, b.bot_name ASC';
|
||||||
$result = $db->sql_query($sql);
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
while ($row = $db->sql_fetchrow($result))
|
while ($row = $db->sql_fetchrow($result))
|
||||||
|
|
|
@ -116,6 +116,7 @@ class acp_language
|
||||||
'S_UPLOAD' => true,
|
'S_UPLOAD' => true,
|
||||||
'NAME' => $method,
|
'NAME' => $method,
|
||||||
'U_ACTION' => $this->u_action . "&id=$lang_id&action=upload_data",
|
'U_ACTION' => $this->u_action . "&id=$lang_id&action=upload_data",
|
||||||
|
'U_BACK' => $this->u_action . "&id=$lang_id&action=details&language_file=" . urlencode($selected_lang_file),
|
||||||
'HIDDEN' => $hidden_data,
|
'HIDDEN' => $hidden_data,
|
||||||
|
|
||||||
'S_CONNECTION_SUCCESS' => (request_var('test_connection', '') && $test_connection === true) ? true : false,
|
'S_CONNECTION_SUCCESS' => (request_var('test_connection', '') && $test_connection === true) ? true : false,
|
||||||
|
@ -203,7 +204,7 @@ class acp_language
|
||||||
|
|
||||||
if (!$fp)
|
if (!$fp)
|
||||||
{
|
{
|
||||||
trigger_error(sprintf($user->lang['UNABLE_TO_WRITE_FILE'], $filename) . adm_back_link($this->u_action . '&id=' . $lang_id . '&language_file=' . urlencode($selected_lang_file)), E_USER_WARNING);
|
trigger_error(sprintf($user->lang['UNABLE_TO_WRITE_FILE'], $filename) . adm_back_link($this->u_action . '&id=' . $lang_id . '&action=details&language_file=' . urlencode($selected_lang_file)), E_USER_WARNING);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($this->language_directory == 'email')
|
if ($this->language_directory == 'email')
|
||||||
|
|
|
@ -67,6 +67,17 @@ class acp_modules
|
||||||
|
|
||||||
if (confirm_box(true))
|
if (confirm_box(true))
|
||||||
{
|
{
|
||||||
|
// Make sure we are not directly within a module
|
||||||
|
if ($module_id == $this->parent_id)
|
||||||
|
{
|
||||||
|
$sql = 'SELECT parent_id
|
||||||
|
FROM ' . MODULES_TABLE . '
|
||||||
|
WHERE module_id = ' . $module_id;
|
||||||
|
$result = $db->sql_query($sql);
|
||||||
|
$this->parent_id = (int) $db->sql_fetchfield('parent_id');
|
||||||
|
$db->sql_freeresult($result);
|
||||||
|
}
|
||||||
|
|
||||||
$errors = $this->delete_module($module_id);
|
$errors = $this->delete_module($module_id);
|
||||||
|
|
||||||
if (!sizeof($errors))
|
if (!sizeof($errors))
|
||||||
|
|
|
@ -438,7 +438,7 @@ class dbal
|
||||||
*/
|
*/
|
||||||
function sql_error($sql = '')
|
function sql_error($sql = '')
|
||||||
{
|
{
|
||||||
global $auth, $user;
|
global $auth, $user, $config;
|
||||||
|
|
||||||
// Set var to retrieve errored status
|
// Set var to retrieve errored status
|
||||||
$this->sql_error_triggered = true;
|
$this->sql_error_triggered = true;
|
||||||
|
@ -472,7 +472,14 @@ class dbal
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$message .= '<br /><br />' . $user->lang['SQL_ERROR_OCCURRED'];
|
if (!empty($config['board_contact']))
|
||||||
|
{
|
||||||
|
$message .= '<br /><br />' . sprintf($user->lang['SQL_ERROR_OCCURRED'], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$message .= '<br /><br />' . sprintf($user->lang['SQL_ERROR_OCCURRED'], '', '');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -636,7 +636,7 @@ function language_select($default = '')
|
||||||
$sql = 'SELECT lang_iso, lang_local_name
|
$sql = 'SELECT lang_iso, lang_local_name
|
||||||
FROM ' . LANG_TABLE . '
|
FROM ' . LANG_TABLE . '
|
||||||
ORDER BY lang_english_name';
|
ORDER BY lang_english_name';
|
||||||
$result = $db->sql_query($sql, 600);
|
$result = $db->sql_query($sql);
|
||||||
|
|
||||||
$lang_options = '';
|
$lang_options = '';
|
||||||
while ($row = $db->sql_fetchrow($result))
|
while ($row = $db->sql_fetchrow($result))
|
||||||
|
|
|
@ -895,12 +895,25 @@ class session
|
||||||
$quads = explode('.', $ip);
|
$quads = explode('.', $ip);
|
||||||
$reverse_ip = $quads[3] . '.' . $quads[2] . '.' . $quads[1] . '.' . $quads[0];
|
$reverse_ip = $quads[3] . '.' . $quads[2] . '.' . $quads[1] . '.' . $quads[0];
|
||||||
|
|
||||||
|
// Need to be listed on all servers...
|
||||||
|
$listed = true;
|
||||||
|
$info = array();
|
||||||
|
|
||||||
foreach ($dnsbl_check as $dnsbl => $lookup)
|
foreach ($dnsbl_check as $dnsbl => $lookup)
|
||||||
{
|
{
|
||||||
if (phpbb_checkdnsrr($reverse_ip . '.' . $dnsbl . '.', 'A') === true)
|
if (phpbb_checkdnsrr($reverse_ip . '.' . $dnsbl . '.', 'A') === true)
|
||||||
{
|
{
|
||||||
return array($dnsbl, $lookup . $ip);
|
$info = array($dnsbl, $lookup . $ip);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$listed = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($listed)
|
||||||
|
{
|
||||||
|
return $info;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -490,7 +490,7 @@ class ucp_register
|
||||||
'L_CONFIRM_EXPLAIN' => sprintf($user->lang['CONFIRM_EXPLAIN'], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>'),
|
'L_CONFIRM_EXPLAIN' => sprintf($user->lang['CONFIRM_EXPLAIN'], '<a href="mailto:' . htmlspecialchars($config['board_contact']) . '">', '</a>'),
|
||||||
'L_REG_COND' => $l_reg_cond,
|
'L_REG_COND' => $l_reg_cond,
|
||||||
'L_USERNAME_EXPLAIN' => sprintf($user->lang[$user_char_ary[str_replace('\\\\', '\\', $config['allow_name_chars'])] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']),
|
'L_USERNAME_EXPLAIN' => sprintf($user->lang[$user_char_ary[str_replace('\\\\', '\\', $config['allow_name_chars'])] . '_EXPLAIN'], $config['min_name_chars'], $config['max_name_chars']),
|
||||||
'L_NEW_PASSWORD_EXPLAIN' => sprintf($user->lang[$pass_char_ary[str_replace('\\\\', '\\', $config['pass_complex'])] . '_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),
|
'L_PASSWORD_EXPLAIN' => sprintf($user->lang[$pass_char_ary[str_replace('\\\\', '\\', $config['pass_complex'])] . '_EXPLAIN'], $config['min_pass_chars'], $config['max_pass_chars']),
|
||||||
|
|
||||||
'S_LANG_OPTIONS' => language_select($data['lang']),
|
'S_LANG_OPTIONS' => language_select($data['lang']),
|
||||||
'S_TZ_OPTIONS' => tz_select($data['tz']),
|
'S_TZ_OPTIONS' => tz_select($data['tz']),
|
||||||
|
|
|
@ -220,8 +220,6 @@ $lang = array_merge($lang, array(
|
||||||
'EXPORT_DOWNLOAD' => 'Download',
|
'EXPORT_DOWNLOAD' => 'Download',
|
||||||
'EXPORT_STORE' => 'Store',
|
'EXPORT_STORE' => 'Store',
|
||||||
|
|
||||||
'FORUM_INDEX' => 'Forum index',
|
|
||||||
|
|
||||||
'GENERAL_OPTIONS' => 'General options',
|
'GENERAL_OPTIONS' => 'General options',
|
||||||
'GENERAL_SETTINGS' => 'General settings',
|
'GENERAL_SETTINGS' => 'General settings',
|
||||||
'GLOBAL_MASK' => 'Global permission mask',
|
'GLOBAL_MASK' => 'Global permission mask',
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
<td class="row2"><input class="post" type="text" name="email_confirm" size="25" maxlength="255" value="{EMAIL_CONFIRM}" /></td>
|
<td class="row2"><input class="post" type="text" name="email_confirm" size="25" maxlength="255" value="{EMAIL_CONFIRM}" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1"><b class="genmed">{L_NEW_PASSWORD}: </b><br /><span class="gensmall">{L_NEW_PASSWORD_EXPLAIN}</span></td>
|
<td class="row1"><b class="genmed">{L_PASSWORD}: </b><br /><span class="gensmall">{L_PASSWORD_EXPLAIN}</span></td>
|
||||||
<td class="row2"><input class="post" type="password" name="new_password" size="25" maxlength="100" value="{PASSWORD}" /></td>
|
<td class="row2"><input class="post" type="password" name="new_password" size="25" maxlength="100" value="{PASSWORD}" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
|
|
@ -241,9 +241,6 @@ $post_alt = ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->lang['FORUM_LO
|
||||||
$s_display_active = ($forum_data['forum_type'] == FORUM_CAT && ($forum_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS)) ? true : false;
|
$s_display_active = ($forum_data['forum_type'] == FORUM_CAT && ($forum_data['forum_flags'] & FORUM_FLAG_ACTIVE_TOPICS)) ? true : false;
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars(array(
|
||||||
'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id&$u_sort_param"), $topics_count, $config['topics_per_page'], $start),
|
|
||||||
'PAGE_NUMBER' => on_page($topics_count, $config['topics_per_page'], $start),
|
|
||||||
'TOTAL_TOPICS' => ($s_display_active) ? false : (($topics_count == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $topics_count)),
|
|
||||||
'MODERATORS' => (!empty($moderators[$forum_id])) ? implode(', ', $moderators[$forum_id]) : '',
|
'MODERATORS' => (!empty($moderators[$forum_id])) ? implode(', ', $moderators[$forum_id]) : '',
|
||||||
|
|
||||||
'POST_IMG' => ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->img('button_topic_locked', $post_alt) : $user->img('button_topic_new', $post_alt),
|
'POST_IMG' => ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->img('button_topic_locked', $post_alt) : $user->img('button_topic_new', $post_alt),
|
||||||
|
@ -441,6 +438,17 @@ if (sizeof($shadow_topic_list))
|
||||||
{
|
{
|
||||||
$orig_topic_id = $shadow_topic_list[$row['topic_id']];
|
$orig_topic_id = $shadow_topic_list[$row['topic_id']];
|
||||||
|
|
||||||
|
// Do not include those topics the user has no permission to access
|
||||||
|
if (!$auth->acl_get('f_read', $row['forum_id']))
|
||||||
|
{
|
||||||
|
// We need to remove any trace regarding this topic. :)
|
||||||
|
unset($rowset[$orig_topic_id]);
|
||||||
|
unset($topic_list[array_search($orig_topic_id, $topic_list)]);
|
||||||
|
$topics_count--;
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
// We want to retain some values
|
// We want to retain some values
|
||||||
$row = array_merge($row, array(
|
$row = array_merge($row, array(
|
||||||
'topic_moved_id' => $rowset[$orig_topic_id]['topic_moved_id'],
|
'topic_moved_id' => $rowset[$orig_topic_id]['topic_moved_id'],
|
||||||
|
@ -453,6 +461,12 @@ if (sizeof($shadow_topic_list))
|
||||||
}
|
}
|
||||||
unset($shadow_topic_list);
|
unset($shadow_topic_list);
|
||||||
|
|
||||||
|
$template->assign_vars(array(
|
||||||
|
'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}viewforum.$phpEx", "f=$forum_id&$u_sort_param"), $topics_count, $config['topics_per_page'], $start),
|
||||||
|
'PAGE_NUMBER' => on_page($topics_count, $config['topics_per_page'], $start),
|
||||||
|
'TOTAL_TOPICS' => ($s_display_active) ? false : (($topics_count == 1) ? $user->lang['VIEW_FORUM_TOPIC'] : sprintf($user->lang['VIEW_FORUM_TOPICS'], $topics_count)))
|
||||||
|
);
|
||||||
|
|
||||||
$topic_list = ($store_reverse) ? array_merge($announcement_list, array_reverse($topic_list)) : array_merge($announcement_list, $topic_list);
|
$topic_list = ($store_reverse) ? array_merge($announcement_list, array_reverse($topic_list)) : array_merge($announcement_list, $topic_list);
|
||||||
$topic_tracking_info = $tracking_topics = array();
|
$topic_tracking_info = $tracking_topics = array();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue