time to squash some bugs

git-svn-id: file:///svn/phpbb/trunk@6114 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen 2006-06-22 15:14:03 +00:00
parent daa0435614
commit 725b21f2d2
58 changed files with 354 additions and 196 deletions

View file

@ -151,7 +151,7 @@ function adm_page_header($page_title)
{
header('Content-type: text/html; charset: ' . $user->lang['ENCODING']);
}
header('Cache-Control: private, no-cache="set-cookie", pre-check=0, post-check=0');
header('Cache-Control: private, no-cache="set-cookie"');
header('Expires: 0');
header('Pragma: no-cache');

View file

@ -54,7 +54,7 @@
<legend>{L_BACKUP_OPTIONS}</legend>
<dl>
<dt><label for="user">{L_BACKUP_TYPE}:</label></dt>
<dd><input type="radio" class="radio" name="type" value="full" id="type" checked="checked" />&nbsp;{L_FULL_BACKUP}&nbsp;&nbsp;<input type="radio" name="type" value="structure" id="type" />&nbsp;{L_STRUCTURE_ONLY}&nbsp;&nbsp;<input type="radio" class="radio" name="type" value="data" id="type" />&nbsp;{L_DATA_ONLY}</dd>
<dd><input type="radio" class="radio" name="type" value="full" id="type" checked="checked" />&nbsp;{L_FULL_BACKUP}&nbsp;&nbsp;<input type="radio" name="type" class="radio" value="structure" id="type" />&nbsp;{L_STRUCTURE_ONLY}&nbsp;&nbsp;<input type="radio" class="radio" name="type" value="data" id="type" />&nbsp;{L_DATA_ONLY}</dd>
</dl>
<dl>
<dt><label for="user">{L_FILE_TYPE}:</label></dt>

View file

@ -70,7 +70,7 @@
<!-- IF S_CLEARLOGS -->
<fieldset class="quick">
<b class="small"><a href="#" onclick="marklist('list', 'mark', true);">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('list', 'mark', false);">{L_UNMARK_ALL}</a></b><br />
<b class="small"><a href="javascript: marklist('list', 'mark', true);">{L_MARK_ALL}</a> :: <a href="javascript:marklist('list', 'mark', false);">{L_UNMARK_ALL}</a></b><br />
<input class="button2" type="submit" name="delmarked" value="{L_DELETE_MARKED}" />&nbsp;
<input class="button2" type="submit" name="delall" value="{L_DELETE_ALL}" />&nbsp;
</fieldset>

View file

@ -340,7 +340,7 @@
</dl>
<dl>
<dt><label for="tz">{L_BOARD_TIMEZONE}:</label></dt>
<dd><select id="tz" name="tz">{S_TZ_OPTIONS}</select></dd>
<dd><select id="tz" name="tz" style="width: 100%;">{S_TZ_OPTIONS}</select></dd>
</dl>
<dl>
<dt><label for="dst">{L_BOARD_DST}:</label></dt>

View file

@ -38,6 +38,15 @@
<p>{L_ACP_WORDS_EXPLAIN}</p>
<form id="acp_words" method="post" action="{U_ACTION}">
<fieldset class="quick">
{S_HIDDEN_FIELDS}
<input class="button2" name="add" type="submit" value="{L_ADD_WORD}" />
</fieldset>
</form>
<table cellspacing="1">
<thead>
<tr>
@ -58,15 +67,6 @@
</tbody>
</table>
<form id="acp_words" method="post" action="{U_ACTION}">
<fieldset class="quick">
{S_HIDDEN_FIELDS}
<input class="button2" name="add" type="submit" value="{L_ADD_WORD}" />
</fieldset>
</form>
<!-- ENDIF -->
<!-- INCLUDE overall_footer.html -->

View file

@ -363,7 +363,7 @@ class acp_board
}
$this->new_config = $config;
$cfg_array = (isset($_REQUEST['config'])) ? request_var('config', array('' => '')) : $this->new_config;
$cfg_array = (isset($_REQUEST['config'])) ? request_var('config', array('' => ''), true) : $this->new_config;
// We go through the display_vars to make sure no one is trying to set variables he/she is not allowed to...
foreach ($display_vars['vars'] as $config_name => $null)

View file

@ -293,7 +293,7 @@ class acp_forums
trigger_error($user->lang['NO_FORUM'] . adm_back_link($this->u_action . '&amp;parent_id=' . $this->parent_id));
}
$sql = 'SELECT forum_name
$sql = 'SELECT forum_name, forum_type
FROM ' . FORUMS_TABLE . "
WHERE forum_id = $forum_id";
$result = $db->sql_query($sql);
@ -1377,6 +1377,43 @@ class acp_forums
$db->sql_transaction('commit');
// Make sure the overall post/topic count is correct...
$sql = 'SELECT COUNT(post_id) AS stat
FROM ' . POSTS_TABLE . '
WHERE post_approved = 1';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
set_config('num_posts', (int) $row['stat'], true);
$sql = 'SELECT COUNT(topic_id) AS stat
FROM ' . TOPICS_TABLE . '
WHERE topic_approved = 1';
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
set_config('num_topics', (int) $row['stat'], true);
$sql = 'SELECT COUNT(attach_id) as stat
FROM ' . ATTACHMENTS_TABLE;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
set_config('num_files', (int) $row['stat'], true);
$sql = 'SELECT SUM(filesize) as stat
FROM ' . ATTACHMENTS_TABLE;
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
set_config('upload_dir_size', (int) $row['stat'], true);
add_log('admin', 'LOG_RESYNC_STATS');
return array();
}

View file

@ -211,7 +211,6 @@ class acp_language
{
// Email Template
$entry = (STRIP) ? stripslashes($_POST['entry']) : $_POST['entry'];
$entry = preg_replace('#&amp;(\#[0-9]+;)#', '&\1', $entry);
fwrite($fp, $entry);
}
else
@ -237,7 +236,6 @@ class acp_language
foreach ($value as $_key => $_value)
{
$_value = (STRIP) ? stripslashes($_value) : $_value;
$_value = preg_replace('#&amp;(\#[0-9]+;)#', '&\1', $_value);
$entry .= "\t\t" . (int) $_key . "\t=> '" . str_replace("'", "\\'", $_value) . "',\n";
}
@ -258,7 +256,6 @@ class acp_language
if (!is_array($value))
{
$value = (STRIP) ? stripslashes($value) : $value;
$value = preg_replace('#&amp;(\#[0-9]+;)#', '&\1', $value);
$entry = "\t'" . $key . "'\t=> '" . str_replace("'", "\\'", $value) . "',\n";
}
else
@ -267,9 +264,23 @@ class acp_language
foreach ($value as $_key => $_value)
{
$_value = (STRIP) ? stripslashes($_value) : $_value;
$_value = preg_replace('#&amp;(\#[0-9]+;)#', '&\1', $_value);
$entry .= "\t\t'" . $_key . "'\t=> '" . str_replace("'", "\\'", $_value) . "',\n";
if (!is_array($_value))
{
$_value = (STRIP) ? stripslashes($_value) : $_value;
$entry .= "\t\t'" . $_key . "'\t=> '" . str_replace("'", "\\'", $_value) . "',\n";
}
else
{
$entry .= "\n\t\t'" . $_key . "'\t=> array(\n";
foreach ($_value as $__key => $__value)
{
$__value = (STRIP) ? stripslashes($__value) : $__value;
$entry .= "\t\t\t'" . $__key . "'\t=> '" . str_replace("'", "\\'", $__value) . "',\n";
}
$entry .= "\t\t),\n\n";
}
}
$entry .= "\t),\n\n";
@ -1041,22 +1052,52 @@ $lang = array_merge($lang, array(
foreach ($value as $_key => $_value)
{
$tpl .= '
<tr>
<td class="row1" style="white-space: nowrap;">' . $key_prefix . '<b>' . $_key . '</b></td>
<td class="row2">';
if ($input_field)
if (is_array($_value))
{
$tpl .= '<input type="text" name="entry[' . $key . '][' . $_key . ']" value="' . htmlspecialchars($_value) . '" size="50" />';
$tpl .= '
<tr>
<td class="row3" colspan="2">' . $key_prefix . '&nbsp; &nbsp;<b>' . $_key . '</b></td>
</tr>';
foreach ($_value as $__key => $__value)
{
$tpl .= '
<tr>
<td class="row1" style="white-space: nowrap;">' . $key_prefix . '<b>' . $__key . '</b></td>
<td class="row2">';
if ($input_field)
{
$tpl .= '<input type="text" name="entry[' . $key . '][' . $_key . '][' . $__key . ']" value="' . htmlspecialchars($__value) . '" size="50" />';
}
else
{
$tpl .= '<b>' . htmlspecialchars($__value) . '</b>';
}
$tpl .= '</td>
</tr>';
}
}
else
{
$tpl .= '<b>' . htmlspecialchars($_value) . '</b>';
}
$tpl .= '
<tr>
<td class="row1" style="white-space: nowrap;">' . $key_prefix . '<b>' . $_key . '</b></td>
<td class="row2">';
$tpl .= '</td>
</tr>';
if ($input_field)
{
$tpl .= '<input type="text" name="entry[' . $key . '][' . $_key . ']" value="' . htmlspecialchars($_value) . '" size="50" />';
}
else
{
$tpl .= '<b>' . htmlspecialchars($_value) . '</b>';
}
$tpl .= '</td>
</tr>';
}
}
$tpl .= '

View file

@ -213,7 +213,10 @@ class acp_permissions
switch ($action)
{
case 'delete':
$this->remove_permissions($mode, $permission_type, $auth_admin, $user_id, $group_id, $forum_id);
if (sizeof($user_id) || sizeof($group_id))
{
$this->remove_permissions($mode, $permission_type, $auth_admin, $user_id, $group_id, $forum_id);
}
break;
case 'apply_permissions':

View file

@ -536,7 +536,7 @@ class acp_profile
if ($cp->vars['lang_name'] == '')
{
$error[] = $user->lang['EMPTY_USER_FIELD_IDENT'];
$error[] = $user->lang['EMPTY_USER_FIELD_NAME'];
}
if ($field_type == FIELD_BOOL || $field_type == FIELD_DROPDOWN)

View file

@ -133,7 +133,7 @@ class acp_users
// Prevent normal users/admins change/view founders if they are not a founder by themselves
if ($user->data['user_type'] != USER_FOUNDER && $user_row['user_type'] == USER_FOUNDER)
{
trigger_error($user->lang['NOT_MANAGE_FOUNDER'] . adm_back_link($this->u_action));
trigger_error($user->lang['NOT_MANAGE_FOUNDER'] . adm_back_link($this->u_action . '&amp;u=' . $user_id));
}
switch ($mode)
@ -657,9 +657,34 @@ class acp_users
$sql_ary['user_warnings'] = $data['warnings'];
}
if (($user_row['user_type'] == USER_FOUNDER && !$data['user_founder']) || ($user_row['user_type'] != USER_FOUNDER && $data['user_founder']))
// Only allow founders updating the founder status...
if ($user->data['user_type'] == USER_FOUNDER)
{
$sql_ary['user_type'] = ($data['user_founder']) ? USER_FOUNDER : USER_NORMAL;
// Setting a normal member to be a founder
if ($data['user_founder'] && $user_row['user_type'] != USER_FOUNDER)
{
$sql_ary['user_type'] = USER_FOUNDER;
}
else if (!$data['user_founder'] && $user_row['user_type'] == USER_FOUNDER)
{
// Check if at least one founder is present
$sql = 'SELECT user_id
FROM ' . USERS_TABLE . '
WHERE user_type = ' . USER_FOUNDER . '
AND user_id <> ' . $user_id;
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
if ($row)
{
$sql_ary['user_type'] = USER_NORMAL;
}
else
{
trigger_error($user->lang['AT_LEAST_ONE_FOUNDER'] . adm_back_link($this->u_action . '&amp;u=' . $user_id));
}
}
}
}
@ -1252,7 +1277,7 @@ class acp_users
'S_LANG_OPTIONS' => language_select($lang),
'S_STYLE_OPTIONS' => style_select($style),
'S_TZ_OPTIONS' => tz_select($tz),
'S_TZ_OPTIONS' => tz_select($tz, true),
)
);

View file

@ -2658,7 +2658,7 @@ function page_header($page_title = '', $display_online_list = true)
{
header('Content-type: text/html; charset=' . $user->lang['ENCODING']);
}
header('Cache-Control: private, no-cache="set-cookie", pre-check=0, post-check=0');
header('Cache-Control: private, no-cache="set-cookie"');
header('Expires: 0');
header('Pragma: no-cache');

View file

@ -1360,6 +1360,11 @@ function sync($mode, $where_type = '', $where_ids = '', $resync_parents = false,
}
$db->sql_freeresult($result);
if (!sizeof($forum_ids))
{
break;
}
// 2: Get topic counts for each forum
$sql = 'SELECT forum_id, topic_approved, COUNT(topic_id) AS forum_topics
FROM ' . TOPICS_TABLE . '

View file

@ -808,8 +808,11 @@ function smtpmail($addresses, $subject, $message, &$err_msg, $encoding, $headers
$smtp = new smtp_class;
$errno = 0;
$errstr = '';
// Ok we have error checked as much as we can to this point let's get on it already.
if (!$smtp->socket = fsockopen($config['smtp_host'], $config['smtp_port'], $errno, $errstr, 20))
if (!$smtp->socket = @fsockopen($config['smtp_host'], $config['smtp_port'], $errno, $errstr, 20))
{
$err_msg = (isset($user->lang['NO_CONNECT_TO_SMTP_HOST'])) ? sprintf($user->lang['NO_CONNECT_TO_SMTP_HOST'], $errno, $errstr) : "Could not connect to smtp host : $errno : $errstr";
return false;

View file

@ -1479,6 +1479,11 @@ function pm_notification($mode, $author, $recipients, $subject, $message)
unset($recipients[ANONYMOUS], $recipients[$user->data['user_id']]);
if (!sizeof($recipients))
{
return;
}
// Get banned User ID's
$sql = 'SELECT ban_userid
FROM ' . BANLIST_TABLE . '

View file

@ -37,6 +37,8 @@ function user_get_id_name(&$user_id_ary, &$username_ary)
$sql_in = ($which_ary == 'user_id_ary') ? array_map('intval', $$which_ary) : preg_replace('#^\s*(.*)\s*$#e', "\"'\" . \$db->sql_escape('\\1') . \"'\"", $$which_ary);
unset($$which_ary);
$user_id_ary = $username_ary = array();
// Grab the user id/username records
$sql_where = ($which_ary == 'user_id_ary') ? 'user_id' : 'username';
$sql = 'SELECT user_id, username
@ -50,7 +52,6 @@ function user_get_id_name(&$user_id_ary, &$username_ary)
return 'NO_USERS';
}
$user_id_ary = $username_ary = array();
do
{
$username_ary[$row['user_id']] = $row['username'];
@ -234,6 +235,9 @@ function user_add($user_row, $cp_data = false)
$db->sql_transaction('commit');
// Now make it the users default group...
group_set_user_default($user_row['group_id'], array($user_id));
return $user_id;
}
@ -1092,7 +1096,7 @@ function validate_email($email)
return 'EMAIL_INVALID';
}
if ($user->check_ban('', '', $email, true) == true)
if ($user->check_ban(false, false, $email, true) == true)
{
return 'EMAIL_BANNED';
}
@ -1513,6 +1517,9 @@ function group_delete($group_id, $group_name = false)
WHERE group_id = $group_id";
$db->sql_query($sql);
// Re-cache moderators
cache_moderators();
add_log('admin', 'LOG_GROUP_DELETE', $group_name);
return 'GROUP_DELETED';
@ -1526,9 +1533,9 @@ function group_user_add($group_id, $user_id_ary = false, $username_ary = false,
global $db, $auth;
// We need both username and user_id info
user_get_id_name($user_id_ary, $username_ary);
$result = user_get_id_name($user_id_ary, $username_ary);
if (!sizeof($user_id_ary))
if (!sizeof($user_id_ary) || $result !== false)
{
return 'NO_USER';
}
@ -1629,9 +1636,9 @@ function group_user_del($group_id, $user_id_ary = false, $username_ary = false,
$group_order = array('ADMINISTRATORS', 'GLOBAL_MODERATORS', 'REGISTERED_COPPA', 'REGISTERED', 'BOTS', 'GUESTS');
// We need both username and user_id info
user_get_id_name($user_id_ary, $username_ary);
$result = user_get_id_name($user_id_ary, $username_ary);
if (!sizeof($user_id_ary))
if (!sizeof($user_id_ary) || $result !== false)
{
return 'NO_USER';
}
@ -1762,9 +1769,9 @@ function group_user_attributes($action, $group_id, $user_id_ary = false, $userna
global $db, $auth, $phpbb_root_path, $phpEx, $config;
// We need both username and user_id info
user_get_id_name($user_id_ary, $username_ary);
$result = user_get_id_name($user_id_ary, $username_ary);
if (!sizeof($user_id_ary))
if (!sizeof($user_id_ary) || $result !== false)
{
return false;
}
@ -1869,7 +1876,7 @@ function group_set_user_default($group_id, $user_id_ary, $group_attributes = fal
{
global $db;
if (!$user_id_ary)
if (empty($user_id_ary))
{
return;
}

View file

@ -334,7 +334,7 @@ function change_poster(&$post_info, $userdata)
$db->sql_query($sql);
// Resync topic/forum if needed
if ($post_info['topic_last_post_id'] == $post_id || $post_info['forum_last_post_id'] == $post_id)
if ($post_info['topic_last_post_id'] == $post_id || $post_info['forum_last_post_id'] == $post_id || $post_info['topic_first_post_id'] == $post_id)
{
sync('topic', 'topic_id', $post_info['topic_id'], false, false);
sync('forum', 'forum_id', $post_info['forum_id'], false, false);

View file

@ -78,6 +78,23 @@ class bbcode_firstpass extends bbcode
}
}
/**
* Prepare some bbcodes for better parsing
*/
function prepare_bbcodes()
{
// Add newline at the end and in front of each quote block to prevent parsing errors (urls, smilies, etc.)
if (strpos($this->message, '[quote') !== false)
{
$in = str_replace("\r\n", "\n", $this->message);
$this->message = preg_replace(array('#\[quote(=&quot;.*?&quot;)?\]([^\n])#is', '#([^\n])\[\/quote\]#is'), array("[quote\\1]\n\\2", "\\1\n[/quote]"), $this->message);
$this->message = preg_replace(array('#\[quote(=&quot;.*?&quot;)?\]([^\n])#is', '#([^\n])\[\/quote\]#is'), array("[quote\\1]\n\\2", "\\1\n[/quote]"), $this->message);
}
// Add other checks which needs to be placed before actually parsing anything (be it bbcodes, smilies, urls...)
}
/**
* Init bbcode data for later parsing
*/
@ -565,12 +582,6 @@ class bbcode_firstpass extends bbcode
$tok = ']';
$out = '[';
// Add newline at the end and in front of each quote block to prevent parsing errors (urls, smilies, etc.)
$in = preg_replace(array('#\[quote(=&quot;.*?&quot;)?\]([^\n])#is', '#([^\n])\[\/quote\]#is'), array("[quote\\1]\n\\2", "\\1\n[/quote]"), $in);
$in = preg_replace(array('#\[quote(=&quot;.*?&quot;)?\]([^\n])#is', '#([^\n])\[\/quote\]#is'), array("[quote\\1]\n\\2", "\\1\n[/quote]"), $in);
$in = str_replace("\r\n", "\n", str_replace('\"', '"', trim($in)));
$in = substr($in, 1);
$close_tags = $error_ary = array();
$buffer = '';
@ -897,15 +908,7 @@ class parse_message extends bbcode_firstpass
}
}
// Parse smilies
if ($allow_smilies)
{
$this->smilies($config['max_' . $mode . '_smilies']);
}
$num_urls = 0;
// Parse BBCode
// Prepare BBcode (just prepares some tags for better parsing)
if ($allow_bbcode && strpos($this->message, '[') !== false)
{
$this->bbcode_init();
@ -917,8 +920,22 @@ class parse_message extends bbcode_firstpass
$this->bbcodes[$bool]['disabled'] = true;
}
}
$this->parse_bbcode();
$this->prepare_bbcodes();
}
// Parse smilies
if ($allow_smilies)
{
$this->smilies($config['max_' . $mode . '_smilies']);
}
$num_urls = 0;
// Parse BBCode
if ($allow_bbcode && strpos($this->message, '[') !== false)
{
$this->parse_bbcode();
$num_urls += $this->parsed_items['url'];
}

View file

@ -82,7 +82,7 @@ class session
}
// Current page from phpBB root (for example: adm/index.php?i=10&b=2)
$page = (($page_dir) ? urlencode($page_dir) . '/' : '') . urlencode($page_name) . (($query_string) ? "?$query_string" : '');
$page = (($page_dir) ? $page_dir . '/' : '') . $page_name . (($query_string) ? "?$query_string" : '');
// The script path from the webroot to the current directory (for example: /phpBB2/adm/) : always prefixed with / and ends in /
$script_path = trim(str_replace('\\', '/', dirname($script_name)));
@ -102,12 +102,12 @@ class session
$root_script_path .= (substr($root_script_path, -1, 1) == '/') ? '' : '/';
$page_array += array(
'page_name' => urlencode($page_name),
'page_dir' => urlencode($page_dir),
'page_name' => $page_name,
'page_dir' => $page_dir,
'query_string' => $query_string,
'script_path' => urlencode(htmlspecialchars($script_path)),
'root_script_path' => urlencode(htmlspecialchars($root_script_path)),
'script_path' => str_replace(' ', '%20', htmlspecialchars($script_path)),
'root_script_path' => str_replace(' ', '%20', htmlspecialchars($root_script_path)),
'page' => $page
);
@ -437,7 +437,7 @@ class session
// @todo Change to !$this->data['user_type'] & USER_FOUNDER && !$this->data['user_type'] & USER_BOT in time
if ($this->data['user_type'] != USER_FOUNDER)
{
$this->check_ban();
$this->check_ban($this->data['user_id'], $this->ip);
}
//
@ -755,19 +755,44 @@ class session
{
global $config, $db;
$user_id = ($user_id === false) ? $this->data['user_id'] : $user_id;
$user_ip = ($user_ip === false) ? $this->ip : $user_ip;
$user_email = ($user_email === false) ? $this->data['user_email'] : $user_email;
$banned = false;
$sql = 'SELECT ban_ip, ban_userid, ban_email, ban_exclude, ban_give_reason, ban_end
FROM ' . BANLIST_TABLE . '
WHERE (ban_end >= ' . time() . " OR ban_end = 0)
AND (
ban_ip <> '' OR ban_email <> '' OR
(ban_userid <> 0 AND ban_userid = " . $user_id . ')
)';
WHERE (ban_end >= ' . time() . ' OR ban_end = 0)';
// Determine which entries to check, only return those
if ($user_email === false)
{
$sql .= " AND ban_email = ''";
}
if ($user_ip === false)
{
$sql .= " AND (ban_ip = '' OR (ban_ip <> '' AND ban_exclude = 1))";
}
if ($user_id === false)
{
$sql .= ' AND (ban_userid = 0 OR (ban_userid <> 0 AND ban_exclude = 1))';
}
else
{
$sql .= ' AND (ban_userid = ' . $user_id;
if ($user_email !== false)
{
$sql .= " OR ban_email <> ''";
}
if ($user_ip !== false)
{
$sql .= " OR ban_ip <> ''";
}
$sql .= ')';
}
$result = $db->sql_query($sql);
while ($row = $db->sql_fetchrow($result))
@ -1208,17 +1233,18 @@ class user extends session
*/
function format_date($gmepoch, $format = false, $forcedate = false)
{
static $lang_dates, $midnight;
static $midnight;
if (empty($lang_dates))
$lang_dates = $this->lang['datetime'];
$format = (!$format) ? $this->date_format : $format;
// Short representation of month in format
if ((strpos($format, '\M') === false && strpos($format, 'M') !== false) || (strpos($format, '\r') === false && strpos($format, 'r') !== false))
{
foreach ($this->lang['datetime'] as $match => $replace)
{
$lang_dates[$match] = $replace;
}
$lang_dates['May'] = $lang_dates['May_short'];
}
$format = (!$format) ? $this->date_format : $format;
unset($lang_dates['May_short']);
if (!$midnight)
{

View file

@ -34,6 +34,8 @@ class ucp_groups
{
case 'membership':
$this->page_title = 'UCP_USERGROUPS_MEMBER';
if ($submit || isset($_POST['change_default']))
{
$action = (isset($_POST['change_default'])) ? 'change_default' : request_var('action', '');
@ -377,6 +379,7 @@ class ucp_groups
case 'manage':
$this->page_title = 'UCP_USERGROUPS_MANAGE';
$action = (isset($_POST['addusers'])) ? 'addusers' : request_var('action', '');
$group_id = request_var('g', 0);
@ -922,7 +925,6 @@ class ucp_groups
}
$this->tpl_name = 'ucp_groups_' . $mode;
$this->page_title = 'UCP_GROUPS_' . strtoupper($mode);
}
}

View file

@ -150,7 +150,9 @@ class ucp_pm
$module = new ucp_main($this);
$module->u_action = $this->u_action;
$module->main($id, $mode);
$this->tpl_name = $module->tpl_name;
$this->page_title = 'UCP_PM_DRAFTS';
unset($module);
return;

View file

@ -320,7 +320,7 @@ class module
{
header('Content-type: text/html; charset: ' . $lang['ENCODING']);
}
header('Cache-Control: private, no-cache="set-cookie", pre-check=0, post-check=0');
header('Cache-Control: private, no-cache="set-cookie"');
header('Expires: 0');
header('Pragma: no-cache');

View file

@ -47,7 +47,7 @@ $lang = array_merge($lang, array(
'EMAIL_BAN_EXPLAIN' => 'To specify more than one email address enter each on a new line. To match partial addresses use * as the wildcard, e.g. *@hotmail.com, *@*.domain.tld, etc.',
'EMAIL_NO_BANNED' => 'No banned email addresses',
'EMAIL_UNBAN' => 'Un-ban or Un-exclude Emails',
'EMAIL_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple email addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded email addresses have a grey background.',
'EMAIL_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple email addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded email addresses have a marked background.',
'IP_BAN' => 'Ban one or more ips',
'IP_BAN_EXCLUDE_EXPLAIN' => 'Enable this to exclude the entered IP from all current bans.',
@ -55,7 +55,7 @@ $lang = array_merge($lang, array(
'IP_HOSTNAME' => 'IP addresses or hostnames',
'IP_NO_BANNED' => 'No banned IP addresses',
'IP_UNBAN' => 'Un-ban or Un-exclude IPs',
'IP_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple IP addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded IP\'s have a grey background.',
'IP_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple IP addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded IP\'s have a marked background.',
'PERMANENT' => 'Permanent',
@ -65,7 +65,7 @@ $lang = array_merge($lang, array(
'USER_BAN_EXPLAIN' => 'You can ban multiple users in one go by entering each name on a new line. Use the <u>Find a Username</u> facility to look up and add one or more users automatically.',
'USER_NO_BANNED' => 'No banned usernames',
'USER_UNBAN' => 'Un-ban or Un-exclude usernames',
'USER_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded users have a grey background.',
'USER_UNBAN_EXPLAIN' => 'You can unban (or un-exclude) multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser. Excluded users have a marked background.',
));
?>

View file

@ -55,7 +55,7 @@ $lang = array_merge($lang, array(
'MODULE_ADDED' => 'Module successfully added',
'MODULE_DELETED' => 'Module successfully removed',
'MODULE_DISPLAYED' => 'Module displayed',
'MODULE_DISPLAYED_EXPLAIN' => 'If you do not whish to display this module, but want to use it, set this to no.',
'MODULE_DISPLAYED_EXPLAIN' => 'If you do not wish to display this module, but want to use it, set this to no.',
'MODULE_EDITED' => 'Module successfully edited',
'MODULE_ENABLED' => 'Module enabled',
'MODULE_LANGNAME' => 'Module Language Name',

View file

@ -30,6 +30,7 @@ if (empty($lang) || !is_array($lang))
$lang = array_merge($lang, array(
'ADMIN_SIG_PREVIEW' => 'Signature preview',
'AT_LEAST_ONE_FOUNDER' => 'You are not able to change this founder to a normal user. There needs to be at least one founder enabled for this board. If you want to change this users founder status promote another user to be a founder first.',
'BAN_SUCCESSFUL' => 'Ban entered successfully',

View file

@ -29,12 +29,12 @@ if (empty($lang) || !is_array($lang))
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
$lang = array_merge($lang, array(
'TRANSLATION_INFO' => 'blah',
'ENCODING' => 'iso-8859-1',
'DIRECTION' => 'ltr',
'LEFT' => 'left',
'RIGHT' => 'right',
'DATE_FORMAT' => '|d M Y|',
'TRANSLATION_INFO' => '',
'ENCODING' => 'iso-8859-1',
'DIRECTION' => 'ltr',
'LEFT' => 'left',
'RIGHT' => 'right',
'DATE_FORMAT' => '|d M Y|',
'1_DAY' => '1 day',
'1_MONTH' => '1 month',
@ -431,6 +431,7 @@ $lang = array_merge($lang, array(
'SKIP' => 'Skip to content',
'SMTP_NO_AUTH_SUPPORT' => 'SMTP server does not support authentication',
'SORRY_AUTH_READ' => 'You are not authorised to read this forum',
'SORRY_AUTH_VIEW_ATTACH' => 'You are not authorised to download this attachment',
'SORT_BY' => 'Sort by',
'SORT_JOINED' => 'Joined date',
'SORT_LOCATION' => 'Location',
@ -611,6 +612,7 @@ $lang = array_merge($lang, array(
'Feb' => 'Feb',
'Mar' => 'Mar',
'Apr' => 'Apr',
'May_short' => 'May', // Short representation of "May". May_short used because in english the short and long date are the same for May.
'Jun' => 'Jun',
'Jul' => 'Jul',
'Aug' => 'Aug',

View file

@ -55,7 +55,7 @@ $lang = array_merge($lang, array(
'EMPTY_SUBJECT_EMAIL' => 'You must specify a subject for the email.',
'EQUAL_TO' => 'Equal to',
'FIND_USERNAME_EXPLAIN' => 'Use this form to search for specific members. You do not need to fill out all fields. To match partial data use * as a wildcard. When entering dates use the format yyyy-mm-dd, e.g. 2002-01-01. Use the mark checkboxes to select one or more usernames (several usernames may be accepted depending on the form itself). Alternatively you can mark the users required and click the Insert Marked button.',
'FIND_USERNAME_EXPLAIN' => 'Use this form to search for specific members. You do not need to fill out all fields. To match partial data use * as a wildcard. When entering dates use the format yyyy-mm-dd, e.g. 2002-01-01. Use the mark checkboxes to select one or more usernames (several usernames may be accepted depending on the form itself). Alternatively you can mark the users required and click the Select Marked button.',
'FLOOD_EMAIL_LIMIT' => 'You cannot send another email at this time. Please try again later.',
'GROUP_LEADER' => 'Group leader',

View file

@ -182,7 +182,7 @@ $lang = array_merge($lang, array(
'UNABLE_GET_IMAGE_SIZE' => 'Accessing the image was impossible or file isn\'t a valid picture.',
'UNAUTHORISED_BBCODE' => 'You cannot use certain bbcodes: ',
'UNGLOBALISE_EXPLAIN' => 'To switch this topic back from being global to a normal topic, you need to select the forum you whish this topic to be displayed',
'UNGLOBALISE_EXPLAIN' => 'To switch this topic back from being global to a normal topic, you need to select the forum you wish this topic to be displayed.',
'UPDATE_COMMENT' => 'Update comment',
'URL_INVALID' => 'The URL you specified is invalid.',
'URL_NOT_FOUND' => 'The file specified could not be found.',

View file

@ -200,13 +200,6 @@ switch ($mode)
$presence_img = '';
switch ($action)
{
case 'icq':
$lang = 'ICQ';
$sql_field = 'user_icq';
$s_select = 'S_SEND_ICQ';
$s_action = 'http://wwp.icq.com/scripts/WWPMsg.dll';
break;
case 'aim':
$lang = 'AIM';
$sql_field = 'user_aim';
@ -229,7 +222,7 @@ switch ($mode)
break;
default:
$sql_field = '';
trigger_error('This contact option is not supported', E_USER_ERROR);
break;
}
@ -250,10 +243,6 @@ switch ($mode)
// Post data grab actions
switch ($action)
{
case 'icq':
$presence_img = '<img src="http://web.icq.com/whitepages/online?icq=' . $row[$sql_field] . '&amp;img=5" width="18" height="18" alt="" />';
break;
case 'jabber':
if ($submit && @extension_loaded('xml') && $config['jab_enable'])
{
@ -289,7 +278,6 @@ switch ($mode)
$template->assign_vars(array(
'IM_CONTACT' => $row[$sql_field],
'USERNAME' => $row['username'],
'EMAIL' => $row['user_email'],
'CONTACT_NAME' => $row[$sql_field],
'SITENAME' => $config['sitename'],
@ -835,7 +823,7 @@ switch ($mode)
// We JOIN here to save a query for determining membership for hidden groups. ;)
$sql = 'SELECT g.*, ug.user_id
FROM ' . GROUPS_TABLE . ' g
LEFT JOIN ' . USER_GROUP_TABLE . ' ug ON (ug.user_id = ' . $user->data['user_id'] . " AND ug.group_id = $group_id)
LEFT JOIN ' . USER_GROUP_TABLE . ' ug ON (ug.user_pending = 0 AND ug.user_id = ' . $user->data['user_id'] . " AND ug.group_id = $group_id)
WHERE g.group_id = $group_id";
$result = $db->sql_query($sql);
$group_row = $db->sql_fetchrow($result);
@ -928,7 +916,7 @@ switch ($mode)
$sql_from = ', ' . USER_GROUP_TABLE . ' ug ';
$order_by = 'ug.group_leader DESC, ';
$sql_where .= " AND u.user_id = ug.user_id AND ug.group_id = $group_id";
$sql_where .= " AND ug.user_pending = 0 AND u.user_id = ug.user_id AND ug.group_id = $group_id";
}
// Sorting and order
@ -968,17 +956,18 @@ switch ($mode)
unset($_GET[$key]);
}
if (in_array($key, array('submit', 'start', 'mode')) || !$var)
if (in_array($key, array('submit', 'start', 'mode', 'char')) || empty($var))
{
continue;
}
$params[] = $key . '=' . urlencode(htmlspecialchars($var));
}
}
$u_hide_find_member = append_sid("{$phpbb_root_path}memberlist.$phpEx", implode('&amp;', $params));
$params[] = "mode=$mode&amp;first_char=$first_char";
$params[] = "mode=$mode";
$pagination_url = append_sid("{$phpbb_root_path}memberlist.$phpEx", implode('&amp;', $params));
// Some search user specific data
@ -1238,7 +1227,7 @@ function show_profile($data)
'U_PM' => ($config['allow_privmsg'] && $auth->acl_get('u_sendpm')) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm&amp;mode=compose&amp;u=' . $user_id) : '',
'U_EMAIL' => $email,
'U_WWW' => (!empty($data['user_website'])) ? $data['user_website'] : '',
'U_ICQ' => ($data['user_icq']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&amp;action=icq&amp;u=' . $user_id) : '',
'U_ICQ' => ($data['user_icq']) ? 'http://www.icq.com/people/webmsg.php?to=' . $data['user_icq'] : '',
'U_AIM' => ($data['user_aim']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&amp;action=aim&amp;u=' . $user_id) : '',
'U_YIM' => ($data['user_yim']) ? 'http://edit.yahoo.com/config/send_webmesg?.target=' . $data['user_yim'] . '&amp;.src=pg' : '',
'U_MSN' => ($data['user_msnm']) ? append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=contact&amp;action=msnm&amp;u=' . $user_id) : '',

View file

@ -59,7 +59,7 @@
</tr>
<!-- IF S_CONFIRM_CODE -->
<tr>
<th colspan="2" height="28" valign="middle">{L_LOGIN_CONFIRMATION}</th>
<th colspan="2" valign="middle">{L_LOGIN_CONFIRMATION}</th>
</tr>
<tr>
<td class="row3" colspan="2"><span class="gensmall">{L_LOGIN_CONFIRM_EXPLAIN}</span></td>

View file

@ -35,7 +35,7 @@
<table width="100%" class="tablebg" cellspacing="1" cellpadding="4" border="0">
<tr>
<th colspan="2" height="28" nowrap="nowrap">{L_TITLE}</th>
<th colspan="2" nowrap="nowrap">{L_TITLE}</th>
</tr>
<tr>
<td class="row3" colspan="2">{L_EXPLAIN}</td>
@ -72,7 +72,7 @@
<table width="100%" class="tablebg" cellspacing="1" cellpadding="4" border="0">
<tr>
<th colspan="2" height="28" nowrap="nowrap">{L_UNBAN_TITLE}</th>
<th colspan="2" nowrap="nowrap">{L_UNBAN_TITLE}</th>
</tr>
<tr>
<td class="row3" colspan="2">{L_UNBAN_EXPLAIN}</td>

View file

@ -40,7 +40,7 @@
</tr>
<!-- BEGINELSE -->
<tr>
<td class="row1" colspan="8" height="28" align="center"><p class="gen">{L_NO_TOPICS}</p></td>
<td class="row1" colspan="8" align="center"><p class="gen">{L_NO_TOPICS}</p></td>
</tr>
<!-- END topicrow -->
<tr>

View file

@ -41,7 +41,7 @@
<td class="row3" colspan="5" align="center"><b class="gen">{L_LATEST_REPORTED}</b></td>
</tr>
<tr>
<th height="28">&nbsp;{L_FORUM}&nbsp;</th>
<th>&nbsp;{L_FORUM}&nbsp;</th>
<th>&nbsp;{L_TOPIC}&nbsp;</th>
<th>&nbsp;{L_SUBJECT}&nbsp;</th>
<th>&nbsp;{L_REPORTER}&nbsp;</th>
@ -76,7 +76,7 @@
<td class="row3" colspan="5" align="center"><b class="gen">{L_LATEST_LOGS}</b></td>
</tr>
<tr>
<th width="15%" height="28" nowrap="nowrap">{L_USERNAME}</th>
<th width="15%" nowrap="nowrap">{L_USERNAME}</th>
<th width="12%" nowrap="nowrap">{L_IP}</th>
<th width="45%" nowrap="nowrap">{L_ACTION}</th>
<th nowrap="nowrap"></th>

View file

@ -2,7 +2,7 @@
<table class="tablebg" width="100%" cellspacing="1" cellpadding="4" border="0" align="center">
<tr>
<th height="28"><b>{MESSAGE_TITLE}</b></th>
<th><b>{MESSAGE_TITLE}</b></th>
</tr>
<tr>
<td class="row1" align="center"><br /><span class="gen">{MESSAGE_TEXT}</span><br /><br /></td>

View file

@ -4,7 +4,7 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th colspan="2" height="28" align="center">{USERNAME}</th>
<th colspan="2" align="center">{USERNAME}</th>
</tr>
<tr>
<td class="row1" align="center">
@ -48,7 +48,7 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th colspan="2" height="28" align="center">{L_FEEDBACK}</th>
<th colspan="2" align="center">{L_FEEDBACK}</th>
</tr>
<!-- IF S_USER_NOTES -->
@ -78,7 +78,7 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th colspan="2" height="28" align="center">{L_ADD_FEEDBACK}</th>
<th colspan="2" align="center">{L_ADD_FEEDBACK}</th>
</tr>
<tr>
<td class="row3" align="center" colspan="2"><span class="genmed">{L_ADD_FEEDBACK_EXPLAIN}</span></td>

View file

@ -5,7 +5,7 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th colspan="2" height="28" align="center">{L_REPORT_DETAILS}</th>
<th colspan="2" align="center">{L_REPORT_DETAILS}</th>
</tr>
<tr>
<td class="row1"><b class="gen">{L_REPORT_REASON}: </b></td>
@ -21,7 +21,7 @@
</tr>
<!-- IF REPORT_TEXT -->
<tr>
<th colspan="2" height="28" align="center">{L_MORE_INFO}</th>
<th colspan="2" align="center">{L_MORE_INFO}</th>
</tr>
<tr>
<td class="row1" colspan="2"><div class="gen" style="overflow: auto; width: 100%; height: 80pt; border: 1px;">{REPORT_TEXT}</div></td>
@ -42,7 +42,7 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th colspan="2" height="28" align="center">{L_POST_DETAILS}</th>
<th colspan="2" align="center">{L_POST_DETAILS}</th>
</tr>
<tr>
<td class="row3" colspan="2" align="center"><span class="gensmall"><!-- IF S_MCP_QUEUE -->{RETURN_QUEUE}<!-- ELSEIF S_MCP_REPORT -->{RETURN_REPORTS}<!-- ELSE -->{RETURN_TOPIC}<!-- ENDIF --></span></td>
@ -66,7 +66,7 @@
<td class="row2"><span class="postdetails">{POST_DATE}</span></td>
</tr>
<tr>
<th colspan="2" height="28" align="center">{L_PREVIEW}</th>
<th colspan="2" align="center">{L_PREVIEW}</th>
</tr>
<tr>
<td class="row1" colspan="2"><div class="gen" style="overflow: auto; width: 100%; height: 80pt; border: 1px;">{POST_PREVIEW}</div><!-- IF U_EDIT --><div class="gen" style="float: right;"><a href="{U_EDIT}">{EDIT_IMG}</a></div><!-- ENDIF --></td>
@ -95,7 +95,7 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th colspan="2" height="28" align="center">{L_MOD_OPTIONS}</th>
<th colspan="2" align="center">{L_MOD_OPTIONS}</th>
</tr>
<!-- IF S_CAN_CHGPOSTER -->
<tr>
@ -121,10 +121,10 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th colspan="2" height="28" align="center">{L_IP_INFO}</th>
<th colspan="2" align="center">{L_IP_INFO}</th>
</tr>
<tr>
<td colspan="2" height="28" class="cat"><b class="gen">{L_OTHER_USERS}</b></td>
<td colspan="2" class="cat"><b class="gen">{L_OTHER_USERS}</b></td>
</tr>
<!-- BEGIN userrow -->
<!-- IF userrow.S_ROW_COUNT is even -->
@ -141,7 +141,7 @@
</tr>
<!-- END userrow -->
<tr>
<td height="28" class="cat"><b class="gen">{L_OTHER_IPS}</b></td>
<td class="cat"><b class="gen">{L_OTHER_IPS}</b></td>
<td class="cat" width="10%" nowrap="nowrap"><!-- IF U_LOOKUP_ALL --><span class="gen">[ <a href="{U_LOOKUP_ALL}">{L_LOOKUP_ALL}</a> ]</span><!-- ENDIF --></td>
</tr>
<!-- BEGIN iprow -->

View file

@ -4,13 +4,13 @@
<table width="100%" class="tablebg" cellspacing="1" cellpadding="4" border="0">
<tr>
<th colspan="6" height="28" nowrap="nowrap">{L_DISPLAY_OPTIONS}</th>
<th colspan="6" nowrap="nowrap">{L_DISPLAY_OPTIONS}</th>
</tr>
<tr>
<td colspan="5" class="cat" height="28" align="center"><span class="gensmall">{L_DISPLAY_ITEMS}:</span> {S_SELECT_SORT_DAYS}&nbsp;<span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR}&nbsp;<span class="gensmall">{L_FORUM}</span> <select name="f">{S_FORUM_OPTIONS}</select> &nbsp; <!-- IF TOPIC_ID --><input type="checkbox" class="radio" name="t" value="{TOPIC_ID}" checked="checked" />&nbsp; <b>{L_ONLY_TOPIC}</b> &nbsp; <!-- ENDIF --><input class="btnlite" type="submit" name="sort" value="{L_GO}" /></span></td>
<td colspan="5" class="cat" align="center"><span class="gensmall">{L_DISPLAY_ITEMS}:</span> {S_SELECT_SORT_DAYS}&nbsp;<span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR}&nbsp;<span class="gensmall">{L_FORUM}</span> <select name="f">{S_FORUM_OPTIONS}</select> &nbsp; <!-- IF TOPIC_ID --><input type="checkbox" class="radio" name="t" value="{TOPIC_ID}" checked="checked" />&nbsp; <b>{L_ONLY_TOPIC}</b> &nbsp; <!-- ENDIF --><input class="btnlite" type="submit" name="sort" value="{L_GO}" /></span></td>
</tr>
<tr>
<th height="28">&nbsp;{L_TOPIC}&nbsp;</th>
<th>&nbsp;{L_TOPIC}&nbsp;</th>
<th>&nbsp;{L_AUTHOR}&nbsp;</th>
<th>&nbsp;{L_POST_TIME}&nbsp;</th>
<th width="5%">&nbsp;{L_SELECT}&nbsp;</th>
@ -31,7 +31,7 @@
</tr>
<!-- END postrow -->
<tr>
<td class="cat" colspan="6" height="28" align="center"><input class="btnmain" type="submit" name="action[approve]" value="{L_APPROVE}" />&nbsp;&nbsp;<input class="btnlite" type="submit" name="action[disapprove]" value="{L_DISAPPROVE}" /></td>
<td class="cat" colspan="6" align="center"><input class="btnmain" type="submit" name="action[approve]" value="{L_APPROVE}" />&nbsp;&nbsp;<input class="btnlite" type="submit" name="action[disapprove]" value="{L_DISAPPROVE}" /></td>
</tr>
</table>

View file

@ -4,13 +4,13 @@
<table width="100%" class="tablebg" cellspacing="1" cellpadding="4" border="0">
<tr>
<th colspan="5" height="28" nowrap="nowrap">{L_DISPLAY_OPTIONS}</th>
<th colspan="5" nowrap="nowrap">{L_DISPLAY_OPTIONS}</th>
</tr>
<tr>
<td colspan="5" class="cat" height="28" align="center"><span class="gensmall">{L_DISPLAY_POSTS}:</span> {S_SELECT_SORT_DAYS}&nbsp;<span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR}&nbsp;<span class="gensmall">{L_FORUM}</span> <select name="f">{S_FORUM_OPTIONS}</select> &nbsp; <!-- IF TOPIC_ID --><input type="checkbox" class="radio" name="t" value="{TOPIC_ID}" checked="checked" />&nbsp; <b>{L_ONLY_TOPIC}</b> &nbsp; <!-- ENDIF --><input class="btnlite" type="submit" name="sort" value="{L_GO}" /></span></td>
<td colspan="5" class="cat" align="center"><span class="gensmall">{L_DISPLAY_POSTS}:</span> {S_SELECT_SORT_DAYS}&nbsp;<span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR}&nbsp;<span class="gensmall">{L_FORUM}</span> <select name="f">{S_FORUM_OPTIONS}</select> &nbsp; <!-- IF TOPIC_ID --><input type="checkbox" class="radio" name="t" value="{TOPIC_ID}" checked="checked" />&nbsp; <b>{L_ONLY_TOPIC}</b> &nbsp; <!-- ENDIF --><input class="btnlite" type="submit" name="sort" value="{L_GO}" /></span></td>
</tr>
<tr>
<th height="28">&nbsp;{L_POST}&nbsp;</th>
<th>&nbsp;{L_POST}&nbsp;</th>
<th>&nbsp;{L_AUTHOR}&nbsp;</th>
<th>&nbsp;{L_REPORTER}&nbsp;</th>
<th>&nbsp;{L_REPORT_TIME}&nbsp;</th>
@ -35,7 +35,7 @@
</tr>
<!-- END postrow -->
<tr>
<td class="cat" colspan="5" height="28" align="center">
<td class="cat" colspan="5" align="center">
<!-- IF S_CLOSED -->
<input class="btnmain" type="submit" value="{L_DELETE_REPORTS}" name="action[delete]" />
<!-- ELSE -->

View file

@ -58,10 +58,10 @@
<td class="row2" colspan="2"><input class="post" type="text" name="posts_per_page" size="6" value="{POSTS_PER_PAGE}"></td>
</tr>
<tr>
<td class="cat" colspan="3" height="28" align="center"><span class="gensmall">{L_DISPLAY_POSTS}:</span> {S_SELECT_SORT_DAYS}&nbsp;<span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR}&nbsp;<input class="btnlite" type="submit" name="sort" value="{L_GO}" /></span></td>
<td class="cat" colspan="3" align="center"><span class="gensmall">{L_DISPLAY_POSTS}:</span> {S_SELECT_SORT_DAYS}&nbsp;<span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR}&nbsp;<input class="btnlite" type="submit" name="sort" value="{L_GO}" /></span></td>
</tr>
<tr>
<th height="28" nowrap="nowrap">{L_AUTHOR}</th>
<th nowrap="nowrap">{L_AUTHOR}</th>
<th nowrap="nowrap">{L_MESSAGE}</th>
<th nowrap="nowrap">{L_SELECT}</th>
</tr>
@ -73,7 +73,7 @@
<!-- IF postrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td align="center"><b class="postauthor">{postrow.POSTER_NAME}</b></td>
<td width="100%" height="28">
<td width="100%">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr valign="top">
<td class="gensmall" nowrap="nowrap">&nbsp;<b>{L_POST_SUBJECT}:</b>&nbsp;</td>
@ -89,7 +89,7 @@
<td valign="bottom">
<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr valign="middle">
<td height="28" align="center"><span class="gensmall">[ <a href="{postrow.U_POST_DETAILS}">{L_POST_DETAILS}</a> ]</span></td>
<td align="center"><span class="gensmall">[ <a href="{postrow.U_POST_DETAILS}">{L_POST_DETAILS}</a> ]</span></td>
</tr>
</table>
</td>
@ -120,7 +120,7 @@
</tr>
<!-- END postrow -->
<tr>
<td class="cat" colspan="3" height="28" align="center"><select name="action"><option value="" selected="selected">{L_SELECT_ACTION}</option>
<td class="cat" colspan="3" align="center"><select name="action"><option value="" selected="selected">{L_SELECT_ACTION}</option>
<!-- IF S_CAN_APPROVE --><option value="approve">{L_APPROVE_POSTS}</option><!-- ENDIF -->
<!-- IF S_CAN_LOCK --><option value="lock_post">{L_LOCK_POST_POSTS} [ {L_LOCK_POST_EXPLAIN} ]</option><option value="unlock_post">{L_UNLOCK_POST_POSTS}</option><!-- ENDIF -->
<!-- IF S_CAN_DELETE --><option value="delete_post">{L_DELETE_POSTS}</option><!-- ENDIF -->

View file

@ -4,13 +4,13 @@
<table class="tablebg" width="100%" cellspacing="1" cellpadding="2" border="0">
<tr>
<th colspan="<!-- IF S_TOPIC_ID -->4<!-- ELSE -->5<!-- ENDIF -->" height="28" nowrap="nowrap">{L_DISPLAY_OPTIONS}</th>
<th colspan="<!-- IF S_TOPIC_ID -->4<!-- ELSE -->5<!-- ENDIF -->" nowrap="nowrap">{L_DISPLAY_OPTIONS}</th>
</tr>
<tr>
<td colspan="<!-- IF S_TOPIC_ID -->4<!-- ELSE -->5<!-- ENDIF -->" class="cat" height="28" align="center"><span class="gensmall">{L_DISPLAY_LOG}:</span> {S_SELECT_SORT_DAYS}&nbsp;<span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR}&nbsp;<input class="btnlite" type="submit" name="sort" value="{L_GO}" /></span></td>
<td colspan="<!-- IF S_TOPIC_ID -->4<!-- ELSE -->5<!-- ENDIF -->" class="cat" align="center"><span class="gensmall">{L_DISPLAY_LOG}:</span> {S_SELECT_SORT_DAYS}&nbsp;<span class="gensmall">{L_SORT_BY}</span> {S_SELECT_SORT_KEY} {S_SELECT_SORT_DIR}&nbsp;<input class="btnlite" type="submit" name="sort" value="{L_GO}" /></span></td>
</tr>
<tr>
<th width="15%" height="28" nowrap="nowrap">{L_USERNAME}</th>
<th width="15%" nowrap="nowrap">{L_USERNAME}</th>
<th width="12%" nowrap="nowrap">{L_IP}</th>
<th width="18%" nowrap="nowrap">{L_TIME}</th>
<th width="45%" nowrap="nowrap">{L_ACTION}</th>

View file

@ -2,7 +2,7 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th colspan="2" height="28" align="center">{L_POST}</th>
<th colspan="2" align="center">{L_POST}</th>
</tr>
<tr>
<td class="row1" align="center">
@ -37,7 +37,7 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th height="28" align="center">{L_ADD_WARNING}</th>
<th align="center">{L_ADD_WARNING}</th>
</tr>
<tr>
<td class="row3" align="center"><span class="genmed">{L_ADD_WARNING_EXPLAIN}</span></td>

View file

@ -2,7 +2,7 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th colspan="2" height="28" align="center">{USERNAME}</th>
<th colspan="2" align="center">{USERNAME}</th>
</tr>
<tr>
<td class="row1" align="center">
@ -50,7 +50,7 @@
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="tablebg">
<tr>
<th height="28" align="center">{L_ADD_WARNING}</th>
<th align="center">{L_ADD_WARNING}</th>
</tr>
<tr>
<td class="row3" align="center"><span class="genmed">{L_ADD_WARNING_EXPLAIN}</span></td>

View file

@ -72,7 +72,7 @@
<!-- BEGINELSE -->
<tr>
<td class="row1" colspan="<!-- IF S_SEARCH_USER and S_FORM_NAME -->9<!-- ELSE -->8<!-- ENDIF -->" height="28" align="center">
<td class="row1" colspan="<!-- IF S_SEARCH_USER and S_FORM_NAME -->9<!-- ELSE -->8<!-- ENDIF -->" align="center">
<span class="gen"><!-- IF S_SHOW_GROUP -->{L_NO_GROUP_MEMBERS}<!-- ELSE -->{L_NO_MEMBERS}<!-- ENDIF --></span>
</td>
</tr>

View file

@ -79,7 +79,7 @@ function checkForm(formObj)
</td>
</tr>
<tr>
<td class="cat" colspan="2" height="28" align="center"><input type="submit" tabindex="6" name="submit" class="btnmain" value="{L_SEND_EMAIL}" /></td>
<td class="cat" colspan="2" align="center"><input type="submit" tabindex="6" name="submit" class="btnmain" value="{L_SEND_EMAIL}" /></td>
</tr>
</table>

View file

@ -6,7 +6,9 @@
<tr>
<td class="row1" width="20%"><b class="genmed">{L_GROUP_NAME}:</b></td>
<td class="row2"><b class="gen"<!-- IF GROUP_COLOR --> style="color:#{GROUP_COLOR}"<!-- ENDIF -->>{GROUP_NAME}</b></td>
<!-- IF AVATAR_IMG or RANK_IMG or GROUP_RANK or U_PM -->
<td class="row1" width="33%" rowspan="2" align="center"><!-- IF AVATAR_IMG -->{AVATAR_IMG}<br /><!-- ENDIF --><!-- IF RANK_IMG -->{RANK_IMG}<!-- ENDIF --><!-- IF GROUP_RANK --><span class="gensmall">{GROUP_RANK}</span><br /><br /><!-- ENDIF --><!-- IF U_PM --><a href="{U_PM}">{PM_IMG}</a><!-- ENDIF --></td>
<!-- ENDIF -->
</tr>
<tr>
<td class="row1" width="20%"><b class="genmed">{L_GROUP_DESC}:</b></td>

View file

@ -17,20 +17,6 @@
<td class="row2"><span class="gen"><b>{USERNAME}</b> [ {IM_CONTACT} ]</span> <!-- IF PRESENCE_IMG -->{PRESENCE_IMG}<!-- ENDIF --></td>
</tr>
<!-- IF S_SEND_ICQ -->
<tr>
<td class="row1"><b class="genmed">{L_IM_NAME}: </b></td>
<td class="row2"><input class="post" type="text" name="from" size="20" maxlength="40" /></td>
</tr>
<tr>
<td class="row1"><b class="genmed">{L_IM_MESSAGE}: </b></td>
<td class="row2"><textarea class="post" name="body" rows="5" cols="45"></textarea></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center"><input type="hidden" name="fromemail" value="{EMAIL}" /><input type="hidden" name="subject" value="{SITENAME}" /><input type="hidden" name="to" value="{IM_CONTACT}" /><input class="btnmain" name="submit" type="submit" value="{L_IM_SEND}" /></td>
</tr>
<!-- ENDIF -->
<!-- IF S_SEND_AIM -->
<tr>
<td class="row1" colspan="2" align="center"><br /><a class="gen" href="aim:addbuddy?screenname={IM_CONTACT}">{L_IM_ADD_CONTACT}</a><br /><a class="gen" href="aim:goim?screenname={IM_CONTACT}&message={SITENAME}">{L_IM_SEND_MESSAGE}</a><br /><br /><a class="gensmall" href="http://www.aol.co.uk/aim/index.html" target="_blank">{L_IM_DOWNLOAD_APP}</a> | <a class="gensmall" href="http://aimexpress.oscar.aol.com/aimexpress/launch.adp?Brand=AIM" target="_blank">{L_IM_AIM_EXPRESS}</a> </td>

View file

@ -30,7 +30,7 @@
</tr>
<!-- BEGINELSE -->
<tr>
<td class="row1" colspan="9" height="28" align="center"><span class="gen">{L_NO_MEMBERS}</span></td>
<td class="row1" colspan="9" align="center"><span class="gen">{L_NO_MEMBERS}</span></td>
</tr>
<!-- END admin -->
<tr class="row3">
@ -53,7 +53,7 @@
</tr>
<!-- BEGINELSE -->
<tr>
<td class="row1" colspan="9" height="28" align="center"><span class="gen">{L_NO_MEMBERS}</span></td>
<td class="row1" colspan="9" align="center"><span class="gen">{L_NO_MEMBERS}</span></td>
</tr>
<!-- END mod -->
</table>

View file

@ -20,7 +20,7 @@
<!-- ENDIF -->
<tr>
<th colspan="2" height="28">{L_ADD_ATTACHMENT}</th>
<th colspan="2">{L_ADD_ATTACHMENT}</th>
</tr>
<tr>
<td class="row3" colspan="2"><span class="gensmall">{L_ADD_ATTACHMENT_EXPLAIN}</span></td>
@ -50,7 +50,7 @@
<!-- IF S_HAS_ATTACHMENTS -->
<tr>
<th colspan="2" height="28">{L_POSTED_ATTACHMENTS}</th>
<th colspan="2">{L_POSTED_ATTACHMENTS}</th>
</tr>
<!-- BEGIN attach_row -->

View file

@ -386,7 +386,7 @@ function checkForm()
<!-- IF S_CONFIRM_CODE -->
<tr>
<th colspan="2" height="28" valign="middle">{L_POST_CONFIRMATION}</th>
<th colspan="2" valign="middle">{L_POST_CONFIRMATION}</th>
</tr>
<tr>
<td class="row3" colspan="2"><span class="gensmall">{L_POST_CONFIRM_EXPLAIN}</span></td>

View file

@ -1,6 +1,6 @@
<tr>
<th colspan="2" height="28">{L_ADD_POLL}</th>
<th colspan="2">{L_ADD_POLL}</th>
</tr>
<tr>
<td class="row3" colspan="2"><span class="gensmall">{L_ADD_POLL_EXPLAIN}</span></td>

View file

@ -28,7 +28,7 @@ function smiley(text) {
<td>
<table class="tablebg" width="95%" cellspacing="1" cellpadding="4" border="0">
<tr>
<th height="28">{L_SMILIES}</th>
<th>{L_SMILIES}</th>
</tr>
<tr>
<td class="row1" align="center" valign="middle"><!-- BEGIN smiley --> <a href="javascript:smiley('{smiley.A_SMILEY_CODE}')"><img src="{smiley.SMILEY_IMG}" width="{smiley.SMILEY_WIDTH}" height="{smiley.SMILEY_HEIGHT}" border="0" alt="{smiley.SMILEY_DESC}" title="{smiley.SMILEY_DESC}" hspace="2" vspace="2" onclick="smiley('{smiley.A_SMILEY_CODE}');return false" /></a> <!-- END smiley --><br /><a class="nav" href="javascript:window.close();">{L_CLOSE_WINDOW}</a></td>

View file

@ -46,10 +46,10 @@
<table class="tablebg" width="100%" cellspacing="1">
<tr>
<th height="28">{L_TITLE}</th>
<th>{L_TITLE}</th>
</tr>
<tr class="row1">
<td height="25" align="center"><b class="genmed">{L_UCP_NO_ATTACHMENTS}</b></td>
<td align="center"><b class="genmed">{L_UCP_NO_ATTACHMENTS}</b></td>
</tr>
</table>

View file

@ -17,7 +17,7 @@
<table class="tablebg" width="100%" cellspacing="1">
<tr>
<th colspan="2" height="28" valign="middle">{L_REGISTRATION}</th>
<th colspan="2" valign="middle">{L_REGISTRATION}</th>
</tr>
<!-- IF ERROR -->
@ -73,7 +73,7 @@
<!-- IF S_CONFIRM_CODE -->
<tr>
<th colspan="2" height="28" valign="middle">{L_CONFIRMATION}</th>
<th colspan="2" valign="middle">{L_CONFIRMATION}</th>
</tr>
<tr>
<td class="row3" colspan="2"><span class="gensmall">{L_CONFIRM_EXPLAIN}</span></td>
@ -89,7 +89,7 @@
<!-- IF S_COPPA -->
<tr>
<th colspan="2" height="28" valign="middle">{L_COPPA_COMPLIANCE}</th>
<th colspan="2" valign="middle">{L_COPPA_COMPLIANCE}</th>
</tr>
<tr>
<td class="row3" colspan="2"><span class="gensmall">{L_COPPA_EXPLAIN}</span></td>
@ -97,7 +97,7 @@
<!-- ENDIF -->
<tr>
<td class="cat" colspan="2" align="center" height="28">{S_HIDDEN_FIELDS}<input class="btnmain" type="submit" name="submit" value="{L_SUBMIT}" />&nbsp;&nbsp;<input class="btnlite" type="reset" value="{L_RESET}" name="reset" /></td>
<td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS}<input class="btnmain" type="submit" name="submit" value="{L_SUBMIT}" />&nbsp;&nbsp;<input class="btnlite" type="reset" value="{L_RESET}" name="reset" /></td>
</tr>
</table>

View file

@ -17,7 +17,7 @@
<td class="row2"><input type="text" class="post" name="email" size="25" maxlength="255" value="{EMAIL}" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center" height="28">{S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{L_SUBMIT}" class="btnmain" />&nbsp;&nbsp;<input type="reset" value="{L_RESET}" name="reset" class="btnlite" /></td>
<td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{L_SUBMIT}" class="btnmain" />&nbsp;&nbsp;<input type="reset" value="{L_RESET}" name="reset" class="btnlite" /></td>
</tr>
</table>

View file

@ -17,7 +17,7 @@
<td class="row2"><input type="text" class="post" name="email" size="25" maxlength="255" value="{EMAIL}" /></td>
</tr>
<tr>
<td class="cat" colspan="2" align="center" height="28">{S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{L_SUBMIT}" class="btnmain" />&nbsp;&nbsp;<input type="reset" value="{L_RESET}" name="reset" class="btnlite" /></td>
<td class="cat" colspan="2" align="center">{S_HIDDEN_FIELDS}<input type="submit" name="submit" value="{L_SUBMIT}" class="btnmain" />&nbsp;&nbsp;<input type="reset" value="{L_RESET}" name="reset" class="btnlite" /></td>
</tr>
</table>

View file

@ -55,7 +55,7 @@
<td class="row2" width="100" align="center"><p class="topicauthor">{topicrow.TOPIC_AUTHOR}</p></td>
<td class="row1" width="50" align="center"><p class="topicdetails">{topicrow.REPLIES}</p></td>
<td class="row2" width="50" align="center"><p class="topicdetails">{topicrow.VIEWS}</p></td>
<td class="row1" width="120" align="center">
<td class="row1" width="140" align="center">
<p class="topicdetails">{topicrow.LAST_POST_TIME}</p>
<p class="topicdetails"><!-- IF topicrow.U_LAST_POST_AUTHOR --><a href="{topicrow.U_LAST_POST_AUTHOR}">{topicrow.LAST_POST_AUTHOR}</a><!-- ELSE -->{topicrow.LAST_POST_AUTHOR}<!-- ENDIF -->
<a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a>
@ -176,7 +176,7 @@
<td class="row2" width="100" align="center"><p class="topicauthor">{topicrow.TOPIC_AUTHOR}</p></td>
<td class="row1" width="50" align="center"><p class="topicdetails">{topicrow.REPLIES}</p></td>
<td class="row2" width="50" align="center"><p class="topicdetails">{topicrow.VIEWS}</p></td>
<td class="row1" width="120" align="center">
<td class="row1" width="140" align="center">
<p class="topicdetails">{topicrow.LAST_POST_TIME}</p>
<p class="topicdetails"><!-- IF topicrow.U_LAST_POST_AUTHOR --><a href="{topicrow.U_LAST_POST_AUTHOR}">{topicrow.LAST_POST_AUTHOR}</a><!-- ELSE -->{topicrow.LAST_POST_AUTHOR}<!-- ENDIF -->
<a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a>

View file

@ -609,6 +609,11 @@ input.radio {
color: #006699;
}
.sep {
color: black;
background-color: #FFA34F;
}
table.colortable td {
padding: 0;
}

View file

@ -1028,7 +1028,7 @@ while ($row = $db->sql_fetchrow($result))
if (!empty($row['user_icq']))
{
$user_cache[$poster_id]['icq'] = append_sid("{$phpbb_root_path}memberlist.$phpEx", "mode=contact&amp;action=icq&amp;u=$poster_id");
$user_cache[$poster_id]['icq'] = 'http://www.icq.com/people/webmsg.php?to=' . $row['user_icq'];
$user_cache[$poster_id]['icq_status_img'] = '<img src="http://web.icq.com/whitepages/online?icq=' . $row['user_icq'] . '&amp;img=5" width="18" height="18" alt="" />';
}
else