diff options
Diffstat (limited to 'phpBB')
54 files changed, 691 insertions, 432 deletions
diff --git a/phpBB/adm/style/acp_users_prefs.html b/phpBB/adm/style/acp_users_prefs.html index 3a0d244d43..6b6f364e7d 100644 --- a/phpBB/adm/style/acp_users_prefs.html +++ b/phpBB/adm/style/acp_users_prefs.html @@ -49,7 +49,7 @@ <dl> <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><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> </fieldset> diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css index 3410034803..7c015f0dae 100644 --- a/phpBB/adm/style/admin.css +++ b/phpBB/adm/style/admin.css @@ -701,6 +701,7 @@ optgroup, select { cursor: pointer; vertical-align: middle; width: auto; + color: #000; } optgroup { @@ -710,6 +711,7 @@ optgroup { option { padding: 0 1em 0 0; + color: #000; } .rtl option { @@ -801,8 +803,8 @@ fieldset.display-options select, fieldset.display-options input, fieldset.displa } select option.disabled { - background-color: #BBBBBB; - color: #FFFFFF; + background-color: #bbb; + color: #fff; } /* Special case inputs */ diff --git a/phpBB/docs/README.html b/phpBB/docs/README.html index 55106f27c2..7ea5f3756b 100644 --- a/phpBB/docs/README.html +++ b/phpBB/docs/README.html @@ -200,9 +200,24 @@ p a { <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> <a href="#top">Top</a> diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php index c8a7d4885a..3f27d3b907 100644 --- a/phpBB/includes/acp/acp_styles.php +++ b/phpBB/includes/acp/acp_styles.php @@ -1421,7 +1421,9 @@ parse_css_file = {PARSE_CSS_FILE} global $db, $user, $phpbb_root_path, $cache, $template; $this->page_title = 'EDIT_IMAGESET'; + $update = (isset($_POST['update'])) ? true : false; + $imgname = request_var('imgname', ''); $imgpath = request_var('imgpath', ''); $imgsize = request_var('imgsize', false); @@ -1446,7 +1448,7 @@ parse_css_file = {PARSE_CSS_FILE} if (strpos($imgname, '-') !== false) { list($imgname, $imgnamelang) = explode('-', $imgname); - $sql_extra = " AND image_lang IN('" . $db->sql_escape($imgnamelang) . "', '')"; + $sql_extra = " AND image_lang IN ('" . $db->sql_escape($imgnamelang) . "', '')"; } $sql = 'SELECT image_filename, image_width, image_height, image_lang, image_id @@ -1455,12 +1457,13 @@ parse_css_file = {PARSE_CSS_FILE} AND image_name = '" . $db->sql_escape($imgname) . "'$sql_extra"; $result = $db->sql_query($sql); $imageset_data_row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + $image_filename = $imageset_data_row['image_filename']; $image_width = $imageset_data_row['image_width']; $image_height = $imageset_data_row['image_height']; $image_lang = $imageset_data_row['image_lang']; $image_id = $imageset_data_row['image_id']; - $db->sql_freeresult($result); if (!$imageset_row) { @@ -1484,17 +1487,16 @@ parse_css_file = {PARSE_CSS_FILE} if ($valid_name) { // If imgwidth and imgheight are non-zero grab the actual size - // from the image itself ... we ignore width settings for the poll center - // image + // from the image itself ... we ignore width settings for the poll center image $imgwidth = $imgheight = 0; $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); } - if ($imgsize && $imageset_path) + if ($imgsize && $imgpath) { list($imgwidth, $imgheight) = getimagesize("{$phpbb_root_path}styles/$imageset_path/imageset/$imgpath"); $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); $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; - $image_request = '../styles/' . $imageset_path . '/imageset/' . ($image_lang ? $imgnamelang . '/' : '') . $image_filename; $template->assign_vars(array( diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php index fa9709194b..5df9c418dc 100644 --- a/phpBB/includes/acp/acp_users.php +++ b/phpBB/includes/acp/acp_users.php @@ -282,6 +282,7 @@ class acp_users $key_len = 54 - (strlen($server_url)); $key_len = ($key_len > 6) ? $key_len : 6; $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) { @@ -295,7 +296,7 @@ class acp_users $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']); @@ -1168,7 +1169,7 @@ class acp_users if ($submit) { $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'), 'tz' => array('num', false, -14, 14), diff --git a/phpBB/includes/db/mssql_odbc.php b/phpBB/includes/db/mssql_odbc.php index 5fa14a66b6..52942ac3bd 100644 --- a/phpBB/includes/db/mssql_odbc.php +++ b/phpBB/includes/db/mssql_odbc.php @@ -43,6 +43,9 @@ class dbal_mssql_odbc extends dbal $this->server = $sqlserver . (($port) ? ':' . $port : ''); $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); return ($this->db_connect_id) ? $this->db_connect_id : $this->sql_error(''); diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php index 01f694afd1..251a7b9f0d 100644 --- a/phpBB/includes/functions_display.php +++ b/phpBB/includes/functions_display.php @@ -567,9 +567,11 @@ function topic_generate_pagination($replies, $url) for ($j = 0; $j < $replies + 1; $j += $per_page) { $pagination .= '<a href="' . $url . '&start=' . $j . '">' . $times . '</a>'; - if ($times == 1 && $total_pages > 4) + if ($times == 1 && $total_pages > 5) { $pagination .= ' ... '; + + // Display the last three pages $times = $total_pages - 3; $j += ($total_pages - 4) * $per_page; } diff --git a/phpBB/includes/functions_module.php b/phpBB/includes/functions_module.php index f2494820ae..86cc93435d 100644 --- a/phpBB/includes/functions_module.php +++ b/phpBB/includes/functions_module.php @@ -465,6 +465,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.: &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 */ function is_active($id, $mode = false) diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index d335c32cd5..bbd2d070cb 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -1184,6 +1184,12 @@ function validate_username($username, $allowed_username = false) return false; } + // ... fast checks first. + if (strpos($username, '"') !== false || strpos($username, '"') !== false) + { + return 'INVALID_CHARS'; + } + $mbstring = $pcre = false; // generic UTF-8 character types supported? @@ -1247,6 +1253,7 @@ function validate_username($username, $allowed_username = false) break; case 'USERNAME_ASCII': + default: $pcre = true; $regex = '[\x01-\x7F]+'; break; @@ -1269,11 +1276,6 @@ function validate_username($username, $allowed_username = false) } } - if (strpos($username, '"') !== false || strpos($username, '"') !== false) - { - return 'INVALID_CHARS'; - } - $sql = 'SELECT username FROM ' . USERS_TABLE . " WHERE username_clean = '" . $db->sql_escape($clean_username) . "'"; diff --git a/phpBB/includes/mcp/mcp_notes.php b/phpBB/includes/mcp/mcp_notes.php index 9d4b522fe4..62ff6e0a92 100755 --- a/phpBB/includes/mcp/mcp_notes.php +++ b/phpBB/includes/mcp/mcp_notes.php @@ -18,7 +18,7 @@ class mcp_notes var $p_master; var $u_action; - function mcp_main(&$p_master) + function mcp_notes(&$p_master) { $this->p_master = &$p_master; } @@ -91,6 +91,11 @@ class mcp_notes $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('&u=' . $user_id); + $deletemark = ($action == 'del_marked') ? true : false; $deleteall = ($action == 'del_all') ? true : false; $marked = request_var('marknote', array(0)); diff --git a/phpBB/includes/mcp/mcp_reports.php b/phpBB/includes/mcp/mcp_reports.php index 33c71b47b1..c3c39d22fe 100755 --- a/phpBB/includes/mcp/mcp_reports.php +++ b/phpBB/includes/mcp/mcp_reports.php @@ -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 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 r.user_id = u.user_id'; $result = $db->sql_query($sql); @@ -75,7 +75,12 @@ class mcp_reports 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']; diff --git a/phpBB/includes/mcp/mcp_topic.php b/phpBB/includes/mcp/mcp_topic.php index 427c7e63d2..b9f66082fe 100644 --- a/phpBB/includes/mcp/mcp_topic.php +++ b/phpBB/includes/mcp/mcp_topic.php @@ -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_REPORT_VIEW' => ($action == 'reports') ? true : false, 'S_MERGE_VIEW' => ($action == 'merge') ? true : false, + 'S_SPLIT_VIEW' => ($action == 'split') ? true : false, 'S_SHOW_TOPIC_ICONS' => $s_topic_icons, 'S_TOPIC_ICON' => $icon_id, diff --git a/phpBB/includes/mcp/mcp_warn.php b/phpBB/includes/mcp/mcp_warn.php index 6d3961de2f..f041732b8a 100755 --- a/phpBB/includes/mcp/mcp_warn.php +++ b/phpBB/includes/mcp/mcp_warn.php @@ -18,7 +18,7 @@ class mcp_warn var $p_master; var $u_action; - function mcp_main(&$p_master) + function mcp_warn(&$p_master) { $this->p_master = &$p_master; } @@ -40,332 +40,329 @@ class mcp_warn switch ($mode) { case 'front': - mcp_warn_front_view($id, $mode); + $this->mcp_warn_front_view(); $this->tpl_name = 'mcp_warn_front'; break; case 'list': - mcp_warn_list_view($id, $mode, $action); + $this->mcp_warn_list_view($action); $this->tpl_name = 'mcp_warn_list'; break; case 'warn_post': - mcp_warn_post_view($id, $mode, $action); + $this->mcp_warn_post_view($action); $this->tpl_name = 'mcp_warn_post'; break; case 'warn_user': - mcp_warn_user_view($id, $mode, $action); + $this->mcp_warn_user_view($action); $this->tpl_name = 'mcp_warn_user'; break; } } -} -/** -* Generates the summary on the main page of the warning module -*/ -function mcp_warn_front_view($id, $mode) -{ - global $phpEx, $phpbb_root_path, $config; - global $template, $db, $user, $auth; + /** + * Generates the summary on the main page of the warning module + */ + function mcp_warn_front_view() + { + global $phpEx, $phpbb_root_path, $config; + global $template, $db, $user, $auth; - $template->assign_vars(array( - 'U_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&form=mcp&field=username&select_single=true'), - '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&mode=warn_user'), - ) - ); + $template->assign_vars(array( + 'U_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&form=mcp&field=username&select_single=true'), + '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&mode=warn_user'), + )); - // Obtain a list of the 5 naughtiest users.... - // These are the 5 users with the highest warning count + // Obtain a list of the 5 naughtiest users.... + // These are the 5 users with the highest warning count + $highest = array(); + $count = 0; - $highest = array(); - $count = 0; + view_warned_users($highest, $count, 5); - view_warned_users($highest, $count, 5); + foreach ($highest as $row) + { + $template->assign_block_vars('highest', array( + 'U_NOTES' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $row['user_id']), - foreach ($highest as $row) - { - $template->assign_block_vars('highest', array( - 'U_NOTES' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $row['user_id']), + 'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']), + 'USERNAME' => $row['username'], + 'USERNAME_COLOUR' => ($row['user_colour']) ? '#' . $row['user_colour'] : '', + 'U_USER' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']), - 'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']), - 'USERNAME' => $row['username'], - 'USERNAME_COLOUR' => ($row['user_colour']) ? '#' . $row['user_colour'] : '', - 'U_USER' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']), + 'WARNING_TIME' => $user->format_date($row['user_last_warning']), + 'WARNINGS' => $row['user_warnings'], + )); + } - 'WARNING_TIME' => $user->format_date($row['user_last_warning']), - 'WARNINGS' => $row['user_warnings'], - ) - ); - } + // 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 + FROM ' . USERS_TABLE . ' u, ' . WARNINGS_TABLE . ' w + WHERE u.user_id = w.user_id + ORDER BY w.warning_time DESC'; + $result = $db->sql_query_limit($sql, 5); - // And now the 5 most recent users to get in trouble + while ($row = $db->sql_fetchrow($result)) + { + $template->assign_block_vars('latest', array( + 'U_NOTES' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $row['user_id']), + + 'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']), + 'USERNAME' => $row['username'], + 'USERNAME_COLOUR' => ($row['user_colour']) ? '#' . $row['user_colour'] : '', + 'U_USER' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']), - $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 - WHERE u.user_id = w.user_id - ORDER BY w.warning_time DESC'; - $result = $db->sql_query_limit($sql, 5); + 'WARNING_TIME' => $user->format_date($row['warning_time']), + 'WARNINGS' => $row['user_warnings'], + )); + } + $db->sql_freeresult($result); + } - while ($row = $db->sql_fetchrow($result)) + /** + * Lists all users with warnings + */ + function mcp_warn_list_view($action) { - $template->assign_block_vars('latest', array( - 'U_NOTES' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $row['user_id']), + global $phpEx, $phpbb_root_path, $config; + global $template, $db, $user, $auth; - 'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']), - 'USERNAME' => $row['username'], - 'USERNAME_COLOUR' => ($row['user_colour']) ? '#' . $row['user_colour'] : '', - 'U_USER' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']), + $user->add_lang('memberlist'); - 'WARNING_TIME' => $user->format_date($row['warning_time']), - 'WARNINGS' => $row['user_warnings'], - ) - ); - } - $db->sql_freeresult($result); -} + $start = request_var('start', 0); + $st = request_var('st', 0); + $sk = request_var('sk', 'b'); + $sd = request_var('sd', 'd'); -/** -* Lists all users with warnings -*/ -function mcp_warn_list_view($id, $mode, $action) -{ - global $phpEx, $phpbb_root_path, $config; - global $template, $db, $user, $auth; + $limit_days = array(0 => $user->lang['ALL_ENTRIES'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']); + $sort_by_text = array('a' => $user->lang['SORT_USERNAME'], 'b' => $user->lang['SORT_DATE'], 'c' => $user->lang['SORT_WARNINGS']); + $sort_by_sql = array('a' => 'username_clean', 'b' => 'user_last_warning', 'c' => 'user_warnings'); - $user->add_lang('memberlist'); + $s_limit_days = $s_sort_key = $s_sort_dir = $u_sort_param = ''; + gen_sort_selects($limit_days, $sort_by_text, $st, $sk, $sd, $s_limit_days, $s_sort_key, $s_sort_dir, $u_sort_param); - $start = request_var('start', 0); - $st = request_var('st', 0); - $sk = request_var('sk', 'b'); - $sd = request_var('sd', 'd'); + // Define where and sort sql for use in displaying logs + $sql_where = ($st) ? (time() - ($st * 86400)) : 0; + $sql_sort = $sort_by_sql[$sk] . ' ' . (($sd == 'd') ? 'DESC' : 'ASC'); - $limit_days = array(0 => $user->lang['ALL_ENTRIES'], 1 => $user->lang['1_DAY'], 7 => $user->lang['7_DAYS'], 14 => $user->lang['2_WEEKS'], 30 => $user->lang['1_MONTH'], 90 => $user->lang['3_MONTHS'], 180 => $user->lang['6_MONTHS'], 365 => $user->lang['1_YEAR']); - $sort_by_text = array('a' => $user->lang['SORT_USERNAME'], 'b' => $user->lang['SORT_DATE'], 'c' => $user->lang['SORT_WARNINGS']); - $sort_by_sql = array('a' => 'username_clean', 'b' => 'user_last_warning', 'c' => 'user_warnings'); + $users = array(); + $user_count = 0; - $s_limit_days = $s_sort_key = $s_sort_dir = $u_sort_param = ''; - gen_sort_selects($limit_days, $sort_by_text, $st, $sk, $sd, $s_limit_days, $s_sort_key, $s_sort_dir, $u_sort_param); + view_warned_users($users, $user_count, $config['topics_per_page'], $start, $sql_where, $sql_sort); - // Define where and sort sql for use in displaying logs - $sql_where = ($st) ? (time() - ($st * 86400)) : 0; - $sql_sort = $sort_by_sql[$sk] . ' ' . (($sd == 'd') ? 'DESC' : 'ASC'); + foreach ($users as $row) + { + $template->assign_block_vars('user', array( + 'U_NOTES' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $row['user_id']), - $users = array(); - $user_count = 0; + 'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']), + 'USERNAME' => $row['username'], + 'USERNAME_COLOUR' => ($row['user_colour']) ? '#' . $row['user_colour'] : '', + 'U_USER' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']), + + 'WARNING_TIME' => $user->format_date($row['user_last_warning']), + 'WARNINGS' => $row['user_warnings'], + )); + } - view_warned_users($users, $user_count, $config['topics_per_page'], $start, $sql_where, $sql_sort); + $template->assign_vars(array( + 'U_POST_ACTION' => $this->u_action, + 'S_CLEAR_ALLOWED' => ($auth->acl_get('a_clearlogs')) ? true : false, + 'S_SELECT_SORT_DIR' => $s_sort_dir, + 'S_SELECT_SORT_KEY' => $s_sort_key, + 'S_SELECT_SORT_DAYS' => $s_limit_days, + + 'PAGE_NUMBER' => on_page($user_count, $config['topics_per_page'], $start), + 'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}mcp.$phpEx", "i=warn&mode=list&st=$st&sk=$sk&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), + )); + } - foreach ($users as $row) + /** + * Handles warning the user when the warning is for a specific post + */ + function mcp_warn_post_view($action) { - $template->assign_block_vars('user', array( - 'U_NOTES' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=notes&mode=user_notes&u=' . $row['user_id']), + global $phpEx, $phpbb_root_path, $config; + global $template, $db, $user, $auth; + + $post_id = request_var('p', 0); + $forum_id = request_var('f', 0); + $notify = (isset($_REQUEST['notify_user'])) ? true : false; + $warning = request_var('warning', '', true); + + $sql = 'SELECT u.*, p.* + FROM ' . POSTS_TABLE . ' p, ' . USERS_TABLE . " u + WHERE post_id = $post_id + AND u.user_id = p.poster_id"; + $result = $db->sql_query($sql); + $user_row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + + if (!$user_row) + { + trigger_error($user->lang['NO_POST']); + } - 'USERNAME_FULL' => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']), - 'USERNAME' => $row['username'], - 'USERNAME_COLOUR' => ($row['user_colour']) ? '#' . $row['user_colour'] : '', - 'U_USER' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $row['user_id']), - - 'WARNING_TIME' => $user->format_date($row['user_last_warning']), - 'WARNINGS' => $row['user_warnings'], - ) - ); - } + // There is no point issuing a warning to ignored users (ie anonymous and bots) + if ($user_row['user_type'] == USER_IGNORE) + { + trigger_error($user->lang['CANNOT_WARN_ANONYMOUS']); + } - $template->assign_vars(array( - 'U_POST_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&mode=$mode"), - 'S_CLEAR_ALLOWED' => ($auth->acl_get('a_clearlogs')) ? true : false, - 'S_SELECT_SORT_DIR' => $s_sort_dir, - 'S_SELECT_SORT_KEY' => $s_sort_key, - 'S_SELECT_SORT_DAYS' => $s_limit_days, - - 'PAGE_NUMBER' => on_page($user_count, $config['topics_per_page'], $start), - 'PAGINATION' => generate_pagination(append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&mode=$mode&st=$st&sk=$sk&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), - ) - ); + // Prevent someone from warning themselves + if ($user_row['user_id'] == $user->data['user_id']) + { + trigger_error($user->lang['CANNOT_WARN_SELF']); + } -} + // Check if there is already a warning for this post to prevent multiple + // warnings for the same offence + $sql = 'SELECT post_id + FROM ' . WARNINGS_TABLE . " + WHERE post_id = $post_id"; + $result = $db->sql_query($sql); + $row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); -/** -* Handles warning the user when the warning is for a specific post -*/ -function mcp_warn_post_view($id, $mode, $action) -{ - global $phpEx, $phpbb_root_path, $config; - global $template, $db, $user, $auth; + if ($row) + { + trigger_error($user->lang['ALREADY_WARNED']); + } - $post_id = request_var('p', 0); - $forum_id = request_var('f', 0); - $notify = (isset($_REQUEST['notify_user'])) ? true : false; - $warning = request_var('warning', '', true); + $user_id = $user_row['user_id']; - $sql = 'SELECT u.*, p.* - FROM ' . POSTS_TABLE . ' p, ' . USERS_TABLE . " u - WHERE post_id = $post_id - AND u.user_id = p.poster_id"; - $result = $db->sql_query($sql); - $user_row = $db->sql_fetchrow($result); - $db->sql_freeresult($result); + $this->p_master->adjust_url('&f=' . $forum_id . '&p=' . $post_id); - if (!$user_row) - { - trigger_error($user->lang['NO_POST']); - } + if ($warning && $action == 'add_warning') + { + add_warning($user_row, $warning, $notify, $post_id); - // There is no point issuing a warning to ignored users (ie anonymous and bots) - if ($user_row['user_type'] == USER_IGNORE) - { - trigger_error($user->lang['CANNOT_WARN_ANONYMOUS']); - } + $redirect = append_sid("{$phpbb_root_path}mcp.$phpEx", "i=notes&mode=user_notes&u=$user_id"); + meta_refresh(2, $redirect); + trigger_error($user->lang['USER_WARNING_ADDED'] . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>')); + } - // Prevent someone from warning themselves - if ($user_row['user_id'] == $user->data['user_id']) - { - trigger_error($user->lang['CANNOT_WARN_SELF']); - } + // OK, they didn't submit a warning so lets build the page for them to do so + + // We want to make the message available here as a reminder + // Parse the message and subject + $message = $user_row['post_text']; + $message = str_replace("\n", '<br />', censor_text($message)); - // Check if there is already a warning for this post to prevent multiple - // warnings for the same offence - $sql = 'SELECT post_id - FROM ' . WARNINGS_TABLE . " - WHERE post_id = $post_id"; - $result = $db->sql_query($sql); - $row = $db->sql_fetchrow($result); - $db->sql_freeresult($result); + // Second parse bbcode here + if ($user_row['bbcode_bitfield']) + { + include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx); - if ($row) - { - trigger_error($user->lang['ALREADY_WARNED']); - } + $bbcode = new bbcode($user_row['bbcode_bitfield']); + $bbcode->bbcode_second_pass($message, $user_row['bbcode_uid'], $user_row['bbcode_bitfield']); + } - $user_id = $user_row['user_id']; + // Always process smilies after parsing bbcodes + $message = smiley_text($message); - if ($warning && $action == 'add_warning') - { - add_warning($user_row, $warning, $notify, $post_id); + // Generate the appropriate user information for the user we are looking at + if (!function_exists('get_user_avatar')) + { + include($phpbb_root_path . 'includes/functions_display.' . $phpEx); + } - $redirect = append_sid("{$phpbb_root_path}mcp.$phpEx", "i=notes&mode=user_notes&u=$user_id"); - meta_refresh(2, $redirect); - trigger_error($user->lang['USER_WARNING_ADDED'] . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>')); - } + $rank_title = $rank_img = ''; + $avatar_img = get_user_avatar($user_row['user_avatar'], $user_row['user_avatar_type'], $user_row['user_avatar_width'], $user_row['user_avatar_height']); - // OK, they didn't submit a warning so lets build the page for them to do so - - // We want to make the message available here as a reminder - // Parse the message and subject - $message = $user_row['post_text']; - $message = str_replace("\n", '<br />', censor_text($message)); + $template->assign_vars(array( + 'U_POST_ACTION' => $this->u_action . "p=$post_id", - // Second parse bbcode here - if ($user_row['bbcode_bitfield']) - { - include_once($phpbb_root_path . 'includes/bbcode.' . $phpEx); + 'POST' => $message, + 'USERNAME' => $user_row['username'], + 'USER_COLOR' => (!empty($user_row['user_colour'])) ? $user_row['user_colour'] : '', + 'RANK_TITLE' => $rank_title, + 'JOINED' => $user->format_date($user_row['user_regdate']), + 'POSTS' => ($user_row['user_posts']) ? $user_row['user_posts'] : 0, + 'WARNINGS' => ($user_row['user_warnings']) ? $user_row['user_warnings'] : 0, - $bbcode = new bbcode($user_row['bbcode_bitfield']); - $bbcode->bbcode_second_pass($message, $user_row['bbcode_uid'], $user_row['bbcode_bitfield']); - } + 'AVATAR_IMG' => $avatar_img, + 'RANK_IMG' => $rank_img, - // Always process smilies after parsing bbcodes - $message = smiley_text($message); + 'L_WARNING_POST_DEFAULT' => sprintf($user->lang['WARNING_POST_DEFAULT'], generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&p=$post_id"), + )); + } - // Generate the appropriate user information for the user we are looking at - if (!function_exists('get_user_avatar')) + /** + * Handles warning the user + */ + function mcp_warn_user_view($action) { - include($phpbb_root_path . 'includes/functions_display.' . $phpEx); - } + global $phpEx, $phpbb_root_path, $config, $module; + global $template, $db, $user, $auth; - $rank_title = $rank_img = ''; - $avatar_img = get_user_avatar($user_row['user_avatar'], $user_row['user_avatar_type'], $user_row['user_avatar_width'], $user_row['user_avatar_height']); + $user_id = request_var('u', 0); + $username = request_var('username', '', true); + $notify = (isset($_REQUEST['notify_user'])) ? true : false; + $warning = request_var('warning', '', true); - $template->assign_vars(array( - 'U_POST_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&mode=$mode&p=$post_id"), + $sql_where = ($user_id) ? "user_id = $user_id" : "username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'"; - 'POST' => $message, - 'USERNAME' => $user_row['username'], - 'USER_COLOR' => (!empty($user_row['user_colour'])) ? $user_row['user_colour'] : '', - 'RANK_TITLE' => $rank_title, - 'JOINED' => $user->format_date($user_row['user_regdate']), - 'POSTS' => ($user_row['user_posts']) ? $user_row['user_posts'] : 0, + $sql = 'SELECT * + FROM ' . USERS_TABLE . ' + WHERE ' . $sql_where; + $result = $db->sql_query($sql); + $user_row = $db->sql_fetchrow($result); + $db->sql_freeresult($result); - 'AVATAR_IMG' => $avatar_img, - 'RANK_IMG' => $rank_img, + if (!$user_row) + { + trigger_error('NO_USER'); + } - 'L_WARNING_POST_DEFAULT' => sprintf($user->lang['WARNING_POST_DEFAULT'], generate_board_url() . "/viewtopic.$phpEx?f=$forum_id&p=$post_id"), - ) - ); -} + // Prevent someone from warning themselves + if ($user_row['user_id'] == $user->data['user_id']) + { + trigger_error($user->lang['CANNOT_WARN_SELF']); + } -/** -* Handles warning the user -*/ -function mcp_warn_user_view($id, $mode, $action) -{ - global $phpEx, $phpbb_root_path, $config, $module; - global $template, $db, $user, $auth; + $user_id = $user_row['user_id']; - $user_id = request_var('u', 0); - $username = request_var('username', '', true); - $notify = (isset($_REQUEST['notify_user'])) ? true : false; - $warning = request_var('warning', '', true); + $this->p_master->adjust_url('&u=' . $user_id); - $sql_where = ($user_id) ? "user_id = $user_id" : "username_clean = '" . $db->sql_escape(utf8_clean_string($username)) . "'"; + if ($warning && $action == 'add_warning') + { + add_warning($user_row, $warning, $notify); - $sql = 'SELECT * - FROM ' . USERS_TABLE . ' - WHERE ' . $sql_where; - $result = $db->sql_query($sql); - $user_row = $db->sql_fetchrow($result); - $db->sql_freeresult($result); + $redirect = append_sid("{$phpbb_root_path}mcp.$phpEx", "i=notes&mode=user_notes&u=$user_id"); + meta_refresh(2, $redirect); + trigger_error($user->lang['USER_WARNING_ADDED'] . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>')); + } - if (!$user_row) - { - trigger_error('NO_USER'); - } + // Generate the appropriate user information for the user we are looking at + if (!function_exists('get_user_avatar')) + { + include($phpbb_root_path . 'includes/functions_display.' . $phpEx); + } - // Prevent someone from warning themselves - if ($user_row['user_id'] == $user->data['user_id']) - { - trigger_error($user->lang['CANNOT_WARN_SELF']); - } + $rank_title = $rank_img = ''; + $avatar_img = get_user_avatar($user_row['user_avatar'], $user_row['user_avatar_type'], $user_row['user_avatar_width'], $user_row['user_avatar_height']); - $user_id = $user_row['user_id']; + // OK, they didn't submit a warning so lets build the page for them to do so + $template->assign_vars(array( + 'U_POST_ACTION' => $this->u_action . "u=$user_id", - if ($warning && $action == 'add_warning') - { - add_warning($user_row, $warning, $notify); + 'USERNAME' => $user_row['username'], + 'USER_COLOR' => (!empty($user_row['user_colour'])) ? $user_row['user_colour'] : '', + 'RANK_TITLE' => $rank_title, + 'JOINED' => $user->format_date($user_row['user_regdate']), + 'POSTS' => ($user_row['user_posts']) ? $user_row['user_posts'] : 0, + 'WARNINGS' => ($user_row['user_warnings']) ? $user_row['user_warnings'] : 0, - $redirect = append_sid("{$phpbb_root_path}mcp.$phpEx", "i=notes&mode=user_notes&u=$user_id"); - meta_refresh(2, $redirect); - trigger_error($user->lang['USER_WARNING_ADDED'] . '<br /><br />' . sprintf($user->lang['RETURN_PAGE'], '<a href="' . $redirect . '">', '</a>')); - } + 'AVATAR_IMG' => $avatar_img, + 'RANK_IMG' => $rank_img, + )); - // Generate the appropriate user information for the user we are looking at - if (!function_exists('get_user_avatar')) - { - include($phpbb_root_path . 'includes/functions_display.' . $phpEx); + return $user_id; } - - $rank_title = $rank_img = ''; - $avatar_img = get_user_avatar($user_row['user_avatar'], $user_row['user_avatar_type'], $user_row['user_avatar_width'], $user_row['user_avatar_height']); - - // OK, they didn't submit a warning so lets build the page for them to do so - $template->assign_vars(array( - 'U_POST_ACTION' => append_sid("{$phpbb_root_path}mcp.$phpEx", "i=$id&mode=$mode&u=$user_id"), - - 'USERNAME' => $user_row['username'], - 'USER_COLOR' => (!empty($user_row['user_colour'])) ? $user_row['user_colour'] : '', - 'RANK_TITLE' => $rank_title, - 'JOINED' => $user->format_date($user_row['user_regdate']), - 'POSTS' => ($user_row['user_posts']) ? $user_row['user_posts'] : 0, - 'WARNINGS' => ($user_row['user_warnings']) ? $user_row['user_warnings'] : 0, - - 'AVATAR_IMG' => $avatar_img, - 'RANK_IMG' => $rank_img, - ) - ); } /** diff --git a/phpBB/includes/ucp/ucp_main.php b/phpBB/includes/ucp/ucp_main.php index ea0cea30ce..60573aa7fd 100644 --- a/phpBB/includes/ucp/ucp_main.php +++ b/phpBB/includes/ucp/ucp_main.php @@ -127,16 +127,19 @@ class ucp_main $template->assign_block_vars('topicrow', array( 'FORUM_ID' => $forum_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_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_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']), 'TOPIC_TITLE' => censor_text($row['topic_title']), '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_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', '') : '', @@ -144,6 +147,7 @@ class ucp_main 'S_USER_POSTED' => (!empty($row['topic_posted']) && $row['topic_posted']) ? true : false, '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&t=$topic_id&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_NEWEST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", "f=$g_forum_id&t=$topic_id&view=unread") . '#unread', @@ -179,8 +183,9 @@ class ucp_main // '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'] . '&sr=posts') : '') - ); + 'U_SEARCH_USER' => ($auth->acl_get('u_search')) ? append_sid("{$phpbb_root_path}search.$phpEx", 'author_id=' . $user->data['user_id'] . '&sr=posts') : '', + )); + break; 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_SRC' => ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '', '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_TIME' => $last_post_time, @@ -449,8 +453,6 @@ class ucp_main 'TOPIC_TITLE' => censor_text($row['topic_title']), '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_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'), '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&t=$topic_id&view=unread") . '#unread', 'U_LAST_POST' => $view_topic_url . '&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; @@ -613,7 +615,6 @@ class ucp_main 'TOPIC_FOLDER_IMG' => $user->img($folder_img, $folder_alt), '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', '') : '', - 'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'), 'U_LAST_POST' => $view_topic_url . '&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']), @@ -621,8 +622,8 @@ class ucp_main 'U_VIEW_TOPIC' => $view_topic_url, '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&mode=bookmarks&move_up=' . $row['order_id']) : '', - 'U_MOVE_DOWN' => ($row['order_id'] != $max_order_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&mode=bookmarks&move_down=' . $row['order_id']) : '') - ); + 'U_MOVE_DOWN' => ($row['order_id'] != $max_order_id) ? append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=main&mode=bookmarks&move_down=' . $row['order_id']) : '', + )); } break; @@ -806,8 +807,11 @@ class ucp_main 'S_DISPLAY_MARK_ALL' => ($mode == 'watched' || ($mode == 'drafts' && !isset($_GET['edit']))) ? true : false, '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 $this->tpl_name = 'ucp_main_' . $mode; diff --git a/phpBB/includes/ucp/ucp_prefs.php b/phpBB/includes/ucp/ucp_prefs.php index e57cc3ec26..e0c6ee3e84 100644 --- a/phpBB/includes/ucp/ucp_prefs.php +++ b/phpBB/includes/ucp/ucp_prefs.php @@ -50,7 +50,7 @@ class ucp_prefs $data['style'] = ($config['override_user_style']) ? $config['default_style'] : $data['style']; $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'), 'tz' => array('num', false, -14, 14), )); diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index 7d88571824..50405a4cd5 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -413,10 +413,10 @@ $lang = array_merge($lang, array( 'LOG_ATTACH_FILEUPLOAD' => '<strong>Orphan File uploaded to Post</strong><br />» ID %1$d - %2$s', 'LOG_ATTACH_ORPHAN_DEL' => '<strong>Orphan Files deleted</strong><br />» %s', - 'LOG_BAN_EXCLUDE_USER' => '<strong>Excluded user from ban</strong> for reason “<em>%1$s</em>”<br />» %2$s ', - 'LOG_BAN_EXCLUDE_IP' => '<strong>Excluded IP from ban</strong> for reason “<em>%1$s</em>”<br />» %2$s ', - 'LOG_BAN_EXCLUDE_EMAIL' => '<strong>Excluded email from ban</strong> for reason “<em>%1$s</em>”<br />» %2$s ', - 'LOG_BAN_USER' => '<strong>Banned user</strong> for reason “<em>%1$s</em>”<br />» %2$s ', + 'LOG_BAN_EXCLUDE_USER' => '<strong>Excluded user from ban</strong> for reason “<em>%1$s</em>”<br />» %2$s', + 'LOG_BAN_EXCLUDE_IP' => '<strong>Excluded IP from ban</strong> for reason “<em>%1$s</em>”<br />» %2$s', + 'LOG_BAN_EXCLUDE_EMAIL' => '<strong>Excluded email from ban</strong> for reason “<em>%1$s</em>”<br />» %2$s', + 'LOG_BAN_USER' => '<strong>Banned user</strong> for reason “<em>%1$s</em>”<br />» %2$s', 'LOG_BAN_IP' => '<strong>Banned IP</strong> for reason “<em>%1$s</em>”<br />» %2$s', 'LOG_BAN_EMAIL' => '<strong>Banned email</strong> for reason “<em>%1$s</em>”<br />» %2$s', 'LOG_UNBAN_USER' => '<strong>Unbanned user</strong><br />» %s', @@ -629,7 +629,7 @@ $lang = array_merge($lang, array( '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_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_NAME' => '<strong>Changed username</strong><br />» from “%1$s” to “%2$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_LOCK' => '<strong>User locked own topic</strong><br />» %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_WARNING' => '<strong>Added user warning</strong><br />» %s', 'LOG_USER_WARNING_BODY' => '<strong>The following warning was issued to this user</strong><br />» %s', diff --git a/phpBB/language/en/acp/users.php b/phpBB/language/en/acp/users.php index 41deacbcaf..abcc874e40 100644 --- a/phpBB/language/en/acp/users.php +++ b/phpBB/language/en/acp/users.php @@ -54,7 +54,7 @@ $lang = array_merge($lang, array( 'DELETE_USER' => 'Delete user', '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_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_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_FORCE' => 'Force re-activation', + 'USER_ADMIN_FORCE' => 'Force reactivation', 'USER_ADMIN_MOVE_POSTS' => 'Move all posts', 'USER_ADMIN_SIG_REMOVED' => 'Successfully removed signature from user account.', 'USER_ATTACHMENTS_REMOVED' => 'Successfully removed all attachments made by this user.', diff --git a/phpBB/language/en/email/user_reactivate_account.txt b/phpBB/language/en/email/user_reactivate_account.txt new file mode 100644 index 0000000000..3709723423 --- /dev/null +++ b/phpBB/language/en/email/user_reactivate_account.txt @@ -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}
\ No newline at end of file diff --git a/phpBB/language/en/mcp.php b/phpBB/language/en/mcp.php index 8552925f51..ebdbeef35c 100644 --- a/phpBB/language/en/mcp.php +++ b/phpBB/language/en/mcp.php @@ -216,6 +216,7 @@ $lang = array_merge($lang, array( 'NO_POST_REPORT' => 'This post was not reported.', '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_REPORT' => 'No report found', 'NO_REPORTS' => 'No reports', 'NO_REPORT_SELECTED' => 'You must select at least one report to perform this action', 'NO_TOPIC_ICON' => 'None', diff --git a/phpBB/mcp.php b/phpBB/mcp.php index ce87fd4ae0..1577c32de8 100644 --- a/phpBB/mcp.php +++ b/phpBB/mcp.php @@ -227,9 +227,9 @@ $module->assign_tpl_vars(append_sid("{$phpbb_root_path}mcp.$phpEx")); // Generate urls for letting the moderation control panel being accessed in different modes $template->assign_vars(array( 'U_MCP' => append_sid("{$phpbb_root_path}mcp.$phpEx", 'i=main'), - 'U_MCP_FORUM' => ($forum_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&mode=forum_view&f=$forum_id") : '', - 'U_MCP_TOPIC' => ($forum_id && $topic_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&mode=topic_view&t=$topic_id") : '', - 'U_MCP_POST' => ($forum_id && $topic_id && $post_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&mode=post_details&t=$topic_id&p=$post_id") : '', + 'U_MCP_FORUM' => ($forum_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&mode=forum_view&f=$forum_id") : '', + 'U_MCP_TOPIC' => ($forum_id && $topic_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&mode=topic_view&t=$topic_id") : '', + 'U_MCP_POST' => ($forum_id && $topic_id && $post_id) ? append_sid("{$phpbb_root_path}mcp.$phpEx", "i=main&mode=post_details&t=$topic_id&p=$post_id") : '', )); // Generate the page, do not display/query online list @@ -243,6 +243,41 @@ function _module__url($mode, &$module_row) return extra_url(); } +function _module_notes_url($mode, &$module_row) +{ + if ($mode == 'front') + { + return ''; + } + + global $user_id; + return ($user_id) ? "&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) ? "&f=$forum_id" : ''; + $url_extra .= ($post_id) ? "&p=$post_id" : ''; + + return $url_extra; + } + else + { + global $user_id; + + return ($user_id) ? "&u=$user_id" : ''; + } +} + function _module_main_url($mode, &$module_row) { return extra_url(); diff --git a/phpBB/memberlist.php b/phpBB/memberlist.php index f4c6a2878a..02692b5781 100644 --- a/phpBB/memberlist.php +++ b/phpBB/memberlist.php @@ -30,6 +30,12 @@ $username = request_var('un', '', true); $group_id = request_var('g', 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) { case 'email': @@ -49,7 +55,6 @@ switch ($mode) break; } - $start = request_var('start', 0); $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 - // 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 ($member['user_type'] == USER_IGNORE) diff --git a/phpBB/posting.php b/phpBB/posting.php index 07ed0946ee..941878f085 100644 --- a/phpBB/posting.php +++ b/phpBB/posting.php @@ -408,7 +408,7 @@ if ($mode != 'edit') $post_data['enable_magic_url'] = $post_data['drafts'] = false; // 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 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; // 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 = (!$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 -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 FROM ' . DRAFTS_TABLE . " @@ -540,7 +540,7 @@ if ($draft_id && ($mode == 'reply' || $mode == 'post') && $user->data['is_regist } // 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); } @@ -1252,7 +1252,7 @@ $template->assign_vars(array( 'S_LINKS_ALLOWED' => $url_status, 'S_MAGIC_URL_CHECKED' => ($urls_checked) ? ' checked="checked"' : '', '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_FORM_ENCTYPE' => $form_enctype, diff --git a/phpBB/search.php b/phpBB/search.php index d9210d25f3..3bffb00ddd 100644 --- a/phpBB/search.php +++ b/phpBB/search.php @@ -489,9 +489,10 @@ if ($keywords || $author || $author_id || $search_id || $submit) 'NEWEST_POST_IMG' => $user->img('icon_topic_newest', 'VIEW_NEWEST_POST'), 'REPORTED_IMG' => $user->img('icon_topic_reported', 'TOPIC_REPORTED'), '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) { @@ -779,7 +780,6 @@ if ($keywords || $author || $author_id || $search_id || $submit) 'PAGINATION' => topic_generate_pagination($replies, $view_topic_url), '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_SRC' => $user->img($folder_img, $folder_alt, false, '', 'src'), 'TOPIC_ICON_IMG' => (!empty($icons[$row['icon_id']])) ? $icons[$row['icon_id']]['img'] : '', diff --git a/phpBB/style.php b/phpBB/style.php index 6a71f86dec..056ff2cce7 100644 --- a/phpBB/style.php +++ b/phpBB/style.php @@ -70,8 +70,8 @@ if ($id && $sid) $config = $cache->obtain_config(); - $sql = "SELECT s.session_id, u.user_lang - FROM {$table_prefix}sessions s, {$table_prefix}users u + $sql = 'SELECT s.session_id, u.user_lang + FROM ' . SESSIONS_TABLE . ' s, ' . USERS_TABLE . " u WHERE s.session_id = '" . $db->sql_escape($sid) . "' AND s.session_user_id = u.user_id"; $result = $db->sql_query($sql); @@ -80,12 +80,12 @@ if ($id && $sid) if ($user) { - $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 - WHERE s.style_id = $id + $sql = 'SELECT s.style_id, c.theme_data, c.theme_path, c.theme_name, c.theme_mtime, i.*, t.template_path + FROM ' . STYLES_TABLE . ' s, ' . STYLES_TEMPLATE_TABLE . ' t, ' . STYLES_THEME_TABLE . ' c, ' . STYLES_IMAGESET_TABLE . ' i + WHERE s.style_id = ' . $id . ' AND t.template_id = s.template_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); $theme = $db->sql_fetchrow($result); $db->sql_freeresult($result); diff --git a/phpBB/styles/prosilver/template/editor.js b/phpBB/styles/prosilver/template/editor.js index 2f490f4746..380394fc1e 100644 --- a/phpBB/styles/prosilver/template/editor.js +++ b/phpBB/styles/prosilver/template/editor.js @@ -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 baseHeight; -window.onload = initInsertions; +onload_functions.push('initInsertions()'); /** * Shows the help messages in the helpline window @@ -33,18 +33,20 @@ function helpline(help) function initInsertions() { var doc; - if(document.forms[form_name]) + + if( document.forms[form_name]) { - doc = document; - } + doc = document; + } else { doc = opener.document; } + var textarea = doc.forms[form_name].elements[text_name]; if (is_ie && typeof(baseHeight) != 'number') - { - textarea.focus(); + { + textarea.focus(); baseHeight = doc.selection.createRange().duplicate().boundingHeight; document.body.focus(); } diff --git a/phpBB/styles/prosilver/template/mcp_header.html b/phpBB/styles/prosilver/template/mcp_header.html index af53ce10e2..7c3f711cbd 100644 --- a/phpBB/styles/prosilver/template/mcp_header.html +++ b/phpBB/styles/prosilver/template/mcp_header.html @@ -13,7 +13,7 @@ <div id="tabs"> <ul> <!-- BEGIN l_block1 --> - <li <!-- IF l_block1.S_SELECTED -->class="activetab"<!-- ENDIF -->><a href="{l_block1.U_TITLE}"><span>{l_block1.L_TITLE}</span></a></li> + <li<!-- IF l_block1.S_SELECTED --> class="activetab"<!-- ENDIF -->><a href="{l_block1.U_TITLE}"><span>{l_block1.L_TITLE}</span></a></li> <!-- END l_block1 --> </ul> </div> diff --git a/phpBB/styles/prosilver/template/mcp_notes_user.html b/phpBB/styles/prosilver/template/mcp_notes_user.html index e9306607a0..7e34ee2702 100644 --- a/phpBB/styles/prosilver/template/mcp_notes_user.html +++ b/phpBB/styles/prosilver/template/mcp_notes_user.html @@ -9,18 +9,20 @@ <h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3> - <div class="column1"> - <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF --> - </div> - - <div class="column2"> - <dl class="details"> - <!-- IF RANK_TITLE --><dt>{L_RANK}:</dt><dd>{RANK_TITLE}</dd><!-- ENDIF --> - <!-- IF RANK_IMG --><dt>{L_RANK}:</dt><dd>{RANK_IMG}</dd><!-- ENDIF --> - <dt>{L_JOINED}:</dt><dd>{JOINED}</dd> - <dt>{L_TOTAL_POSTS}:</dt><dd>{POSTS}</dd> - <dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd> - </dl> + <div> + <div class="column1"> + <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF --> + </div> + + <div class="column2"> + <dl class="details"> + <!-- IF RANK_TITLE --><dt>{L_RANK}:</dt><dd>{RANK_TITLE}</dd><!-- ENDIF --> + <!-- IF RANK_IMG --><dt>{L_RANK}:</dt><dd>{RANK_IMG}</dd><!-- ENDIF --> + <dt>{L_JOINED}:</dt><dd>{JOINED}</dd> + <dt>{L_TOTAL_POSTS}:</dt><dd>{POSTS}</dd> + <dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd> + </dl> + </div> </div> <span class="corners-bottom"><span></span></span></div> diff --git a/phpBB/styles/prosilver/template/mcp_topic.html b/phpBB/styles/prosilver/template/mcp_topic.html index 511aaf587b..f828ffa72e 100644 --- a/phpBB/styles/prosilver/template/mcp_topic.html +++ b/phpBB/styles/prosilver/template/mcp_topic.html @@ -4,28 +4,33 @@ <script type="text/javascript"> <!-- + var panels = new Array('display-panel', 'split-panel', 'merge-panel'); <!-- IF S_MERGE_VIEW --> var show_panel = 'merge-panel'; +<!-- ELSEIF S_SPLIT_VIEW --> + var show_panel = 'split-panel'; <!-- ELSE --> var show_panel = 'display-panel'; <!-- ENDIF --> -window.onload = subPanels; + +onload_functions.push('subPanels()'); + //--> </script> <div id="minitabs"> <ul> <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> </li> <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> </li> <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> </li> </ul> @@ -141,8 +146,8 @@ window.onload = subPanels; <!-- 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 --> - <!-- IF S_CAN_MERGE --><option value="merge_posts"<!-- IF ACTION eq 'merge' --> 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_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 S_SPLIT_VIEW --> selected="selected"<!-- ENDIF -->>{L_SPLIT_POSTS}</option><option value="split_beyond">{L_SPLIT_AFTER}</option><!-- ENDIF --> </select> <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> diff --git a/phpBB/styles/prosilver/template/mcp_warn_post.html b/phpBB/styles/prosilver/template/mcp_warn_post.html index afc5ebb178..e887a246e8 100644 --- a/phpBB/styles/prosilver/template/mcp_warn_post.html +++ b/phpBB/styles/prosilver/template/mcp_warn_post.html @@ -9,18 +9,20 @@ <h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3> - <div class="column1"> - <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF --> - </div> + <div> + <div class="column1"> + <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF --> + </div> - <div class="column2"> - <dl class="details"> - <!-- IF RANK_TITLE --><dt>{L_RANK}:</dt><dd>{RANK_TITLE}</dd><!-- ENDIF --> - <!-- IF RANK_IMG --><dt>{L_RANK}:</dt><dd>{RANK_IMG}</dd><!-- ENDIF --> - <dt>{L_JOINED}:</dt><dd>{JOINED}</dd> - <dt>{L_TOTAL_POSTS}:</dt><dd>{POSTS}</dd> - <dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd> - </dl> + <div class="column2"> + <dl class="details"> + <!-- IF RANK_TITLE --><dt>{L_RANK}:</dt><dd>{RANK_TITLE}</dd><!-- ENDIF --> + <!-- IF RANK_IMG --><dt>{L_RANK}:</dt><dd>{RANK_IMG}</dd><!-- ENDIF --> + <dt>{L_JOINED}:</dt><dd>{JOINED}</dd> + <dt>{L_TOTAL_POSTS}:</dt><dd>{POSTS}</dd> + <dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd> + </dl> + </div> </div> <span class="corners-bottom"><span></span></span></div> diff --git a/phpBB/styles/prosilver/template/mcp_warn_user.html b/phpBB/styles/prosilver/template/mcp_warn_user.html index 3157ab8c5e..7604ceb868 100644 --- a/phpBB/styles/prosilver/template/mcp_warn_user.html +++ b/phpBB/styles/prosilver/template/mcp_warn_user.html @@ -9,18 +9,20 @@ <h3><!-- IF USER_COLOR --><span style="color: #{USER_COLOR}">{USERNAME}</span><!-- ELSE -->{USERNAME}<!-- ENDIF --></h3> - <div class="column1"> - <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF --> - </div> - - <div class="column2"> - <dl class="details"> - <!-- IF RANK_TITLE --><dt>{L_RANK}:</dt><dd>{RANK_TITLE}</dd><!-- ENDIF --> - <!-- IF RANK_IMG --><dt>{L_RANK}:</dt><dd>{RANK_IMG}</dd><!-- ENDIF --> - <dt>{L_JOINED}:</dt><dd>{JOINED}</dd> - <dt>{L_TOTAL_POSTS}:</dt><dd>{POSTS}</dd> - <dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd> - </dl> + <div> + <div class="column1"> + <!-- IF AVATAR_IMG --><div>{AVATAR_IMG}</div><!-- ENDIF --> + </div> + + <div class="column2"> + <dl class="details"> + <!-- IF RANK_TITLE --><dt>{L_RANK}:</dt><dd>{RANK_TITLE}</dd><!-- ENDIF --> + <!-- IF RANK_IMG --><dt>{L_RANK}:</dt><dd>{RANK_IMG}</dd><!-- ENDIF --> + <dt>{L_JOINED}:</dt><dd>{JOINED}</dd> + <dt>{L_TOTAL_POSTS}:</dt><dd>{POSTS}</dd> + <dt>{L_WARNINGS}: </dt><dd>{WARNINGS}</dd> + </dl> + </div> </div> <span class="corners-bottom"><span></span></span></div> diff --git a/phpBB/styles/prosilver/template/memberlist_view.html b/phpBB/styles/prosilver/template/memberlist_view.html index e8db269aaa..b6433a1f8a 100644 --- a/phpBB/styles/prosilver/template/memberlist_view.html +++ b/phpBB/styles/prosilver/template/memberlist_view.html @@ -27,6 +27,7 @@ <!-- 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 AGE --><dt>{L_AGE}:</dt> <dd>{AGE}</dd><!-- ENDIF --> <!-- IF OCCUPATION --><dt>{L_OCCUPATION}:</dt> <dd>{OCCUPATION}</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 --> diff --git a/phpBB/styles/prosilver/template/overall_header.html b/phpBB/styles/prosilver/template/overall_header.html index 0d6d5f3cd0..b706b73172 100644 --- a/phpBB/styles/prosilver/template/overall_header.html +++ b/phpBB/styles/prosilver/template/overall_header.html @@ -32,6 +32,8 @@ var per_page = '{PER_PAGE}'; var base_url = '{BASE_URL}'; var style_cookie = 'phpBBstyle'; + var onload_functions = new Array(); + var onunload_functions = new Array(); <!-- IF S_USER_PM_POPUP --> if ({S_NEW_PM}) @@ -51,6 +53,25 @@ 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 type="text/javascript" src="{T_TEMPLATE_PATH}/styleswitcher.js"></script> diff --git a/phpBB/styles/prosilver/template/posting_attach_body.html b/phpBB/styles/prosilver/template/posting_attach_body.html index e62af6271f..d39405487d 100644 --- a/phpBB/styles/prosilver/template/posting_attach_body.html +++ b/phpBB/styles/prosilver/template/posting_attach_body.html @@ -13,7 +13,7 @@ </dl> <dl> <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> </fieldset> diff --git a/phpBB/styles/prosilver/template/posting_editor.html b/phpBB/styles/prosilver/template/posting_editor.html index 90c4c4911d..4c675e4cf8 100644 --- a/phpBB/styles/prosilver/template/posting_editor.html +++ b/phpBB/styles/prosilver/template/posting_editor.html @@ -4,38 +4,52 @@ <!-- IF S_PRIVMSGS and not S_SHOW_DRAFTS --> <div class="column1"> - <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> + <!-- IF S_ALLOW_MASS_PM --> <!-- IF .to_recipient --> - <dd> - <!-- BEGIN to_recipient --> - <!-- IF to_recipient.IS_GROUP --><a href="{to_recipient.U_VIEW}"><strong>{to_recipient.NAME}</strong></a><!-- ELSE -->{to_recipient.NAME_FULL} <!-- ENDIF --> - <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="x" class="button2" /> <!-- ENDIF --> - <!-- END to_recipient --> - </dd> + <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} <!-- ENDIF --> + <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="x" class="button2" /> <!-- ENDIF --> + <!-- END to_recipient --> + </dd> + </dl> <!-- ENDIF --> - <dd> - - <!-- IF S_ALLOW_MASS_PM --> - <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} <!-- ENDIF --> - <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{bcc_recipient.TYPE}[{bcc_recipient.UG_ID}]" value="x" class="button2" /> <!-- ENDIF --> - <!-- END bcc_recipient --> - </dd> + <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} <!-- ENDIF --> + <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{bcc_recipient.TYPE}[{bcc_recipient.UG_ID}]" value="x" class="button2" /> <!-- ENDIF --> + <!-- END bcc_recipient --> + </dd> + </dl> <!-- ENDIF --> - </dl> + <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> + <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 --> + <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} <!-- ENDIF --> + <!-- IF not S_EDIT_POST --><input type="submit" name="remove_{to_recipient.TYPE}[{to_recipient.UG_ID}]" value="x" class="button2" /> <!-- ENDIF --> + <!-- END to_recipient --> + </dd> + <!-- ENDIF --> + + <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> + </dl> <!-- ENDIF --> </div> diff --git a/phpBB/styles/prosilver/template/posting_preview.html b/phpBB/styles/prosilver/template/posting_preview.html index a2340256bc..f2a5d635dc 100644 --- a/phpBB/styles/prosilver/template/posting_preview.html +++ b/phpBB/styles/prosilver/template/posting_preview.html @@ -31,7 +31,7 @@ <div class="content">{PREVIEW_MESSAGE}</div> - <!-- IF S_HAS_ATTACHMENTS --> + <!-- IF .attachment --> <dl class="attachbox"> <dt>{L_ATTACHMENTS}</dt> <!-- BEGIN attachment --> diff --git a/phpBB/styles/prosilver/template/search_results.html b/phpBB/styles/prosilver/template/search_results.html index c61e3db3a5..c9cb862037 100644 --- a/phpBB/styles/prosilver/template/search_results.html +++ b/phpBB/styles/prosilver/template/search_results.html @@ -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_REPORTED --><a href="{searchresults.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --><br /> <!-- 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 --> </dt> <dd class="posts">{searchresults.TOPIC_REPLIES}</dd> <dd class="views">{searchresults.TOPIC_VIEWS}</dd> <dd class="lastpost"><span> {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> </dl> </li> diff --git a/phpBB/styles/prosilver/template/simple_header.html b/phpBB/styles/prosilver/template/simple_header.html index b38dd623c3..40bcc8bbf4 100644 --- a/phpBB/styles/prosilver/template/simple_header.html +++ b/phpBB/styles/prosilver/template/simple_header.html @@ -14,6 +14,33 @@ {META} <title>{SITENAME} • {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> <!-- IF T_STYLESHEET_LINK --> diff --git a/phpBB/styles/prosilver/template/styleswitcher.js b/phpBB/styles/prosilver/template/styleswitcher.js index 8768ac365b..c68215d13f 100644 --- a/phpBB/styles/prosilver/template/styleswitcher.js +++ b/phpBB/styles/prosilver/template/styleswitcher.js @@ -138,21 +138,24 @@ function readCookie(name) return null; } -window.onload = function(e) +function load_cookie() { var cookie = readCookie('style_cookie'); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title); } -window.onunload = function(e) +function unload_cookie() { var title = getActiveStyleSheet(); createCookie('style_cookie', title, 365); } +onload_functions.push('load_cookie()'); +onunload_functions.push('unload_cookie()'); + /* var cookie = readCookie("style"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title); -*/
\ No newline at end of file +*/ diff --git a/phpBB/styles/prosilver/template/ucp_header.html b/phpBB/styles/prosilver/template/ucp_header.html index 3e41b83231..96f6d7591a 100644 --- a/phpBB/styles/prosilver/template/ucp_header.html +++ b/phpBB/styles/prosilver/template/ucp_header.html @@ -22,18 +22,31 @@ <div id="cp-menu"> <div id="navigation"> -<!-- IF S_PRIVMSGS --> - <!-- BEGIN folder --> - <!-- IF folder.S_FIRST_ROW --><ul><!-- ENDIF --> - <!-- IF folder.S_CUR_FOLDER --> - <li id="active-subsection"><a href="ucp.php{SID}&i=pm&folder={folder.FOLDER_ID}"><!-- IF folder.UNREAD_MESSAGES > 0 --><strong>{folder.FOLDER_NAME} ({folder.UNREAD_MESSAGES})</strong><!-- ELSE -->{folder.FOLDER_NAME}<!-- ENDIF --></a></li> - <!-- ELSE --> - <li><a href="ucp.php{SID}&i=pm&folder={folder.FOLDER_ID}"><span><!-- IF folder.UNREAD_MESSAGES > 0 --><strong>{folder.FOLDER_NAME} ({folder.UNREAD_MESSAGES})</strong><!-- ELSE -->{folder.FOLDER_NAME}<!-- ENDIF --></span></a></li> + <!-- 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 --> + <!-- IF folder.S_FIRST_ROW --><ul><!-- ENDIF --> + <!-- IF folder.S_CUR_FOLDER --> + <li id="active-subsection"><a href="ucp.php{SID}&i=pm&folder={folder.FOLDER_ID}"><!-- IF folder.UNREAD_MESSAGES > 0 --><strong>{folder.FOLDER_NAME} ({folder.UNREAD_MESSAGES})</strong><!-- ELSE -->{folder.FOLDER_NAME}<!-- ENDIF --></a></li> + <!-- ELSE --> + <li><a href="ucp.php{SID}&i=pm&folder={folder.FOLDER_ID}"><span><!-- IF folder.UNREAD_MESSAGES > 0 --><strong>{folder.FOLDER_NAME} ({folder.UNREAD_MESSAGES})</strong><!-- ELSE -->{folder.FOLDER_NAME}<!-- ENDIF --></span></a></li> + <!-- ENDIF --> + <!-- IF folder.S_LAST_ROW --></ul><!-- ENDIF --> + <!-- END folder --> + <hr /> <!-- ENDIF --> - <!-- IF folder.S_LAST_ROW --></ul><!-- ENDIF --> - <!-- END folder --> - <hr /> -<!-- ENDIF --> <ul> <!-- BEGIN t_block2 --> diff --git a/phpBB/styles/prosilver/template/ucp_main_bookmarks.html b/phpBB/styles/prosilver/template/ucp_main_bookmarks.html index df31353e16..8278299cd6 100644 --- a/phpBB/styles/prosilver/template/ucp_main_bookmarks.html +++ b/phpBB/styles/prosilver/template/ucp_main_bookmarks.html @@ -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_REPORTED --><a href="{topicrow.U_MCP_REPORT}">{REPORTED_IMG}</a><!-- ENDIF --><br /> <!-- 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> - <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> </dd> <dd class="mark"><input type="checkbox" name="t[{topicrow.TOPIC_ID}]" id="t{topicrow.TOPIC_ID}" /></dd> diff --git a/phpBB/styles/prosilver/template/ucp_main_front.html b/phpBB/styles/prosilver/template/ucp_main_front.html index 953712932d..008f5f2b3d 100644 --- a/phpBB/styles/prosilver/template/ucp_main_front.html +++ b/phpBB/styles/prosilver/template/ucp_main_front.html @@ -15,10 +15,13 @@ <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});"> <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 --> - {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> + <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> </li> <!-- END topicrow --> diff --git a/phpBB/styles/prosilver/template/ucp_main_subscribed.html b/phpBB/styles/prosilver/template/ucp_main_subscribed.html index f0a15e590c..3d29923637 100644 --- a/phpBB/styles/prosilver/template/ucp_main_subscribed.html +++ b/phpBB/styles/prosilver/template/ucp_main_subscribed.html @@ -24,7 +24,7 @@ <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 /> <!-- 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 --> </dt> <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 --> {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> - <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> </dd> diff --git a/phpBB/styles/prosilver/template/ucp_prefs_personal.html b/phpBB/styles/prosilver/template/ucp_prefs_personal.html index b90636c34b..e506e2cb50 100644 --- a/phpBB/styles/prosilver/template/ucp_prefs_personal.html +++ b/phpBB/styles/prosilver/template/ucp_prefs_personal.html @@ -91,7 +91,7 @@ {S_DATEFORMAT_OPTIONS} </select> </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> </fieldset> diff --git a/phpBB/styles/prosilver/template/viewonline_body.html b/phpBB/styles/prosilver/template/viewonline_body.html index ecb7a83c91..a29f59166b 100644 --- a/phpBB/styles/prosilver/template/viewonline_body.html +++ b/phpBB/styles/prosilver/template/viewonline_body.html @@ -6,6 +6,7 @@ <ul class="linklist"> <li class="rightside pagination"><a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> <!-- IF PAGINATION --> • <span>{PAGINATION}</span><!-- ENDIF --></li> </ul> + <div class="forumbg"> <div class="inner"><span class="corners-top"><span></span></span> @@ -38,7 +39,15 @@ <span class="corners-bottom"><span></span></span></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 --> • <!-- 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 --> + <ul class="linklist"> <li class="rightside pagination"><a href="#" onclick="jumpto(); return false;" title="{L_JUMP_TO_PAGE}">{PAGE_NUMBER}</a> <!-- IF PAGINATION --> • <span>{PAGINATION}</span><!-- ENDIF --></li> </ul> diff --git a/phpBB/styles/prosilver/theme/colours.css b/phpBB/styles/prosilver/theme/colours.css index 71ad7b4ec4..4570f929dd 100644 --- a/phpBB/styles/prosilver/theme/colours.css +++ b/phpBB/styles/prosilver/theme/colours.css @@ -940,8 +940,7 @@ a.button1, a.button1:link, a.button1:visited, a.button1:active, a.button2, a.but /* Hover states */ a.button1:hover, input.button1:hover, a.button2:hover, input.button2:hover, input.button3:hover { - border: 1px solid #BC2A4D; - background-position: 0 100%; + border-color: #BC2A4D; color: #BC2A4D; } diff --git a/phpBB/styles/prosilver/theme/content.css b/phpBB/styles/prosilver/theme/content.css index 8f909e5a5f..1145a55f41 100644 --- a/phpBB/styles/prosilver/theme/content.css +++ b/phpBB/styles/prosilver/theme/content.css @@ -513,6 +513,7 @@ dl.codebox code { font-weight: normal; clear: left; } + .attachbox p.stats { line-height: 110%; @@ -539,6 +540,10 @@ div.inline-attachment dl.thumbnail, div.inline-attachment dl.file { margin-bottom: 4px; } +div.inline-attachment p { + font-size: 100%; +} + dl.file { font-family: Verdana, Arial, Helvetica, sans-serif; display: block; @@ -711,3 +716,17 @@ fieldset.polls dd div { .search .postprofile { 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; +} diff --git a/phpBB/styles/prosilver/theme/cp.css b/phpBB/styles/prosilver/theme/cp.css index d21d649b14..ebc75c5022 100644 --- a/phpBB/styles/prosilver/theme/cp.css +++ b/phpBB/styles/prosilver/theme/cp.css @@ -133,6 +133,7 @@ ul.cplist { padding: 0 0 0 5px; text-decoration: none; position: relative; + cursor: pointer; } #tabs a span { diff --git a/phpBB/styles/subsilver2/template/editor.js b/phpBB/styles/subsilver2/template/editor.js index 2f490f4746..c9d6321394 100644 --- a/phpBB/styles/subsilver2/template/editor.js +++ b/phpBB/styles/subsilver2/template/editor.js @@ -33,18 +33,20 @@ function helpline(help) function initInsertions() { var doc; - if(document.forms[form_name]) + + if (document.forms[form_name]) { - doc = document; - } + doc = document; + } else { doc = opener.document; } + var textarea = doc.forms[form_name].elements[text_name]; if (is_ie && typeof(baseHeight) != 'number') { - textarea.focus(); + textarea.focus(); baseHeight = doc.selection.createRange().duplicate().boundingHeight; document.body.focus(); } diff --git a/phpBB/styles/subsilver2/template/mcp_forum.html b/phpBB/styles/subsilver2/template/mcp_forum.html index f85dc48126..cf7fe7fee3 100644 --- a/phpBB/styles/subsilver2/template/mcp_forum.html +++ b/phpBB/styles/subsilver2/template/mcp_forum.html @@ -29,7 +29,7 @@ <!-- IF topicrow.S_SELECT_TOPIC --> <span class="genmed">[ <a href="{topicrow.U_SELECT_TOPIC}">{L_SELECT_MERGE}</a> ] </span> <!-- 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 --> <a href="{topicrow.U_MCP_QUEUE}">{topicrow.UNAPPROVED_IMG}</a> <!-- ENDIF --> diff --git a/phpBB/styles/subsilver2/template/search_results.html b/phpBB/styles/subsilver2/template/search_results.html index 220ce4c046..7977665893 100644 --- a/phpBB/styles/subsilver2/template/search_results.html +++ b/phpBB/styles/subsilver2/template/search_results.html @@ -57,7 +57,7 @@ <td class="row1" width="120" align="center"> <p class="topicdetails">{searchresults.LAST_POST_TIME}</p> <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> </td> </tr> diff --git a/phpBB/styles/subsilver2/template/ucp_main_bookmarks.html b/phpBB/styles/subsilver2/template/ucp_main_bookmarks.html index 7df1d3d5ac..4f3076de2d 100644 --- a/phpBB/styles/subsilver2/template/ucp_main_bookmarks.html +++ b/phpBB/styles/subsilver2/template/ucp_main_bookmarks.html @@ -37,7 +37,7 @@ <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_AUTHOR_FULL} - <a href="{topicrow.U_LAST_POST}">{topicrow.LAST_POST_IMG}</a> + <a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a> </p> </td> <!-- ENDIF --> diff --git a/phpBB/styles/subsilver2/template/ucp_main_front.html b/phpBB/styles/subsilver2/template/ucp_main_front.html index 93bafe0798..b659ba335b 100644 --- a/phpBB/styles/subsilver2/template/ucp_main_front.html +++ b/phpBB/styles/subsilver2/template/ucp_main_front.html @@ -16,12 +16,12 @@ <!-- 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="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 class="row1" width="120" align="center" nowrap="nowrap"> <p class="topicdetails">{topicrow.LAST_POST_TIME}</p> <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> </td> </tr> diff --git a/phpBB/styles/subsilver2/template/ucp_main_subscribed.html b/phpBB/styles/subsilver2/template/ucp_main_subscribed.html index 009ae928dd..6565588ad2 100644 --- a/phpBB/styles/subsilver2/template/ucp_main_subscribed.html +++ b/phpBB/styles/subsilver2/template/ucp_main_subscribed.html @@ -16,7 +16,7 @@ <!-- 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="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> </tr> <!-- BEGINELSE --> @@ -48,7 +48,7 @@ <!-- 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="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 --> <p class="gensmall"> [ {GOTO_PAGE_IMG}{L_GOTO_PAGE}: {topicrow.PAGINATION} ] </p> <!-- ENDIF --> @@ -56,7 +56,7 @@ <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_AUTHOR_FULL} - <a href="{topicrow.U_LAST_POST}">{topicrow.LAST_POST_IMG}</a> + <a href="{topicrow.U_LAST_POST}">{LAST_POST_IMG}</a> </p> </td> <td style="padding: 4px;"> <input type="checkbox" class="radio" name="t[{topicrow.TOPIC_ID}]" /> </td> diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php index 15b6eac31b..ab5150bf8d 100644 --- a/phpBB/viewforum.php +++ b/phpBB/viewforum.php @@ -347,6 +347,10 @@ if ($forum_data['forum_type'] == FORUM_POST) { $global_announce_list[$row['topic_id']] = true; } + else + { + $topics_count--; + } } $db->sql_freeresult($result); } |