prosilver adjustments for important announcements in ucp - #9995
MCP fixes for user notes/warnings - #9981
Preserving imageset values on save/edit
find a member link for Mass PM's - #9925
syndicate window.onload events where necessary - #9878
Duplicate topics in forums with announcements - #9840
Email template for forced re-activation - #9808
Topic pagination adjustment - #9763
Changed compose message layout in UCP - #9706, #9702
Fixed inline attachment font size (hopefully)


git-svn-id: file:///svn/phpbb/trunk@7384 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Meik Sievertsen 2007-04-22 15:27:40 +00:00
parent 782c536c70
commit 550f270a00
54 changed files with 725 additions and 466 deletions

View file

@ -49,7 +49,7 @@
<dl> <dl>
<dt><label for="dateoptions">{L_BOARD_DATE_FORMAT}:</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt> <dt><label for="dateoptions">{L_BOARD_DATE_FORMAT}:</label><br /><span>{L_BOARD_DATE_FORMAT_EXPLAIN}</span></dt>
<dd><select name="dateoptions" id="dateoptions" onchange="if(this.value=='custom'){dE('custom_date',1);}else{dE('custom_date',-1);} if (this.value == 'custom') { document.getElementById('dateformat').value = '{A_DEFAULT_DATEFORMAT}'; } else { document.getElementById('dateformat').value = this.value; }">{S_DATEFORMAT_OPTIONS}</select></dd> <dd><select name="dateoptions" id="dateoptions" onchange="if(this.value=='custom'){dE('custom_date',1);}else{dE('custom_date',-1);} if (this.value == 'custom') { document.getElementById('dateformat').value = '{A_DEFAULT_DATEFORMAT}'; } else { document.getElementById('dateformat').value = this.value; }">{S_DATEFORMAT_OPTIONS}</select></dd>
<dd><div id="custom_date"<!-- IF not S_CUSTOM_DATEFORMAT --> style="display:none;"<!-- ENDIF -->><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" /></div></dd> <dd><div id="custom_date"<!-- IF not S_CUSTOM_DATEFORMAT --> style="display:none;"<!-- ENDIF -->><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="30" /></div></dd>
</dl> </dl>
</fieldset> </fieldset>

View file

@ -701,6 +701,7 @@ optgroup, select {
cursor: pointer; cursor: pointer;
vertical-align: middle; vertical-align: middle;
width: auto; width: auto;
color: #000;
} }
optgroup { optgroup {
@ -710,6 +711,7 @@ optgroup {
option { option {
padding: 0 1em 0 0; padding: 0 1em 0 0;
color: #000;
} }
.rtl option { .rtl option {
@ -801,8 +803,8 @@ fieldset.display-options select, fieldset.display-options input, fieldset.displa
} }
select option.disabled { select option.disabled {
background-color: #BBBBBB; background-color: #bbb;
color: #FFFFFF; color: #fff;
} }
/* Special case inputs */ /* Special case inputs */

View file

@ -200,9 +200,24 @@ p a {
<div class="paragraph"> <div class="paragraph">
<p>Installation and update/conversion instructions can be found in the <a href="INSTALL.html">INSTALL</a> document contained in this distribution. If you are intending to convert from a previous phpBB 2.0.x installation we highly recommend you backup any existing data before proceeding!</p> <p>Installation, update and conversion instructions can be found in the <a href="INSTALL.html">INSTALL</a> document contained in this distribution. If you are intending to convert from a previous phpBB 2.0.x installation we highly recommend you backup any existing data before proceeding!</p>
<p>Users of phpBB3 Beta versions cannot directly update or convert.</p> <p>Users of phpBB3 Beta versions cannot directly update.</p>
<p>Please note that we won't support the following installation types:</p>
<ul class="menu">
<li>Updates from phpBB3 Beta versions to phpBB3 RC1 and higher</li>
<li>Conversions from phpBB 2.0.x to phpBB3 Beta versions</li>
<li>phpBB3 Beta installations</li>
</ul>
<p>We give support for the following installation types:</p>
<ul class="menu">
<li>Updates from phpBB3 RC1 to any higher version</li>
<li>Conversions from phpBB 2.0.x to phpBB3 RC1 and higher</li>
<li>New installations of phpBB3 RC1 and higher</li>
</ul>
</div> </div>
<a href="#top">Top</a> <a href="#top">Top</a>

View file

@ -1421,7 +1421,9 @@ parse_css_file = {PARSE_CSS_FILE}
global $db, $user, $phpbb_root_path, $cache, $template; global $db, $user, $phpbb_root_path, $cache, $template;
$this->page_title = 'EDIT_IMAGESET'; $this->page_title = 'EDIT_IMAGESET';
$update = (isset($_POST['update'])) ? true : false; $update = (isset($_POST['update'])) ? true : false;
$imgname = request_var('imgname', ''); $imgname = request_var('imgname', '');
$imgpath = request_var('imgpath', ''); $imgpath = request_var('imgpath', '');
$imgsize = request_var('imgsize', false); $imgsize = request_var('imgsize', false);
@ -1455,12 +1457,13 @@ parse_css_file = {PARSE_CSS_FILE}
AND image_name = '" . $db->sql_escape($imgname) . "'$sql_extra"; AND image_name = '" . $db->sql_escape($imgname) . "'$sql_extra";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$imageset_data_row = $db->sql_fetchrow($result); $imageset_data_row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$image_filename = $imageset_data_row['image_filename']; $image_filename = $imageset_data_row['image_filename'];
$image_width = $imageset_data_row['image_width']; $image_width = $imageset_data_row['image_width'];
$image_height = $imageset_data_row['image_height']; $image_height = $imageset_data_row['image_height'];
$image_lang = $imageset_data_row['image_lang']; $image_lang = $imageset_data_row['image_lang'];
$image_id = $imageset_data_row['image_id']; $image_id = $imageset_data_row['image_id'];
$db->sql_freeresult($result);
if (!$imageset_row) if (!$imageset_row)
{ {
@ -1484,17 +1487,16 @@ parse_css_file = {PARSE_CSS_FILE}
if ($valid_name) if ($valid_name)
{ {
// If imgwidth and imgheight are non-zero grab the actual size // If imgwidth and imgheight are non-zero grab the actual size
// from the image itself ... we ignore width settings for the poll center // from the image itself ... we ignore width settings for the poll center image
// image
$imgwidth = $imgheight = 0; $imgwidth = $imgheight = 0;
$imglang = ''; $imglang = '';
if ($imageset_path && !file_exists("{$phpbb_root_path}styles/$imageset_path/imageset/$imgpath")) if ($imgpath && !file_exists("{$phpbb_root_path}styles/$imageset_path/imageset/$imgpath"))
{ {
trigger_error($user->lang['NO_IMAGE_ERROR'] . adm_back_link($this->u_action), E_USER_WARNING); trigger_error($user->lang['NO_IMAGE_ERROR'] . adm_back_link($this->u_action), E_USER_WARNING);
} }
if ($imgsize && $imageset_path) if ($imgsize && $imgpath)
{ {
list($imgwidth, $imgheight) = getimagesize("{$phpbb_root_path}styles/$imageset_path/imageset/$imgpath"); list($imgwidth, $imgheight) = getimagesize("{$phpbb_root_path}styles/$imageset_path/imageset/$imgpath");
$imgwidth = ($imgname != 'poll_center') ? (int) $imgwidth : 0; $imgwidth = ($imgname != 'poll_center') ? (int) $imgwidth : 0;
@ -1538,6 +1540,11 @@ parse_css_file = {PARSE_CSS_FILE}
add_log('admin', 'LOG_IMAGESET_EDIT', $imageset_name); add_log('admin', 'LOG_IMAGESET_EDIT', $imageset_name);
$template->assign_var('SUCCESS', true); $template->assign_var('SUCCESS', true);
$image_filename = $imgfilename;
$image_width = $imgwidth;
$image_height = $imgheight;
$image_lang = $imglang;
} }
} }
} }
@ -1647,7 +1654,6 @@ parse_css_file = {PARSE_CSS_FILE}
} }
$imgsize_bool = (!empty($imgname) && $image_width && $image_height) ? true : false; $imgsize_bool = (!empty($imgname) && $image_width && $image_height) ? true : false;
$image_request = '../styles/' . $imageset_path . '/imageset/' . ($image_lang ? $imgnamelang . '/' : '') . $image_filename; $image_request = '../styles/' . $imageset_path . '/imageset/' . ($image_lang ? $imgnamelang . '/' : '') . $image_filename;
$template->assign_vars(array( $template->assign_vars(array(

View file

@ -282,6 +282,7 @@ class acp_users
$key_len = 54 - (strlen($server_url)); $key_len = 54 - (strlen($server_url));
$key_len = ($key_len > 6) ? $key_len : 6; $key_len = ($key_len > 6) ? $key_len : 6;
$user_actkey = substr($user_actkey, 0, $key_len); $user_actkey = substr($user_actkey, 0, $key_len);
$email_template = ($user_row['user_type'] == USER_NORMAL) ? 'user_reactivate_account' : 'user_resend_inactive';
if ($user_row['user_type'] == USER_NORMAL) if ($user_row['user_type'] == USER_NORMAL)
{ {
@ -295,7 +296,7 @@ class acp_users
$messenger = new messenger(false); $messenger = new messenger(false);
$messenger->template('user_resend_inactive', $user_row['user_lang']); $messenger->template($email_template, $user_row['user_lang']);
$messenger->to($user_row['user_email'], $user_row['username']); $messenger->to($user_row['user_email'], $user_row['username']);
@ -1168,7 +1169,7 @@ class acp_users
if ($submit) if ($submit)
{ {
$error = validate_data($data, array( $error = validate_data($data, array(
'dateformat' => array('string', false, 3, 30), 'dateformat' => array('string', false, 1, 30),
'lang' => array('match', false, '#^[a-z_\-]{2,}$#i'), 'lang' => array('match', false, '#^[a-z_\-]{2,}$#i'),
'tz' => array('num', false, -14, 14), 'tz' => array('num', false, -14, 14),

View file

@ -43,6 +43,9 @@ class dbal_mssql_odbc extends dbal
$this->server = $sqlserver . (($port) ? ':' . $port : ''); $this->server = $sqlserver . (($port) ? ':' . $port : '');
$this->dbname = $database; $this->dbname = $database;
//
// @ini_set('odbc.defaultlrl', '32M');
$this->db_connect_id = ($this->persistency) ? @odbc_pconnect($this->server, $this->user, $sqlpassword) : @odbc_connect($this->server, $this->user, $sqlpassword); $this->db_connect_id = ($this->persistency) ? @odbc_pconnect($this->server, $this->user, $sqlpassword) : @odbc_connect($this->server, $this->user, $sqlpassword);
return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error('');

View file

@ -567,9 +567,11 @@ function topic_generate_pagination($replies, $url)
for ($j = 0; $j < $replies + 1; $j += $per_page) for ($j = 0; $j < $replies + 1; $j += $per_page)
{ {
$pagination .= '<a href="' . $url . '&amp;start=' . $j . '">' . $times . '</a>'; $pagination .= '<a href="' . $url . '&amp;start=' . $j . '">' . $times . '</a>';
if ($times == 1 && $total_pages > 4) if ($times == 1 && $total_pages > 5)
{ {
$pagination .= ' ... '; $pagination .= ' ... ';
// Display the last three pages
$times = $total_pages - 3; $times = $total_pages - 3;
$j += ($total_pages - 4) * $per_page; $j += ($total_pages - 4) * $per_page;
} }

View file

@ -464,6 +464,33 @@ class p_master
} }
} }
/**
* Appending url parameter to the currently active module.
*
* This function is called for adding specific url parameters while executing the current module.
* It is doing the same as the _module_{name}_url() function, apart from being able to be called after
* having dynamically parsed specific parameters. This allows more freedom in choosing additional parameters.
* One example can be seen in /includes/mcp/mcp_notes.php - $this->p_master->adjust_url() call.
*
* @param string $url_extra Extra url parameters, e.g.: &amp;u=$user_id
*
*/
function adjust_url($url_extra)
{
if (empty($this->module_ary[$this->active_module_row_id]))
{
return;
}
$row = &$this->module_ary[$this->active_module_row_id];
// We check for the same url_extra in $row['url_extra'] to overcome doubled additions...
if (strpos($row['url_extra'], $url_extra) === false)
{
$row['url_extra'] .= $url_extra;
}
}
/** /**
* Check if a module is active * Check if a module is active
*/ */

View file

@ -1184,6 +1184,12 @@ function validate_username($username, $allowed_username = false)
return false; return false;
} }
// ... fast checks first.
if (strpos($username, '&quot;') !== false || strpos($username, '"') !== false)
{
return 'INVALID_CHARS';
}
$mbstring = $pcre = false; $mbstring = $pcre = false;
// generic UTF-8 character types supported? // generic UTF-8 character types supported?
@ -1247,6 +1253,7 @@ function validate_username($username, $allowed_username = false)
break; break;
case 'USERNAME_ASCII': case 'USERNAME_ASCII':
default:
$pcre = true; $pcre = true;
$regex = '[\x01-\x7F]+'; $regex = '[\x01-\x7F]+';
break; break;
@ -1269,11 +1276,6 @@ function validate_username($username, $allowed_username = false)
} }
} }
if (strpos($username, '&quot;') !== false || strpos($username, '"') !== false)
{
return 'INVALID_CHARS';
}
$sql = 'SELECT username $sql = 'SELECT username
FROM ' . USERS_TABLE . " FROM ' . USERS_TABLE . "
WHERE username_clean = '" . $db->sql_escape($clean_username) . "'"; WHERE username_clean = '" . $db->sql_escape($clean_username) . "'";

View file

@ -18,7 +18,7 @@ class mcp_notes
var $p_master; var $p_master;
var $u_action; var $u_action;
function mcp_main(&$p_master) function mcp_notes(&$p_master)
{ {
$this->p_master = &$p_master; $this->p_master = &$p_master;
} }
@ -91,6 +91,11 @@ class mcp_notes
$user_id = $userrow['user_id']; $user_id = $userrow['user_id'];
// Populate user id to the currently active module (this module)
// The following method is another way of adjusting module urls. It is the easy variant if we want
// to directly adjust the current module url based on data retrieved within the same module.
$this->p_master->adjust_url('&amp;u=' . $user_id);
$deletemark = ($action == 'del_marked') ? true : false; $deletemark = ($action == 'del_marked') ? true : false;
$deleteall = ($action == 'del_all') ? true : false; $deleteall = ($action == 'del_all') ? true : false;
$marked = request_var('marknote', array(0)); $marked = request_var('marknote', array(0));

View file

@ -66,7 +66,7 @@ class mcp_reports
$sql = 'SELECT r.post_id, r.user_id, r.report_id, r.report_closed, report_time, r.report_text, rr.reason_title, rr.reason_description, u.username, u.username_clean, u.user_colour $sql = 'SELECT r.post_id, r.user_id, r.report_id, r.report_closed, report_time, r.report_text, rr.reason_title, rr.reason_description, u.username, u.username_clean, u.user_colour
FROM ' . REPORTS_TABLE . ' r, ' . REPORTS_REASONS_TABLE . ' rr, ' . USERS_TABLE . ' u FROM ' . REPORTS_TABLE . ' r, ' . REPORTS_REASONS_TABLE . ' rr, ' . USERS_TABLE . ' u
WHERE ' . (($report_id) ? 'r.report_id = ' . $report_id : "r.post_id = $post_id AND r.report_closed = 0") . ' WHERE ' . (($report_id) ? 'r.report_id = ' . $report_id : "r.post_id = $post_id") . '
AND rr.reason_id = r.reason_id AND rr.reason_id = r.reason_id
AND r.user_id = u.user_id'; AND r.user_id = u.user_id';
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
@ -75,7 +75,12 @@ class mcp_reports
if (!$report) if (!$report)
{ {
trigger_error('NO_REPORT_REPORT'); trigger_error('NO_REPORT');
}
if ($report_id && $report['report_closed'])
{
trigger_error('REPORT_CLOSED');
} }
$post_id = $report['post_id']; $post_id = $report['post_id'];

View file

@ -233,6 +233,7 @@ function mcp_topic_view($id, $mode, $action)
'S_CAN_REPORT' => ($auth->acl_get('m_report', $topic_info['forum_id'])) ? true : false, 'S_CAN_REPORT' => ($auth->acl_get('m_report', $topic_info['forum_id'])) ? true : false,
'S_REPORT_VIEW' => ($action == 'reports') ? true : false, 'S_REPORT_VIEW' => ($action == 'reports') ? true : false,
'S_MERGE_VIEW' => ($action == 'merge') ? true : false, 'S_MERGE_VIEW' => ($action == 'merge') ? true : false,
'S_SPLIT_VIEW' => ($action == 'split') ? true : false,
'S_SHOW_TOPIC_ICONS' => $s_topic_icons, 'S_SHOW_TOPIC_ICONS' => $s_topic_icons,
'S_TOPIC_ICON' => $icon_id, 'S_TOPIC_ICON' => $icon_id,

View file

@ -18,7 +18,7 @@ class mcp_warn
var $p_master; var $p_master;
var $u_action; var $u_action;
function mcp_main(&$p_master) function mcp_warn(&$p_master)
{ {
$this->p_master = &$p_master; $this->p_master = &$p_master;
} }
@ -40,32 +40,31 @@ class mcp_warn
switch ($mode) switch ($mode)
{ {
case 'front': case 'front':
mcp_warn_front_view($id, $mode); $this->mcp_warn_front_view();
$this->tpl_name = 'mcp_warn_front'; $this->tpl_name = 'mcp_warn_front';
break; break;
case 'list': case 'list':
mcp_warn_list_view($id, $mode, $action); $this->mcp_warn_list_view($action);
$this->tpl_name = 'mcp_warn_list'; $this->tpl_name = 'mcp_warn_list';
break; break;
case 'warn_post': case 'warn_post':
mcp_warn_post_view($id, $mode, $action); $this->mcp_warn_post_view($action);
$this->tpl_name = 'mcp_warn_post'; $this->tpl_name = 'mcp_warn_post';
break; break;
case 'warn_user': case 'warn_user':
mcp_warn_user_view($id, $mode, $action); $this->mcp_warn_user_view($action);
$this->tpl_name = 'mcp_warn_user'; $this->tpl_name = 'mcp_warn_user';
break; break;
} }
} }
}
/** /**
* Generates the summary on the main page of the warning module * Generates the summary on the main page of the warning module
*/ */
function mcp_warn_front_view($id, $mode) function mcp_warn_front_view()
{ {
global $phpEx, $phpbb_root_path, $config; global $phpEx, $phpbb_root_path, $config;
global $template, $db, $user, $auth; global $template, $db, $user, $auth;
@ -74,12 +73,10 @@ function mcp_warn_front_view($id, $mode)
'U_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&amp;form=mcp&amp;field=username&amp;select_single=true'), 'U_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&amp;form=mcp&amp;field=username&amp;select_single=true'),
'UA_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&form=mcp&field=username&select_single=true', false), 'UA_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&form=mcp&field=username&select_single=true', false),
'U_POST_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&amp;mode=warn_user'), 'U_POST_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=warn&amp;mode=warn_user'),
) ));
);
// Obtain a list of the 5 naughtiest users.... // Obtain a list of the 5 naughtiest users....
// These are the 5 users with the highest warning count // These are the 5 users with the highest warning count
$highest = array(); $highest = array();
$count = 0; $count = 0;
@ -97,12 +94,10 @@ function mcp_warn_front_view($id, $mode)
'WARNING_TIME' => $user->format_date($row['user_last_warning']), 'WARNING_TIME' => $user->format_date($row['user_last_warning']),
'WARNINGS' => $row['user_warnings'], 'WARNINGS' => $row['user_warnings'],
) ));
);
} }
// And now the 5 most recent users to get in trouble // And now the 5 most recent users to get in trouble
$sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_colour, u.user_warnings, w.warning_time $sql = 'SELECT u.user_id, u.username, u.username_clean, u.user_colour, u.user_warnings, w.warning_time
FROM ' . USERS_TABLE . ' u, ' . WARNINGS_TABLE . ' w FROM ' . USERS_TABLE . ' u, ' . WARNINGS_TABLE . ' w
WHERE u.user_id = w.user_id WHERE u.user_id = w.user_id
@ -121,8 +116,7 @@ function mcp_warn_front_view($id, $mode)
'WARNING_TIME' => $user->format_date($row['warning_time']), 'WARNING_TIME' => $user->format_date($row['warning_time']),
'WARNINGS' => $row['user_warnings'], 'WARNINGS' => $row['user_warnings'],
) ));
);
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
} }
@ -130,7 +124,7 @@ function mcp_warn_front_view($id, $mode)
/** /**
* Lists all users with warnings * Lists all users with warnings
*/ */
function mcp_warn_list_view($id, $mode, $action) function mcp_warn_list_view($action)
{ {
global $phpEx, $phpbb_root_path, $config; global $phpEx, $phpbb_root_path, $config;
global $template, $db, $user, $auth; global $template, $db, $user, $auth;
@ -170,29 +164,26 @@ function mcp_warn_list_view($id, $mode, $action)
'WARNING_TIME' => $user->format_date($row['user_last_warning']), 'WARNING_TIME' => $user->format_date($row['user_last_warning']),
'WARNINGS' => $row['user_warnings'], 'WARNINGS' => $row['user_warnings'],
) ));
);
} }
$template->assign_vars(array( $template->assign_vars(array(
'U_POST_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&amp;mode=$mode"), 'U_POST_ACTION' => $this->u_action,
'S_CLEAR_ALLOWED' => ($auth->acl_get('a_clearlogs')) ? true : false, 'S_CLEAR_ALLOWED' => ($auth->acl_get('a_clearlogs')) ? true : false,
'S_SELECT_SORT_DIR' => $s_sort_dir, 'S_SELECT_SORT_DIR' => $s_sort_dir,
'S_SELECT_SORT_KEY' => $s_sort_key, 'S_SELECT_SORT_KEY' => $s_sort_key,
'S_SELECT_SORT_DAYS' => $s_limit_days, 'S_SELECT_SORT_DAYS' => $s_limit_days,
'PAGE_NUMBER' => on_page($user_count, $config['topics_per_page'], $start), 'PAGE_NUMBER' => on_page($user_count, $config['topics_per_page'], $start),
'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&amp;mode=$mode&amp;st=$st&amp;sk=$sk&amp;sd=$sd"), $user_count, $config['topics_per_page'], $start), 'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}mcp.$phpEx", "i=warn&amp;mode=list&amp;st=$st&amp;sk=$sk&amp;sd=$sd"), $user_count, $config['topics_per_page'], $start),
'TOTAL_USERS' => ($user_count == 1) ? $user->lang['LIST_USER'] : sprintf($user->lang['LIST_USERS'], $user_count), 'TOTAL_USERS' => ($user_count == 1) ? $user->lang['LIST_USER'] : sprintf($user->lang['LIST_USERS'], $user_count),
) ));
);
} }
/** /**
* Handles warning the user when the warning is for a specific post * Handles warning the user when the warning is for a specific post
*/ */
function mcp_warn_post_view($id, $mode, $action) function mcp_warn_post_view($action)
{ {
global $phpEx, $phpbb_root_path, $config; global $phpEx, $phpbb_root_path, $config;
global $template, $db, $user, $auth; global $template, $db, $user, $auth;
@ -243,6 +234,8 @@ function mcp_warn_post_view($id, $mode, $action)
$user_id = $user_row['user_id']; $user_id = $user_row['user_id'];
$this->p_master->adjust_url('&amp;f=' . $forum_id . '&amp;p=' . $post_id);
if ($warning && $action == 'add_warning') if ($warning && $action == 'add_warning')
{ {
add_warning($user_row, $warning, $notify, $post_id); add_warning($user_row, $warning, $notify, $post_id);
@ -281,7 +274,7 @@ function mcp_warn_post_view($id, $mode, $action)
$avatar_img = get_user_avatar($user_row['user_avatar'], $user_row['user_avatar_type'], $user_row['user_avatar_width'], $user_row['user_avatar_height']); $avatar_img = get_user_avatar($user_row['user_avatar'], $user_row['user_avatar_type'], $user_row['user_avatar_width'], $user_row['user_avatar_height']);
$template->assign_vars(array( $template->assign_vars(array(
'U_POST_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&amp;mode=$mode&amp;p=$post_id"), 'U_POST_ACTION' => $this->u_action . "p=$post_id",
'POST' => $message, 'POST' => $message,
'USERNAME' => $user_row['username'], 'USERNAME' => $user_row['username'],
@ -289,19 +282,19 @@ function mcp_warn_post_view($id, $mode, $action)
'RANK_TITLE' => $rank_title, 'RANK_TITLE' => $rank_title,
'JOINED' => $user->format_date($user_row['user_regdate']), 'JOINED' => $user->format_date($user_row['user_regdate']),
'POSTS' => ($user_row['user_posts']) ? $user_row['user_posts'] : 0, 'POSTS' => ($user_row['user_posts']) ? $user_row['user_posts'] : 0,
'WARNINGS' => ($user_row['user_warnings']) ? $user_row['user_warnings'] : 0,
'AVATAR_IMG' => $avatar_img, 'AVATAR_IMG' => $avatar_img,
'RANK_IMG' => $rank_img, 'RANK_IMG' => $rank_img,
'L_WARNING_POST_DEFAULT' => sprintf($user->lang['WARNING_POST_DEFAULT'], generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&amp;p=$post_id"), 'L_WARNING_POST_DEFAULT' => sprintf($user->lang['WARNING_POST_DEFAULT'], generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&amp;p=$post_id"),
) ));
);
} }
/** /**
* Handles warning the user * Handles warning the user
*/ */
function mcp_warn_user_view($id, $mode, $action) function mcp_warn_user_view($action)
{ {
global $phpEx, $phpbb_root_path, $config, $module; global $phpEx, $phpbb_root_path, $config, $module;
global $template, $db, $user, $auth; global $template, $db, $user, $auth;
@ -333,6 +326,8 @@ function mcp_warn_user_view($id, $mode, $action)
$user_id = $user_row['user_id']; $user_id = $user_row['user_id'];
$this->p_master->adjust_url('&amp;u=' . $user_id);
if ($warning && $action == 'add_warning') if ($warning && $action == 'add_warning')
{ {
add_warning($user_row, $warning, $notify); add_warning($user_row, $warning, $notify);
@ -353,7 +348,7 @@ function mcp_warn_user_view($id, $mode, $action)
// OK, they didn't submit a warning so lets build the page for them to do so // OK, they didn't submit a warning so lets build the page for them to do so
$template->assign_vars(array( $template->assign_vars(array(
'U_POST_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&amp;mode=$mode&amp;u=$user_id"), 'U_POST_ACTION' => $this->u_action . "u=$user_id",
'USERNAME' => $user_row['username'], 'USERNAME' => $user_row['username'],
'USER_COLOR' => (!empty($user_row['user_colour'])) ? $user_row['user_colour'] : '', 'USER_COLOR' => (!empty($user_row['user_colour'])) ? $user_row['user_colour'] : '',
@ -364,8 +359,10 @@ function mcp_warn_user_view($id, $mode, $action)
'AVATAR_IMG' => $avatar_img, 'AVATAR_IMG' => $avatar_img,
'RANK_IMG' => $rank_img, 'RANK_IMG' => $rank_img,
) ));
);
return $user_id;
}
} }
/** /**

View file

@ -127,16 +127,19 @@ class ucp_main
$template->assign_block_vars('topicrow', array( $template->assign_block_vars('topicrow', array(
'FORUM_ID' => $forum_id, 'FORUM_ID' => $forum_id,
'TOPIC_ID' => $topic_id, 'TOPIC_ID' => $topic_id,
'LAST_POST_SUBJECT' => $row['topic_last_post_subject'], 'TOPIC_AUTHOR' => get_username_string('username', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']),
'TOPIC_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']),
'TOPIC_AUTHOR_FULL' => get_username_string('full', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']),
'FIRST_POST_TIME' => $user->format_date($row['topic_time']),
'LAST_POST_SUBJECT' => censor_text($row['topic_last_post_subject']),
'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']), 'LAST_POST_TIME' => $user->format_date($row['topic_last_post_time']),
'LAST_VIEW_TIME' => $user->format_date($row['topic_last_view_time']),
'LAST_POST_AUTHOR' => get_username_string('username', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR' => get_username_string('username', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),
'LAST_POST_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR_COLOUR' => get_username_string('colour', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),
'LAST_POST_AUTHOR_FULL' => get_username_string('full', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'LAST_POST_AUTHOR_FULL' => get_username_string('full', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),
'TOPIC_TITLE' => censor_text($row['topic_title']), 'TOPIC_TITLE' => censor_text($row['topic_title']),
'TOPIC_TYPE' => $topic_type, 'TOPIC_TYPE' => $topic_type,
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt), 'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'), 'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
'ATTACH_ICON_IMG' => ($auth->acl_get('u_download') && $auth->acl_get('f_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_topic_attach', '') : '', 'ATTACH_ICON_IMG' => ($auth->acl_get('u_download') && $auth->acl_get('f_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_topic_attach', '') : '',
@ -144,6 +147,7 @@ class ucp_main
'S_USER_POSTED' => (!empty($row['topic_posted']) && $row['topic_posted']) ? true : false, 'S_USER_POSTED' => (!empty($row['topic_posted']) && $row['topic_posted']) ? true : false,
'S_UNREAD' => $unread_topic, 'S_UNREAD' => $unread_topic,
'U_TOPIC_AUTHOR' => get_username_string('profile', $row['topic_poster'], $row['topic_first_poster_name'], $row['topic_first_poster_colour']),
'U_LAST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&amp;t=$topic_id&amp;p=" . $row['topic_last_post_id']) . '#p' . $row['topic_last_post_id'], 'U_LAST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&amp;t=$topic_id&amp;p=" . $row['topic_last_post_id']) . '#p' . $row['topic_last_post_id'],
'U_LAST_POST_AUTHOR' => get_username_string('profile', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'U_LAST_POST_AUTHOR' => get_username_string('profile', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),
'U_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&amp;t=$topic_id&amp;view=unread") . '#unread', 'U_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&amp;t=$topic_id&amp;view=unread") . '#unread',
@ -179,8 +183,9 @@ class ucp_main
// 'S_GROUP_OPTIONS' => $group_options, // 'S_GROUP_OPTIONS' => $group_options,
'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $user->data['user_id'] . '&amp;sr=posts') : '') 'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $user->data['user_id'] . '&amp;sr=posts') : '',
); ));
break; break;
case 'subscribed': case 'subscribed':
@ -305,7 +310,6 @@ class ucp_main
'FORUM_IMAGE' => ($row['forum_image']) ? '<img src="' . $phpbb_root_path . $row['forum_image'] . '" alt="' . $user->lang[$folder_alt] . '" />' : '', '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'] : '', 'FORUM_IMAGE_SRC' => ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',
'FORUM_NAME' => $row['forum_name'], 'FORUM_NAME' => $row['forum_name'],
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'LAST_POST_SUBJECT' => $row['forum_last_post_subject'], 'LAST_POST_SUBJECT' => $row['forum_last_post_subject'],
'LAST_POST_TIME' => $last_post_time, 'LAST_POST_TIME' => $last_post_time,
@ -449,8 +453,6 @@ class ucp_main
'TOPIC_TITLE' => censor_text($row['topic_title']), 'TOPIC_TITLE' => censor_text($row['topic_title']),
'TOPIC_TYPE' => $topic_type, 'TOPIC_TYPE' => $topic_type,
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt), 'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'), 'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
'TOPIC_ICON_IMG' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['img'] : '', 'TOPIC_ICON_IMG' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['img'] : '',
@ -464,8 +466,8 @@ class ucp_main
'U_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&amp;t=$topic_id&amp;view=unread") . '#unread', 'U_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$forum_id&amp;t=$topic_id&amp;view=unread") . '#unread',
'U_LAST_POST' => $view_topic_url . '&amp;p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'], 'U_LAST_POST' => $view_topic_url . '&amp;p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'],
'U_VIEW_TOPIC' => $view_topic_url) 'U_VIEW_TOPIC' => $view_topic_url,
); ));
} }
break; break;
@ -613,7 +615,6 @@ class ucp_main
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt), 'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'), 'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
'ATTACH_ICON_IMG' => ($auth->acl_get('u_download') && $auth->acl_get('f_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_topic_attach', '') : '', 'ATTACH_ICON_IMG' => ($auth->acl_get('u_download') && $auth->acl_get('f_download', $forum_id) && $row['topic_attachment']) ? $user->img('icon_topic_attach', '') : '',
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'U_LAST_POST' => $view_topic_url . '&amp;p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'], 'U_LAST_POST' => $view_topic_url . '&amp;p=' . $row['topic_last_post_id'] . '#p' . $row['topic_last_post_id'],
'U_LAST_POST_AUTHOR' => get_username_string('profile', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']), 'U_LAST_POST_AUTHOR' => get_username_string('profile', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),
@ -621,8 +622,8 @@ class ucp_main
'U_VIEW_TOPIC' => $view_topic_url, 'U_VIEW_TOPIC' => $view_topic_url,
'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id), 'U_VIEW_FORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $forum_id),
'U_MOVE_UP' => ($row['order_id'] != 1) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&amp;mode=bookmarks&amp;move_up=' . $row['order_id']) : '', 'U_MOVE_UP' => ($row['order_id'] != 1) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&amp;mode=bookmarks&amp;move_up=' . $row['order_id']) : '',
'U_MOVE_DOWN' => ($row['order_id'] != $max_order_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&amp;mode=bookmarks&amp;move_down=' . $row['order_id']) : '') 'U_MOVE_DOWN' => ($row['order_id'] != $max_order_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&amp;mode=bookmarks&amp;move_down=' . $row['order_id']) : '',
); ));
} }
break; break;
@ -806,8 +807,11 @@ class ucp_main
'S_DISPLAY_MARK_ALL' => ($mode == 'watched' || ($mode == 'drafts' && !isset($_GET['edit']))) ? true : false, 'S_DISPLAY_MARK_ALL' => ($mode == 'watched' || ($mode == 'drafts' && !isset($_GET['edit']))) ? true : false,
'S_HIDDEN_FIELDS' => (isset($s_hidden_fields)) ? $s_hidden_fields : '', 'S_HIDDEN_FIELDS' => (isset($s_hidden_fields)) ? $s_hidden_fields : '',
'S_UCP_ACTION' => $this->u_action) 'S_UCP_ACTION' => $this->u_action,
);
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),
));
// Set desired template // Set desired template
$this->tpl_name = 'ucp_main_' . $mode; $this->tpl_name = 'ucp_main_' . $mode;

View file

@ -50,7 +50,7 @@ class ucp_prefs
$data['style'] = ($config['override_user_style']) ? $config['default_style'] : $data['style']; $data['style'] = ($config['override_user_style']) ? $config['default_style'] : $data['style'];
$error = validate_data($data, array( $error = validate_data($data, array(
'dateformat' => array('string', false, 3, 30), 'dateformat' => array('string', false, 1, 30),
'lang' => array('match', false, '#^[a-z0-9_\-]{2,}$#i'), 'lang' => array('match', false, '#^[a-z0-9_\-]{2,}$#i'),
'tz' => array('num', false, -14, 14), 'tz' => array('num', false, -14, 14),
)); ));

View file

@ -629,7 +629,7 @@ $lang = array_merge($lang, array(
'LOG_USER_INACTIVE' => '<strong>User deactivated</strong><br />» %s', 'LOG_USER_INACTIVE' => '<strong>User deactivated</strong><br />» %s',
'LOG_USER_MOVE_POSTS' => '<strong>Moved user posts</strong><br />» posts by “%1$s” to forum “%2$s”', 'LOG_USER_MOVE_POSTS' => '<strong>Moved user posts</strong><br />» posts by “%1$s” to forum “%2$s”',
'LOG_USER_NEW_PASSWORD' => '<strong>Changed user password</strong><br />» %s', 'LOG_USER_NEW_PASSWORD' => '<strong>Changed user password</strong><br />» %s',
'LOG_USER_REACTIVATE' => '<strong>Forced user account re-activation</strong><br />» %s', 'LOG_USER_REACTIVATE' => '<strong>Forced user account reactivation</strong><br />» %s',
'LOG_USER_UPDATE_EMAIL' => '<strong>User “%1$s” changed email</strong><br />» from “%2$s” to “%3$s”', 'LOG_USER_UPDATE_EMAIL' => '<strong>User “%1$s” changed email</strong><br />» from “%2$s” to “%3$s”',
'LOG_USER_UPDATE_NAME' => '<strong>Changed username</strong><br />» from “%1$s” to “%2$s”', 'LOG_USER_UPDATE_NAME' => '<strong>Changed username</strong><br />» from “%1$s” to “%2$s”',
'LOG_USER_USER_UPDATE' => '<strong>Updated user details</strong><br />» %s', 'LOG_USER_USER_UPDATE' => '<strong>Updated user details</strong><br />» %s',
@ -642,7 +642,7 @@ $lang = array_merge($lang, array(
'LOG_USER_INACTIVE_USER' => '<strong>User account de-activated</strong>', 'LOG_USER_INACTIVE_USER' => '<strong>User account de-activated</strong>',
'LOG_USER_LOCK' => '<strong>User locked own topic</strong><br />» %s', 'LOG_USER_LOCK' => '<strong>User locked own topic</strong><br />» %s',
'LOG_USER_MOVE_POSTS_USER' => '<strong>Moved all posts to forum</strong>» %s', 'LOG_USER_MOVE_POSTS_USER' => '<strong>Moved all posts to forum</strong>» %s',
'LOG_USER_REACTIVATE_USER' => '<strong>Forced user account re-activation</strong>', 'LOG_USER_REACTIVATE_USER' => '<strong>Forced user account reactivation</strong>',
'LOG_USER_UNLOCK' => '<strong>User unlocked own topic</strong><br />» %s', 'LOG_USER_UNLOCK' => '<strong>User unlocked own topic</strong><br />» %s',
'LOG_USER_WARNING' => '<strong>Added user warning</strong><br />» %s', 'LOG_USER_WARNING' => '<strong>Added user warning</strong><br />» %s',
'LOG_USER_WARNING_BODY' => '<strong>The following warning was issued to this user</strong><br />» %s', 'LOG_USER_WARNING_BODY' => '<strong>The following warning was issued to this user</strong><br />» %s',

View file

@ -54,7 +54,7 @@ $lang = array_merge($lang, array(
'DELETE_USER' => 'Delete user', 'DELETE_USER' => 'Delete user',
'DELETE_USER_EXPLAIN' => 'Please note that deleting a user is final, they cannot be recovered', 'DELETE_USER_EXPLAIN' => 'Please note that deleting a user is final, they cannot be recovered',
'FORCE_REACTIVATION_SUCCESS' => 'Successfully forced re-activation.', 'FORCE_REACTIVATION_SUCCESS' => 'Successfully forced reactivation.',
'FOUNDER' => 'Founder', 'FOUNDER' => 'Founder',
'FOUNDER_EXPLAIN' => 'Founders have all admin permissions and can never be banned, deleted or altered by non-founder members', 'FOUNDER_EXPLAIN' => 'Founders have all admin permissions and can never be banned, deleted or altered by non-founder members',
@ -99,7 +99,7 @@ $lang = array_merge($lang, array(
'USER_ADMIN_DEL_POSTS' => 'Delete all posts', 'USER_ADMIN_DEL_POSTS' => 'Delete all posts',
'USER_ADMIN_DEL_SIG' => 'Delete signature', 'USER_ADMIN_DEL_SIG' => 'Delete signature',
'USER_ADMIN_EXPLAIN' => 'Here you can change your users information and certain specific options. To modify the users permissions please use the user and group permissions system.', 'USER_ADMIN_EXPLAIN' => 'Here you can change your users information and certain specific options. To modify the users permissions please use the user and group permissions system.',
'USER_ADMIN_FORCE' => 'Force re-activation', 'USER_ADMIN_FORCE' => 'Force reactivation',
'USER_ADMIN_MOVE_POSTS' => 'Move all posts', 'USER_ADMIN_MOVE_POSTS' => 'Move all posts',
'USER_ADMIN_SIG_REMOVED' => 'Successfully removed signature from user account.', 'USER_ADMIN_SIG_REMOVED' => 'Successfully removed signature from user account.',
'USER_ATTACHMENTS_REMOVED' => 'Successfully removed all attachments made by this user.', 'USER_ATTACHMENTS_REMOVED' => 'Successfully removed all attachments made by this user.',

View file

@ -0,0 +1,19 @@
Subject: Reactivate your account on "{SITENAME}" - {U_BOARD}
A board administrator forced your account to be reactivated. Your account is currently inactive.
Please follow the steps listed here to reactivate your account.
Please keep this email for your records. Your account information is as follows:
----------------------------
Username: {USERNAME}
----------------------------
Your password has been encrypted in our database. Should you forget your password you can request a new one which will be activated in the same way as this account.
Please visit the following link to reactivate your account:
{U_ACTIVATE}
{EMAIL_SIG}

View file

@ -216,6 +216,7 @@ $lang = array_merge($lang, array(
'NO_POST_REPORT' => 'This post was not reported.', 'NO_POST_REPORT' => 'This post was not reported.',
'NO_POST_SELECTED' => 'You must select at least one post to perform this action', 'NO_POST_SELECTED' => 'You must select at least one post to perform this action',
'NO_REASON_DISAPPROVAL' => 'Please give an appropriate reason for disapproval', 'NO_REASON_DISAPPROVAL' => 'Please give an appropriate reason for disapproval',
'NO_REPORT' => 'No report found',
'NO_REPORTS' => 'No reports', 'NO_REPORTS' => 'No reports',
'NO_REPORT_SELECTED' => 'You must select at least one report to perform this action', 'NO_REPORT_SELECTED' => 'You must select at least one report to perform this action',
'NO_TOPIC_ICON' => 'None', 'NO_TOPIC_ICON' => 'None',

View file

@ -243,6 +243,41 @@ function _module__url($mode, &$module_row)
return extra_url(); return extra_url();
} }
function _module_notes_url($mode, &$module_row)
{
if ($mode == 'front')
{
return '';
}
global $user_id;
return ($user_id) ? "&amp;u=$user_id" : '';
}
function _module_warn_url($mode, &$module_row)
{
if ($mode == 'front' || $mode == 'list')
{
return '';
}
if ($mode == 'warn_post')
{
global $forum_id, $post_id;
$url_extra = ($forum_id) ? "&amp;f=$forum_id" : '';
$url_extra .= ($post_id) ? "&amp;p=$post_id" : '';
return $url_extra;
}
else
{
global $user_id;
return ($user_id) ? "&amp;u=$user_id" : '';
}
}
function _module_main_url($mode, &$module_row) function _module_main_url($mode, &$module_row)
{ {
return extra_url(); return extra_url();

View file

@ -30,6 +30,12 @@ $username = request_var('un', '', true);
$group_id = request_var('g', 0); $group_id = request_var('g', 0);
$topic_id = request_var('t', 0); $topic_id = request_var('t', 0);
// Check our mode...
if (!in_array($mode, array('', 'group', 'viewprofile', 'email', 'contact', 'searchuser', 'leaders')))
{
trigger_error('NO_MODE');
}
switch ($mode) switch ($mode)
{ {
case 'email': case 'email':
@ -49,7 +55,6 @@ switch ($mode)
break; break;
} }
$start = request_var('start', 0); $start = request_var('start', 0);
$submit = (isset($_POST['submit'])) ? true : false; $submit = (isset($_POST['submit'])) ? true : false;
@ -382,7 +387,7 @@ switch ($mode)
} }
// a_user admins and founder are able to view inactive users and bots to be able to manage them more easily // a_user admins and founder are able to view inactive users and bots to be able to manage them more easily
// Normal users are able to see at least users having only changed their profile settings but not yet re-activated. // Normal users are able to see at least users having only changed their profile settings but not yet reactivated.
if (!$auth->acl_get('a_user') && $user->data['user_type'] != USER_FOUNDER) if (!$auth->acl_get('a_user') && $user->data['user_type'] != USER_FOUNDER)
{ {
if ($member['user_type'] == USER_IGNORE) if ($member['user_type'] == USER_IGNORE)

View file

@ -408,7 +408,7 @@ if ($mode != 'edit')
$post_data['enable_magic_url'] = $post_data['drafts'] = false; $post_data['enable_magic_url'] = $post_data['drafts'] = false;
// User own some drafts? // User own some drafts?
if ($user->data['is_registered'] && $auth->acl_get('u_savedrafts') && ($mode == 'reply' || $mode == 'post')) if ($user->data['is_registered'] && $auth->acl_get('u_savedrafts') && ($mode == 'reply' || $mode == 'post' || $mode == 'quote'))
{ {
$sql = 'SELECT draft_id $sql = 'SELECT draft_id
FROM ' . DRAFTS_TABLE . ' FROM ' . DRAFTS_TABLE . '
@ -454,7 +454,7 @@ $flash_status = ($bbcode_status && $auth->acl_get('f_flash', $forum_id)) ? true
$quote_status = ($auth->acl_get('f_reply', $forum_id)) ? true : false; $quote_status = ($auth->acl_get('f_reply', $forum_id)) ? true : false;
// Save Draft // Save Draft
if ($save && $user->data['is_registered'] && $auth->acl_get('u_savedrafts')) if ($save && $user->data['is_registered'] && $auth->acl_get('u_savedrafts') && ($mode == 'reply' || $mode == 'post' || $mode == 'quote'))
{ {
$subject = utf8_normalize_nfc(request_var('subject', '', true)); $subject = utf8_normalize_nfc(request_var('subject', '', true));
$subject = (!$subject && $mode != 'post') ? $post_data['topic_title'] : $subject; $subject = (!$subject && $mode != 'post') ? $post_data['topic_title'] : $subject;
@ -516,7 +516,7 @@ if ($save && $user->data['is_registered'] && $auth->acl_get('u_savedrafts'))
} }
// Load requested Draft // Load requested Draft
if ($draft_id && ($mode == 'reply' || $mode == 'post') && $user->data['is_registered'] && $auth->acl_get('u_savedrafts')) if ($draft_id && ($mode == 'reply' || $mode == 'quote' || $mode == 'post') && $user->data['is_registered'] && $auth->acl_get('u_savedrafts'))
{ {
$sql = 'SELECT draft_subject, draft_message $sql = 'SELECT draft_subject, draft_message
FROM ' . DRAFTS_TABLE . " FROM ' . DRAFTS_TABLE . "
@ -540,7 +540,7 @@ if ($draft_id && ($mode == 'reply' || $mode == 'post') && $user->data['is_regist
} }
// Load draft overview // Load draft overview
if ($load && ($mode == 'reply' || $mode == 'post') && $post_data['drafts']) if ($load && ($mode == 'reply' || $mode == 'quote' || $mode == 'post') && $post_data['drafts'])
{ {
load_drafts($topic_id, $forum_id); load_drafts($topic_id, $forum_id);
} }
@ -1252,7 +1252,7 @@ $template->assign_vars(array(
'S_LINKS_ALLOWED' => $url_status, 'S_LINKS_ALLOWED' => $url_status,
'S_MAGIC_URL_CHECKED' => ($urls_checked) ? ' checked="checked"' : '', 'S_MAGIC_URL_CHECKED' => ($urls_checked) ? ' checked="checked"' : '',
'S_TYPE_TOGGLE' => $topic_type_toggle, 'S_TYPE_TOGGLE' => $topic_type_toggle,
'S_SAVE_ALLOWED' => ($auth->acl_get('u_savedrafts') && $user->data['is_registered']) ? true : false, 'S_SAVE_ALLOWED' => ($auth->acl_get('u_savedrafts') && $user->data['is_registered'] && $mode != 'edit') ? true : false,
'S_HAS_DRAFTS' => ($auth->acl_get('u_savedrafts') && $user->data['is_registered'] && $post_data['drafts']) ? true : false, 'S_HAS_DRAFTS' => ($auth->acl_get('u_savedrafts') && $user->data['is_registered'] && $post_data['drafts']) ? true : false,
'S_FORM_ENCTYPE' => $form_enctype, 'S_FORM_ENCTYPE' => $form_enctype,

View file

@ -489,9 +489,10 @@ if ($keywords || $author || $author_id || $search_id || $submit)
'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'), 'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'),
'REPORTED_IMG' => $user->img('icon_topic_reported', 'TOPIC_REPORTED'), 'REPORTED_IMG' => $user->img('icon_topic_reported', 'TOPIC_REPORTED'),
'UNAPPROVED_IMG' => $user->img('icon_topic_unapproved', 'TOPIC_UNAPPROVED'), 'UNAPPROVED_IMG' => $user->img('icon_topic_unapproved', 'TOPIC_UNAPPROVED'),
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'U_SEARCH_WORDS' => $u_search) 'U_SEARCH_WORDS' => $u_search,
); ));
if ($sql_where) if ($sql_where)
{ {
@ -779,7 +780,6 @@ if ($keywords || $author || $author_id || $search_id || $submit)
'PAGINATION' => topic_generate_pagination($replies, $view_topic_url), 'PAGINATION' => topic_generate_pagination($replies, $view_topic_url),
'TOPIC_TYPE' => $topic_type, 'TOPIC_TYPE' => $topic_type,
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt), 'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt),
'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'), 'TOPIC_FOLDER_IMG_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'),
'TOPIC_ICON_IMG' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['img'] : '', 'TOPIC_ICON_IMG' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['img'] : '',

View file

@ -70,8 +70,8 @@ if ($id && $sid)
$config = $cache->obtain_config(); $config = $cache->obtain_config();
$sql = "SELECT s.session_id, u.user_lang $sql = 'SELECT s.session_id, u.user_lang
FROM {$table_prefix}sessions s, {$table_prefix}users u FROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . " u
WHERE s.session_id = '" . $db->sql_escape($sid) . "' WHERE s.session_id = '" . $db->sql_escape($sid) . "'
AND s.session_user_id = u.user_id"; AND s.session_user_id = u.user_id";
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
@ -80,12 +80,12 @@ if ($id && $sid)
if ($user) if ($user)
{ {
$sql = "SELECT s.style_id, c.theme_data, c.theme_path, c.theme_name, c.theme_mtime, i.*, t.template_path $sql = 'SELECT s.style_id, c.theme_data, c.theme_path, c.theme_name, c.theme_mtime, i.*, t.template_path
FROM {$table_prefix}styles s, {$table_prefix}styles_template t, {$table_prefix}styles_theme c, {$table_prefix}styles_imageset i FROM ' . STYLES_TABLE . ' s, ' . STYLES_TEMPLATE_TABLE . ' t, ' . STYLES_THEME_TABLE . ' c, ' . STYLES_IMAGESET_TABLE . ' i
WHERE s.style_id = $id WHERE s.style_id = ' . $id . '
AND t.template_id = s.template_id AND t.template_id = s.template_id
AND c.theme_id = s.theme_id AND c.theme_id = s.theme_id
AND i.imageset_id = s.imageset_id"; AND i.imageset_id = s.imageset_id';
$result = $db->sql_query($sql, 300); $result = $db->sql_query($sql, 300);
$theme = $db->sql_fetchrow($result); $theme = $db->sql_fetchrow($result);
$db->sql_freeresult($result); $db->sql_freeresult($result);

View file

@ -16,7 +16,7 @@ var is_ie = ((clientPC.indexOf('msie') != -1) && (clientPC.indexOf('opera') == -
var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1)); var is_win = ((clientPC.indexOf('win') != -1) || (clientPC.indexOf('16bit') != -1));
var baseHeight; var baseHeight;
window.onload = initInsertions; onload_functions.push('initInsertions()');
/** /**
* Shows the help messages in the helpline window * Shows the help messages in the helpline window
@ -33,6 +33,7 @@ function helpline(help)
function initInsertions() function initInsertions()
{ {
var doc; var doc;
if( document.forms[form_name]) if( document.forms[form_name])
{ {
doc = document; doc = document;
@ -41,6 +42,7 @@ function initInsertions()
{ {
doc = opener.document; doc = opener.document;
} }
var textarea = doc.forms[form_name].elements[text_name]; var textarea = doc.forms[form_name].elements[text_name];
if (is_ie && typeof(baseHeight) != 'number') if (is_ie && typeof(baseHeight) != 'number')
{ {

View file

@ -9,6 +9,7 @@
<h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3> <h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3>
<div>
<div class="column1"> <div class="column1">
<!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF --> <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF -->
</div> </div>
@ -22,6 +23,7 @@
<dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd> <dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd>
</dl> </dl>
</div> </div>
</div>
<span class="corners-bottom"><span></span></span></div> <span class="corners-bottom"><span></span></span></div>
</div> </div>

View file

@ -4,28 +4,33 @@
<script type="text/javascript"> <script type="text/javascript">
<!-- <!--
var panels = new Array('display-panel', 'split-panel', 'merge-panel'); var panels = new Array('display-panel', 'split-panel', 'merge-panel');
<!-- IF S_MERGE_VIEW --> <!-- IF S_MERGE_VIEW -->
var show_panel = 'merge-panel'; var show_panel = 'merge-panel';
<!-- ELSEIF S_SPLIT_VIEW -->
var show_panel = 'split-panel';
<!-- ELSE --> <!-- ELSE -->
var show_panel = 'display-panel'; var show_panel = 'display-panel';
<!-- ENDIF --> <!-- ENDIF -->
window.onload = subPanels;
onload_functions.push('subPanels()');
//--> //-->
</script> </script>
<div id="minitabs"> <div id="minitabs">
<ul> <ul>
<li id="display-panel-tab"<!-- IF not S_MERGE_VIEW --> class="activetab"<!-- ENDIF -->> <li id="display-panel-tab"<!-- IF not S_MERGE_VIEW --> class="activetab"<!-- ENDIF -->>
<div class="inner"><span class="corners-top"><span></span></span> <span class="corners-top"><span></span></span>
<a href="#minitabs" onclick="subPanels('display-panel'); return false;"><span>{L_DISPLAY_OPTIONS}</span></a> <a href="#minitabs" onclick="subPanels('display-panel'); return false;"><span>{L_DISPLAY_OPTIONS}</span></a>
</li> </li>
<li id="split-panel-tab"> <li id="split-panel-tab">
<div class="inner"><span class="corners-top"><span></span></span> <span class="corners-top"><span></span></span>
<a href="#minitabs" onclick="subPanels('split-panel'); return false;"><span>{L_SPLIT_TOPIC}</span></a> <a href="#minitabs" onclick="subPanels('split-panel'); return false;"><span>{L_SPLIT_TOPIC}</span></a>
</li> </li>
<li id="merge-panel-tab"<!-- IF S_MERGE_VIEW --> class="activetab"<!-- ENDIF -->> <li id="merge-panel-tab"<!-- IF S_MERGE_VIEW --> class="activetab"<!-- ENDIF -->>
<div class="inner"><span class="corners-top"><span></span></span> <span class="corners-top"><span></span></span>
<a href="#minitabs" onclick="subPanels('merge-panel'); return false;"><span>{L_MERGE_TOPIC}</span></a> <a href="#minitabs" onclick="subPanels('merge-panel'); return false;"><span>{L_MERGE_TOPIC}</span></a>
</li> </li>
</ul> </ul>
@ -141,8 +146,8 @@ window.onload = subPanels;
<!-- IF S_CAN_APPROVE --><option value="approve">{L_APPROVE_POSTS}</option><!-- ENDIF --> <!-- 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_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 --> <!-- IF S_CAN_DELETE --><option value="delete_post">{L_DELETE_POSTS}</option><!-- ENDIF -->
<!-- IF S_CAN_MERGE --><option value="merge_posts"<!-- IF ACTION eq 'merge' --> selected="selected"<!-- ENDIF -->>{L_MERGE_POSTS}</option><!-- ENDIF --> <!-- IF S_CAN_MERGE --><option value="merge_posts"<!-- IF S_MERGE_VIEW --> selected="selected"<!-- ENDIF -->>{L_MERGE_POSTS}</option><!-- ENDIF -->
<!-- IF S_CAN_SPLIT --><option value="split_all"<!-- IF ACTION eq 'split' --> selected="selected"<!-- ENDIF -->>{L_SPLIT_POSTS}</option><option value="split_beyond">{L_SPLIT_AFTER}</option><!-- ENDIF --> <!-- IF S_CAN_SPLIT --><option value="split_all"<!-- IF S_SPLIT_VIEW --> selected="selected"<!-- ENDIF -->>{L_SPLIT_POSTS}</option><option value="split_beyond">{L_SPLIT_AFTER}</option><!-- ENDIF -->
</select>&nbsp; </select>&nbsp;
<input class="button1" type="submit" name="mcp_topic_submit" value="{L_SUBMIT}" /> <input class="button1" type="submit" name="mcp_topic_submit" value="{L_SUBMIT}" />
<div><a href="#" onclick="marklist('mcp', '', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', '', false); return false;">{L_UNMARK_ALL}</a></div> <div><a href="#" onclick="marklist('mcp', '', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', '', false); return false;">{L_UNMARK_ALL}</a></div>

View file

@ -9,6 +9,7 @@
<h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3> <h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3>
<div>
<div class="column1"> <div class="column1">
<!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF --> <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF -->
</div> </div>
@ -22,6 +23,7 @@
<dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd> <dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd>
</dl> </dl>
</div> </div>
</div>
<span class="corners-bottom"><span></span></span></div> <span class="corners-bottom"><span></span></span></div>
</div> </div>

View file

@ -9,6 +9,7 @@
<h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3> <h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3>
<div>
<div class="column1"> <div class="column1">
<!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF --> <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF -->
</div> </div>
@ -22,6 +23,7 @@
<dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd> <dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd>
</dl> </dl>
</div> </div>
</div>
<span class="corners-bottom"><span></span></span></div> <span class="corners-bottom"><span></span></span></div>
</div> </div>

View file

@ -27,6 +27,7 @@
<!-- ENDIF --> <!-- ENDIF -->
<!-- IF S_USER_INACTIVE --><dt>{L_USER_IS_INACTIVE}:</dt><dd>{USER_INACTIVE_REASON}</dd><!-- ENDIF --> <!-- IF S_USER_INACTIVE --><dt>{L_USER_IS_INACTIVE}:</dt><dd>{USER_INACTIVE_REASON}</dd><!-- ENDIF -->
<!-- IF LOCATION --><dt>{L_LOCATION}:</dt> <dd>{LOCATION}</dd><!-- ENDIF --> <!-- IF LOCATION --><dt>{L_LOCATION}:</dt> <dd>{LOCATION}</dd><!-- ENDIF -->
<!-- IF AGE --><dt>{L_AGE}:</dt> <dd>{AGE}</dd><!-- ENDIF -->
<!-- IF OCCUPATION --><dt>{L_OCCUPATION}:</dt> <dd>{OCCUPATION}</dd><!-- ENDIF --> <!-- IF OCCUPATION --><dt>{L_OCCUPATION}:</dt> <dd>{OCCUPATION}</dd><!-- ENDIF -->
<!-- IF INTERESTS --><dt>{L_INTERESTS}:</dt> <dd>{INTERESTS}</dd><!-- ENDIF --> <!-- IF INTERESTS --><dt>{L_INTERESTS}:</dt> <dd>{INTERESTS}</dd><!-- ENDIF -->
<!-- IF S_GROUP_OPTIONS --><dt>{L_USERGROUPS}:</dt> <dd><select name="g">{S_GROUP_OPTIONS}</select> <input type="submit" name="submit" value="{L_GO}" class="button2" /></dd><!-- ENDIF --> <!-- IF S_GROUP_OPTIONS --><dt>{L_USERGROUPS}:</dt> <dd><select name="g">{S_GROUP_OPTIONS}</select> <input type="submit" name="submit" value="{L_GO}" class="button2" /></dd><!-- ENDIF -->

View file

@ -32,6 +32,8 @@
var per_page = '{PER_PAGE}'; var per_page = '{PER_PAGE}';
var base_url = '{BASE_URL}'; var base_url = '{BASE_URL}';
var style_cookie = 'phpBBstyle'; var style_cookie = 'phpBBstyle';
var onload_functions = new Array();
var onunload_functions = new Array();
<!-- IF S_USER_PM_POPUP --> <!-- IF S_USER_PM_POPUP -->
if ({S_NEW_PM}) if ({S_NEW_PM})
@ -51,6 +53,25 @@
return false; return false;
} }
/**
* New function for handling multiple calls to window.onload and window.unload by pentapenguin
*/
window.onload = function()
{
for (i = 0; i <= onload_functions.length; i++)
{
eval(onload_functions[i]);
}
}
window.onunload = function()
{
for (i = 0; i <= onunload_functions.length; i++)
{
eval(onunload_functions[i]);
}
}
// ]]> // ]]>
</script> </script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/styleswitcher.js"></script> <script type="text/javascript" src="{T_TEMPLATE_PATH}/styleswitcher.js"></script>

View file

@ -13,7 +13,7 @@
</dl> </dl>
<dl> <dl>
<dt><label for="filecomment">{L_FILE_COMMENT}:</label></dt> <dt><label for="filecomment">{L_FILE_COMMENT}:</label></dt>
<dd><textarea name="filecomment" id="filecomment" rows="1" cols="35" class="inputbox">{FILE_COMMENT}</textarea></dd> <dd><textarea name="filecomment" id="filecomment" rows="1" cols="40" class="inputbox autowidth">{FILE_COMMENT}</textarea></dd>
</dl> </dl>
</fieldset> </fieldset>

View file

@ -4,37 +4,51 @@
<!-- IF S_PRIVMSGS and not S_SHOW_DRAFTS --> <!-- IF S_PRIVMSGS and not S_SHOW_DRAFTS -->
<div class="column1"> <div class="column1">
<!-- IF S_ALLOW_MASS_PM -->
<!-- IF .to_recipient -->
<dl>
<dt><label>{L_TO}:</label></dt>
<dd>
<!-- BEGIN to_recipient -->
<!-- IF not to_recipient.S_FIRST_ROW and to_recipient.S_ROW_COUNT mod 2 eq 0 --></dd><dd><!-- ENDIF -->
<!-- IF to_recipient.IS_GROUP --><a href="{to_recipient.U_VIEW}"><strong>{to_recipient.NAME}</strong></a><!-- ELSE -->{to_recipient.NAME_FULL}&nbsp;<!-- ENDIF -->
<!-- IF not S_EDIT_POST --><input type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="x" class="button2" />&nbsp;<!-- ENDIF -->
<!-- END to_recipient -->
</dd>
</dl>
<!-- ENDIF -->
<!-- IF .bcc_recipient -->
<dl>
<dt><label>{L_BCC}:</label></dt>
<dd>
<!-- BEGIN bcc_recipient -->
<!-- IF not bcc_recipient.S_FIRST_ROW and bcc_recipient.S_ROW_COUNT mod 2 eq 0 --></dd><dd><!-- ENDIF -->
<!-- IF bcc_recipient.IS_GROUP --><a href="{bcc_recipient.U_VIEW}"><strong>{bcc_recipient.NAME}</strong></a><!-- ELSE -->{bcc_recipient.NAME_FULL}&nbsp;<!-- ENDIF -->
<!-- IF not S_EDIT_POST --><input type="submit" name="remove_{bcc_recipient.TYPE}[{bcc_recipient.UG_ID}]" value="x" class="button2" />&nbsp;<!-- ENDIF -->
<!-- END bcc_recipient -->
</dd>
</dl>
<!-- ENDIF -->
<dl class="pmlist">
<dt><textarea id="username_list" name="username_list"></textarea></dt>
<dd><span><a href="{U_FIND_USERNAME}" onclick="find_username(); return false">{L_FIND_USERNAME}</a></span></dd>
<dd><input type="submit" name="add_to" value="{L_ADD}" class="button2" /></dd>
<dd><input type="submit" name="add_bcc" value="{L_ADD_BCC}" class="button2" /></dd>
</dl>
<!-- ELSE -->
<dl> <dl>
<dt><label for="username_list">{L_TO}:</label><br /><span><a href="{U_FIND_USERNAME}" onclick="find_username(); return false">{L_FIND_USERNAME}</a></span></dt> <dt><label for="username_list">{L_TO}:</label><br /><span><a href="{U_FIND_USERNAME}" onclick="find_username(); return false">{L_FIND_USERNAME}</a></span></dt>
<!-- IF .to_recipient --> <!-- IF .to_recipient -->
<dd> <dd>
<!-- BEGIN to_recipient --> <!-- BEGIN to_recipient -->
<!-- IF not to_recipient.S_FIRST_ROW and to_recipient.S_ROW_COUNT mod 2 eq 0 --></dd><dd><!-- ENDIF -->
<!-- IF to_recipient.IS_GROUP --><a href="{to_recipient.U_VIEW}"><strong>{to_recipient.NAME}</strong></a><!-- ELSE -->{to_recipient.NAME_FULL}&nbsp;<!-- ENDIF --> <!-- IF to_recipient.IS_GROUP --><a href="{to_recipient.U_VIEW}"><strong>{to_recipient.NAME}</strong></a><!-- ELSE -->{to_recipient.NAME_FULL}&nbsp;<!-- ENDIF -->
<!-- IF not S_EDIT_POST --><input type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="x" class="button2" />&nbsp;<!-- ENDIF --> <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="x" class="button2" />&nbsp;<!-- ENDIF -->
<!-- END to_recipient --> <!-- END to_recipient -->
</dd> </dd>
<!-- ENDIF --> <!-- ENDIF -->
<dd>
<!-- IF S_ALLOW_MASS_PM --> <dd><input class="inputbox" type="text" name="username_list" id="username_list" size="20" maxlength="40" value="" /> <input type="submit" name="add_to" value="{L_ADD}" class="button2" /></dd>
<textarea id="username_list" name="username_list"></textarea> <input type="submit" name="add_to" value="{L_ADD}" class="button2" />
<input type="submit" name="add_bcc" value="{L_ADD_BCC}" class="button2" />
<!-- ELSE -->
<input class="inputbox" type="text" name="username" id="username" size="20" maxlength="40" value="" /> <input type="submit" name="add_to" value="{L_ADD}" class="button2" />
<!-- ENDIF --></dd>
</dl>
<!-- IF S_ALLOW_MASS_PM and .bcc_recipient -->
<dl>
<dt><label for="username_list_bcc">{L_BCC}:</label></dt>
<!-- IF .bcc_recipient -->
<dd>
<!-- BEGIN bcc_recipient -->
<!-- IF bcc_recipient.IS_GROUP --><a href="{bcc_recipient.U_VIEW}"><strong>{bcc_recipient.NAME}</strong></a><!-- ELSE -->{bcc_recipient.NAME_FULL}&nbsp;<!-- ENDIF -->
<!-- IF not S_EDIT_POST --><input type="submit" name="remove_{bcc_recipient.TYPE}[{bcc_recipient.UG_ID}]" value="x" class="button2" />&nbsp;<!-- ENDIF -->
<!-- END bcc_recipient -->
</dd>
<!-- ENDIF -->
</dl> </dl>
<!-- ENDIF --> <!-- ENDIF -->

View file

@ -31,7 +31,7 @@
<div class="content">{PREVIEW_MESSAGE}</div> <div class="content">{PREVIEW_MESSAGE}</div>
<!-- IF S_HAS_ATTACHMENTS --> <!-- IF .attachment -->
<dl class="attachbox"> <dl class="attachbox">
<dt>{L_ATTACHMENTS}</dt> <dt>{L_ATTACHMENTS}</dt>
<!-- BEGIN attachment --> <!-- BEGIN attachment -->

View file

@ -59,14 +59,14 @@
<!-- IF searchresults.S_TOPIC_UNAPPROVED or searchresults.S_POSTS_UNAPPROVED --><a href="{searchresults.U_MCP_QUEUE}">{searchresults.UNAPPROVED_IMG}</a> <!-- ENDIF --> <!-- IF searchresults.S_TOPIC_UNAPPROVED or searchresults.S_POSTS_UNAPPROVED --><a href="{searchresults.U_MCP_QUEUE}">{searchresults.UNAPPROVED_IMG}</a> <!-- ENDIF -->
<!-- IF searchresults.S_TOPIC_REPORTED --><a href="{searchresults.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --><br /> <!-- IF searchresults.S_TOPIC_REPORTED --><a href="{searchresults.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --><br />
<!-- IF searchresults.PAGINATION --><strong class="pagination"><span>{searchresults.PAGINATION}</span></strong><!-- ENDIF --> <!-- IF searchresults.PAGINATION --><strong class="pagination"><span>{searchresults.PAGINATION}</span></strong><!-- ENDIF -->
{L_POST_BY_AUTHOR} {searchresults.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {searchresults.FIRST_POST_TIME} {searchresults.NEWEST_POST_IMG} {L_POST_BY_AUTHOR} {searchresults.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {searchresults.FIRST_POST_TIME} {NEWEST_POST_IMG}
<!-- IF not searchresults.S_TOPIC_GLOBAL -->{L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a><!-- ELSE --> ({L_GLOBAL})<!-- ENDIF --> <!-- IF not searchresults.S_TOPIC_GLOBAL -->{L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a><!-- ELSE --> ({L_GLOBAL})<!-- ENDIF -->
</dt> </dt>
<dd class="posts">{searchresults.TOPIC_REPLIES}</dd> <dd class="posts">{searchresults.TOPIC_REPLIES}</dd>
<dd class="views">{searchresults.TOPIC_VIEWS}</dd> <dd class="views">{searchresults.TOPIC_VIEWS}</dd>
<dd class="lastpost"><span> <dd class="lastpost"><span>
{L_POST_BY_AUTHOR} {searchresults.LAST_POST_AUTHOR_FULL} {L_POST_BY_AUTHOR} {searchresults.LAST_POST_AUTHOR_FULL}
<a href="{searchresults.U_LAST_POST}">{searchresults.LAST_POST_IMG}</a> <br />{L_POSTED_ON_DATE} {searchresults.LAST_POST_TIME}<br /> </span> <a href="{searchresults.U_LAST_POST}">{LAST_POST_IMG}</a> <br />{L_POSTED_ON_DATE} {searchresults.LAST_POST_TIME}<br /> </span>
</dd> </dd>
</dl> </dl>
</li> </li>

View file

@ -14,6 +14,33 @@
{META} {META}
<title>{SITENAME} &bull; {PAGE_TITLE}</title> <title>{SITENAME} &bull; {PAGE_TITLE}</title>
<script type="text/javascript">
// <![CDATA[
var onload_functions = new Array();
var onunload_functions = new Array();
/**
* New function for handling multiple calls to window.onload and window.unload by pentapenguin
*/
window.onload = function()
{
for (i = 0; i <= onload_functions.length; i++)
{
eval(onload_functions[i]);
}
}
window.onunload = function()
{
for (i = 0; i <= onunload_functions.length; i++)
{
eval(onunload_functions[i]);
}
}
// ]]>
</script>
<script type="text/javascript" src="{T_TEMPLATE_PATH}/styleswitcher.js"></script> <script type="text/javascript" src="{T_TEMPLATE_PATH}/styleswitcher.js"></script>
<!-- IF T_STYLESHEET_LINK --> <!-- IF T_STYLESHEET_LINK -->

View file

@ -138,19 +138,22 @@ function readCookie(name)
return null; return null;
} }
window.onload = function(e) function load_cookie()
{ {
var cookie = readCookie('style_cookie'); var cookie = readCookie('style_cookie');
var title = cookie ? cookie : getPreferredStyleSheet(); var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title); setActiveStyleSheet(title);
} }
window.onunload = function(e) function unload_cookie()
{ {
var title = getActiveStyleSheet(); var title = getActiveStyleSheet();
createCookie('style_cookie', title, 365); createCookie('style_cookie', title, 365);
} }
onload_functions.push('load_cookie()');
onunload_functions.push('unload_cookie()');
/* /*
var cookie = readCookie("style"); var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet(); var title = cookie ? cookie : getPreferredStyleSheet();

View file

@ -23,6 +23,19 @@
<div id="navigation"> <div id="navigation">
<!-- IF S_PRIVMSGS --> <!-- IF S_PRIVMSGS -->
<!-- BEGIN t_block2 -->
<!-- IF S_PRIVMSGS and t_block2.S_FIRST_ROW -->
<ul>
<!-- IF t_block2.S_SELECTED -->
<li id="active-subsection"><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
<!-- ELSE -->
<li><a href="{t_block2.U_TITLE}"><span>{t_block2.L_TITLE}</span></a></li>
<!-- ENDIF -->
</ul>
<hr />
<!-- ENDIF -->
<!-- END t_block2 -->
<!-- BEGIN folder --> <!-- BEGIN folder -->
<!-- IF folder.S_FIRST_ROW --><ul><!-- ENDIF --> <!-- IF folder.S_FIRST_ROW --><ul><!-- ENDIF -->
<!-- IF folder.S_CUR_FOLDER --> <!-- IF folder.S_CUR_FOLDER -->

View file

@ -37,9 +37,9 @@
<!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED --><a href="{topicrow.U_MCP_QUEUE}">{topicrow.UNAPPROVED_IMG}</a> <!-- ENDIF --> <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED --><a href="{topicrow.U_MCP_QUEUE}">{topicrow.UNAPPROVED_IMG}</a> <!-- ENDIF -->
<!-- IF topicrow.S_TOPIC_REPORTED --><a href="{topicrow.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --><br /> <!-- IF topicrow.S_TOPIC_REPORTED --><a href="{topicrow.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --><br />
<!-- IF topicrow.PAGINATION --><strong class="pagination"><span>{topicrow.PAGINATION}</span></strong><!-- ENDIF --> <!-- IF topicrow.PAGINATION --><strong class="pagination"><span>{topicrow.PAGINATION}</span></strong><!-- ENDIF -->
{L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {topicrow.FIRST_POST_TIME} {topicrow.NEWEST_POST_IMG} {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {topicrow.FIRST_POST_TIME} {NEWEST_POST_IMG}
</dt> </dt>
<dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} <a href="{topicrow.U_LAST_POST}">{topicrow.LAST_POST_IMG}</a><br /> <dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} <a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a><br />
{L_POSTED_ON_DATE} {topicrow.LAST_POST_TIME}</span> {L_POSTED_ON_DATE} {topicrow.LAST_POST_TIME}</span>
</dd> </dd>
<dd class="mark"><input type="checkbox" name="t[{topicrow.TOPIC_ID}]" id="t{topicrow.TOPIC_ID}" /></dd> <dd class="mark"><input type="checkbox" name="t[{topicrow.TOPIC_ID}]" id="t{topicrow.TOPIC_ID}" /></dd>

View file

@ -15,10 +15,13 @@
<li class="row<!-- IF topicrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->"> <li class="row<!-- IF topicrow.S_ROW_COUNT is odd --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
<dl class="icon" style="background-image: url({topicrow.TOPIC_FOLDER_IMG_SRC});"> <dl class="icon" style="background-image: url({topicrow.TOPIC_FOLDER_IMG_SRC});">
<dt <!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG});"<!-- ENDIF -->> <dt <!-- IF topicrow.TOPIC_ICON_IMG -->style="background-image: url({T_ICONS_PATH}{topicrow.TOPIC_ICON_IMG});"<!-- ENDIF -->>
<a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a> {topicrow.ATTACH_ICON_IMG}<br /> <!-- IF topicrow.S_UNREAD --><a href="{topicrow.U_NEWEST_POST}">{NEWEST_POST_IMG}</a> <!-- ENDIF --><a href="{topicrow.U_VIEW_TOPIC}" class="topictitle">{topicrow.TOPIC_TITLE}</a><br />
<!-- IF topicrow.PAGINATION --><strong class="pagination"><span>{topicrow.PAGINATION}</span></strong><!-- ENDIF --> <!-- IF topicrow.PAGINATION --><strong class="pagination"><span>{topicrow.PAGINATION}</span></strong><!-- ENDIF -->
{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} <a href="{topicrow.U_LAST_POST}">{topicrow.LAST_POST_IMG}</a> {L_POSTED_ON_DATE} {topicrow.LAST_POST_TIME} <!-- IF topicrow.ATTACH_ICON_IMG -->{topicrow.ATTACH_ICON_IMG} <!-- ENDIF -->{L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {topicrow.FIRST_POST_TIME}
</dt> </dt>
<dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL}
<a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a> <br />{L_POSTED_ON_DATE} {topicrow.LAST_POST_TIME}</span>
</dd>
</dl> </dl>
</li> </li>
<!-- END topicrow --> <!-- END topicrow -->

View file

@ -24,7 +24,7 @@
<dl class="icon" style="background-image: url({forumrow.FORUM_FOLDER_IMG_SRC});"> <dl class="icon" style="background-image: url({forumrow.FORUM_FOLDER_IMG_SRC});">
<dt><a href="{forumrow.U_VIEWFORUM}" class="forumtitle">{forumrow.FORUM_NAME}</a><br /> <dt><a href="{forumrow.U_VIEWFORUM}" class="forumtitle">{forumrow.FORUM_NAME}</a><br />
<!-- IF forumrow.LAST_POST_TIME -->{L_LAST_POST} {L_POST_BY_AUTHOR} <!-- IF forumrow.U_LAST_POST_AUTHOR --><a href="{forumrow.U_LAST_POST_AUTHOR}">{forumrow.LAST_POST_AUTHOR}</a> <!-- IF forumrow.LAST_POST_TIME -->{L_LAST_POST} {L_POST_BY_AUTHOR} <!-- IF forumrow.U_LAST_POST_AUTHOR --><a href="{forumrow.U_LAST_POST_AUTHOR}">{forumrow.LAST_POST_AUTHOR}</a>
<!-- ELSE -->{forumrow.LAST_POST_AUTHOR}<!-- ENDIF --> <a href="{forumrow.U_LAST_POST}">{forumrow.LAST_POST_IMG}</a> {L_POSTED_ON_DATE} {forumrow.LAST_POST_TIME} <!-- ELSE -->{forumrow.LAST_POST_AUTHOR}<!-- ENDIF --> <a href="{forumrow.U_LAST_POST}">{LAST_POST_IMG}</a> {L_POSTED_ON_DATE} {forumrow.LAST_POST_TIME}
<!-- ELSE -->{L_NO_POSTS}<!-- ENDIF --> <!-- ELSE -->{L_NO_POSTS}<!-- ENDIF -->
</dt> </dt>
<dd class="mark"><input type="checkbox" name="f[{forumrow.FORUM_ID}]" id="f{forumrow.FORUM_ID}" /></dd> <dd class="mark"><input type="checkbox" name="f[{forumrow.FORUM_ID}]" id="f{forumrow.FORUM_ID}" /></dd>
@ -57,7 +57,7 @@
<!-- IF topicrow.PAGINATION --><strong class="pagination"><span>{topicrow.PAGINATION}</span></strong><!-- ENDIF --> <!-- IF topicrow.PAGINATION --><strong class="pagination"><span>{topicrow.PAGINATION}</span></strong><!-- ENDIF -->
{L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {topicrow.FIRST_POST_TIME} <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}">{NEWEST_POST_IMG}</a><!-- ENDIF --> {L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} {L_POSTED_ON_DATE} {topicrow.FIRST_POST_TIME} <!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}">{NEWEST_POST_IMG}</a><!-- ENDIF -->
</dt> </dt>
<dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} <a href="{topicrow.U_LAST_POST}">{topicrow.LAST_POST_IMG}</a><br /> <dd class="lastpost"><span><dfn>{L_LAST_POST} </dfn>{L_POST_BY_AUTHOR} {topicrow.LAST_POST_AUTHOR_FULL} <a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a><br />
{L_POSTED_ON_DATE} {topicrow.LAST_POST_TIME}</span> {L_POSTED_ON_DATE} {topicrow.LAST_POST_TIME}</span>
</dd> </dd>

View file

@ -91,7 +91,7 @@
{S_DATEFORMAT_OPTIONS} {S_DATEFORMAT_OPTIONS}
</select> </select>
</dd> </dd>
<dd id="custom_date" style="display:none;"><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="14" class="inputbox narrow" style="margin-top: 3px;" /></dd> <dd id="custom_date" style="display:none;"><input type="text" name="dateformat" id="dateformat" value="{DATE_FORMAT}" maxlength="30" class="inputbox narrow" style="margin-top: 3px;" /></dd>
</dl> </dl>
</fieldset> </fieldset>

View file

@ -6,6 +6,7 @@
<ul class="linklist"> <ul class="linklist">
<li class="rightside pagination"><a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> <!-- IF PAGINATION --> &bull; <span>{PAGINATION}</span><!-- ENDIF --></li> <li class="rightside pagination"><a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> <!-- IF PAGINATION --> &bull; <span>{PAGINATION}</span><!-- ENDIF --></li>
</ul> </ul>
<div class="forumbg"> <div class="forumbg">
<div class="inner"><span class="corners-top"><span></span></span> <div class="inner"><span class="corners-top"><span></span></span>
@ -38,7 +39,15 @@
<span class="corners-bottom"><span></span></span></div> <span class="corners-bottom"><span></span></span></div>
</div> </div>
<!-- IF PREVIOUS_PAGE or NEXT_PAGE -->
<fieldset class="display-options right-box">
<!-- IF PREVIOUS_PAGE --><a href="{PREVIOUS_PAGE}" class="left">{L_PREVIOUS}</a><!-- ELSE -->{L_PREVIOUS}<!-- ENDIF --> &bull; <!-- IF NEXT_PAGE --><a href="{NEXT_PAGE}" class="right">{L_NEXT}</a><!-- ELSE -->{L_NEXT}<!-- ENDIF -->
</fieldset>
<!-- ENDIF -->
<!-- IF LEGEND --><p><em>{L_LEGEND}: {LEGEND}</em></p><!-- ENDIF --> <!-- IF LEGEND --><p><em>{L_LEGEND}: {LEGEND}</em></p><!-- ENDIF -->
<ul class="linklist"> <ul class="linklist">
<li class="rightside pagination"><a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> <!-- IF PAGINATION --> &bull; <span>{PAGINATION}</span><!-- ENDIF --></li> <li class="rightside pagination"><a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> <!-- IF PAGINATION --> &bull; <span>{PAGINATION}</span><!-- ENDIF --></li>
</ul> </ul>

View file

@ -940,8 +940,7 @@ a.button1, a.button1:link, a.button1:visited, a.button1:active, a.button2, a.but
/* Hover states */ /* Hover states */
a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover { a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover {
border: 1px solid #BC2A4D; border-color: #BC2A4D;
background-position: 0 100%;
color: #BC2A4D; color: #BC2A4D;
} }

View file

@ -513,6 +513,7 @@ dl.codebox code {
font-weight: normal; font-weight: normal;
clear: left; clear: left;
} }
.attachbox p.stats .attachbox p.stats
{ {
line-height: 110%; line-height: 110%;
@ -539,6 +540,10 @@ div.inline-attachment dl.thumbnail, div.inline-attachment dl.file {
margin-bottom: 4px; margin-bottom: 4px;
} }
div.inline-attachment p {
font-size: 100%;
}
dl.file { dl.file {
font-family: Verdana, Arial, Helvetica, sans-serif; font-family: Verdana, Arial, Helvetica, sans-serif;
display: block; display: block;
@ -711,3 +716,17 @@ fieldset.polls dd div {
.search .postprofile { .search .postprofile {
width: 30%; width: 30%;
} }
/* pm list in compose message if mass pm is enabled */
dl.pmlist dt {
width: 60% !important;
}
dl.pmlist dt textarea {
width: 95%;
}
dl.pmlist dd {
margin-left: 61% !important;
margin-bottom: 2px;
}

View file

@ -133,6 +133,7 @@ ul.cplist {
padding: 0 0 0 5px; padding: 0 0 0 5px;
text-decoration: none; text-decoration: none;
position: relative; position: relative;
cursor: pointer;
} }
#tabs a span { #tabs a span {

View file

@ -33,6 +33,7 @@ function helpline(help)
function initInsertions() function initInsertions()
{ {
var doc; var doc;
if (document.forms[form_name]) if (document.forms[form_name])
{ {
doc = document; doc = document;
@ -41,6 +42,7 @@ function initInsertions()
{ {
doc = opener.document; doc = opener.document;
} }
var textarea = doc.forms[form_name].elements[text_name]; var textarea = doc.forms[form_name].elements[text_name];
if (is_ie && typeof(baseHeight) != 'number') if (is_ie && typeof(baseHeight) != 'number')
{ {

View file

@ -29,7 +29,7 @@
<!-- IF topicrow.S_SELECT_TOPIC --> <!-- IF topicrow.S_SELECT_TOPIC -->
<span class="genmed">[ <a href="{topicrow.U_SELECT_TOPIC}">{L_SELECT_MERGE}</a> ]&nbsp;</span> <span class="genmed">[ <a href="{topicrow.U_SELECT_TOPIC}">{L_SELECT_MERGE}</a> ]&nbsp;</span>
<!-- ENDIF --> <!-- ENDIF -->
<p class="topictitle">{topicrow.NEWEST_POST_IMG} {topicrow.ATTACH_ICON_IMG} <a href="{topicrow.U_VIEW_TOPIC}">{topicrow.TOPIC_TITLE}</a> <p class="topictitle">{NEWEST_POST_IMG} {topicrow.ATTACH_ICON_IMG} <a href="{topicrow.U_VIEW_TOPIC}">{topicrow.TOPIC_TITLE}</a>
<!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED --> <!-- IF topicrow.S_TOPIC_UNAPPROVED or topicrow.S_POSTS_UNAPPROVED -->
<a href="{topicrow.U_MCP_QUEUE}">{topicrow.UNAPPROVED_IMG}</a>&nbsp; <a href="{topicrow.U_MCP_QUEUE}">{topicrow.UNAPPROVED_IMG}</a>&nbsp;
<!-- ENDIF --> <!-- ENDIF -->

View file

@ -57,7 +57,7 @@
<td class="row1" width="120" align="center"> <td class="row1" width="120" align="center">
<p class="topicdetails">{searchresults.LAST_POST_TIME}</p> <p class="topicdetails">{searchresults.LAST_POST_TIME}</p>
<p class="topicdetails">{searchresults.LAST_POST_AUTHOR_FULL} <p class="topicdetails">{searchresults.LAST_POST_AUTHOR_FULL}
<a href="{searchresults.U_LAST_POST}">{searchresults.LAST_POST_IMG}</a> <a href="{searchresults.U_LAST_POST}">{LAST_POST_IMG}</a>
</p> </p>
</td> </td>
</tr> </tr>

View file

@ -37,7 +37,7 @@
<td style="padding: 4px;" align="{S_CONTENT_FLOW_BEGIN}" valign="top" nowrap="nowrap"> <td style="padding: 4px;" align="{S_CONTENT_FLOW_BEGIN}" valign="top" nowrap="nowrap">
<p class="topicdetails">{topicrow.LAST_POST_TIME}</p> <p class="topicdetails">{topicrow.LAST_POST_TIME}</p>
<p class="topicdetails">{topicrow.LAST_POST_AUTHOR_FULL} <p class="topicdetails">{topicrow.LAST_POST_AUTHOR_FULL}
<a href="{topicrow.U_LAST_POST}">{topicrow.LAST_POST_IMG}</a> <a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a>
</p> </p>
</td> </td>
<!-- ENDIF --> <!-- ENDIF -->

View file

@ -16,12 +16,12 @@
<!-- IF topicrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF --> <!-- IF topicrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td class="row1" width="25" align="center">{topicrow.TOPIC_FOLDER_IMG}</td> <td class="row1" width="25" align="center">{topicrow.TOPIC_FOLDER_IMG}</td>
<td class="row1" width="100%"> <td class="row1" width="100%">
<p class="topictitle"><!-- IF topicrow.S_UNREAD --><a href="{topicrow.U_NEWEST_POST}">{topicrow.NEWEST_POST_IMG}</a> <!-- ENDIF -->{topicrow.ATTACH_ICON_IMG} <a href="{topicrow.U_VIEW_TOPIC}">{topicrow.TOPIC_TITLE}</a></p><p class="gensmall">{topicrow.GOTO_PAGE}</p> <p class="topictitle"><!-- IF topicrow.S_UNREAD --><a href="{topicrow.U_NEWEST_POST}">{NEWEST_POST_IMG}</a> <!-- ENDIF -->{topicrow.ATTACH_ICON_IMG} <a href="{topicrow.U_VIEW_TOPIC}">{topicrow.TOPIC_TITLE}</a></p><p class="gensmall">{topicrow.GOTO_PAGE}</p>
</td> </td>
<td class="row1" width="120" align="center" nowrap="nowrap"> <td class="row1" width="120" align="center" nowrap="nowrap">
<p class="topicdetails">{topicrow.LAST_POST_TIME}</p> <p class="topicdetails">{topicrow.LAST_POST_TIME}</p>
<p class="topicdetails">{topicrow.LAST_POST_AUTHOR_FULL} <p class="topicdetails">{topicrow.LAST_POST_AUTHOR_FULL}
<a href="{topicrow.U_LAST_POST}">{topicrow.LAST_POST_IMG}</a> <a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a>
</p> </p>
</td> </td>
</tr> </tr>

View file

@ -16,7 +16,7 @@
<!-- IF forumrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF --> <!-- IF forumrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td style="padding: 4px;" width="20" align="center" valign="middle">{forumrow.FORUM_FOLDER_IMG}</td> <td style="padding: 4px;" width="20" align="center" valign="middle">{forumrow.FORUM_FOLDER_IMG}</td>
<td style="padding: 4px;" width="100%"><p class="topictitle"><a href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a></p></td> <td style="padding: 4px;" width="100%"><p class="topictitle"><a href="{forumrow.U_VIEWFORUM}">{forumrow.FORUM_NAME}</a></p></td>
<td class="gensmall" style="padding: 4px;" align="center" valign="middle" nowrap="nowrap"><!-- IF forumrow.LAST_POST_TIME -->{forumrow.LAST_POST_TIME}<br />{forumrow.LAST_POST_AUTHOR_FULL} <a href="{forumrow.U_LAST_POST}">{forumrow.LAST_POST_IMG}</a><!-- ELSE -->{L_NO_POSTS}<!-- ENDIF --></td> <td class="gensmall" style="padding: 4px;" align="center" valign="middle" nowrap="nowrap"><!-- IF forumrow.LAST_POST_TIME -->{forumrow.LAST_POST_TIME}<br />{forumrow.LAST_POST_AUTHOR_FULL} <a href="{forumrow.U_LAST_POST}">{LAST_POST_IMG}</a><!-- ELSE -->{L_NO_POSTS}<!-- ENDIF --></td>
<td style="padding: 4px;"> <input type="checkbox" class="radio" name="f[{forumrow.FORUM_ID}]" /> </td> <td style="padding: 4px;"> <input type="checkbox" class="radio" name="f[{forumrow.FORUM_ID}]" /> </td>
</tr> </tr>
<!-- BEGINELSE --> <!-- BEGINELSE -->
@ -48,7 +48,7 @@
<!-- IF topicrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF --> <!-- IF topicrow.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td style="padding: 4px;" width="20" align="center" valign="middle">{topicrow.TOPIC_FOLDER_IMG}</td> <td style="padding: 4px;" width="20" align="center" valign="middle">{topicrow.TOPIC_FOLDER_IMG}</td>
<td style="padding: 4px;" width="100%" valign="top"> <td style="padding: 4px;" width="100%" valign="top">
<p class="topictitle"><!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}">{topicrow.NEWEST_POST_IMG}</a> <!-- ENDIF -->{topicrow.ATTACH_ICON_IMG} <a href="{topicrow.U_VIEW_TOPIC}">{topicrow.TOPIC_TITLE}</a></p><br /> <p class="topictitle"><!-- IF topicrow.S_UNREAD_TOPIC --><a href="{topicrow.U_NEWEST_POST}">{NEWEST_POST_IMG}</a> <!-- ENDIF -->{topicrow.ATTACH_ICON_IMG} <a href="{topicrow.U_VIEW_TOPIC}">{topicrow.TOPIC_TITLE}</a></p><br />
<!-- IF topicrow.PAGINATION --> <!-- IF topicrow.PAGINATION -->
<p class="gensmall"> [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ] </p> <p class="gensmall"> [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ] </p>
<!-- ENDIF --> <!-- ENDIF -->
@ -56,7 +56,7 @@
<td style="padding: 4px;" align="{S_CONTENT_FLOW_BEGIN}" valign="top" nowrap="nowrap"> <td style="padding: 4px;" align="{S_CONTENT_FLOW_BEGIN}" valign="top" nowrap="nowrap">
<p class="topicdetails">{topicrow.LAST_POST_TIME}</p> <p class="topicdetails">{topicrow.LAST_POST_TIME}</p>
<p class="topicdetails">{topicrow.LAST_POST_AUTHOR_FULL} <p class="topicdetails">{topicrow.LAST_POST_AUTHOR_FULL}
<a href="{topicrow.U_LAST_POST}">{topicrow.LAST_POST_IMG}</a> <a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a>
</p> </p>
</td> </td>
<td style="padding: 4px;"> <input type="checkbox" class="radio" name="t[{topicrow.TOPIC_ID}]" /> </td> <td style="padding: 4px;"> <input type="checkbox" class="radio" name="t[{topicrow.TOPIC_ID}]" /> </td>

View file

@ -347,6 +347,10 @@ if ($forum_data['forum_type'] == FORUM_POST)
{ {
$global_announce_list[$row['topic_id']] = true; $global_announce_list[$row['topic_id']] = true;
} }
else
{
$topics_count--;
}
} }
$db->sql_freeresult($result); $db->sql_freeresult($result);
} }