diff options
23 files changed, 178 insertions, 94 deletions
diff --git a/build/code_sniffer/phpbb/Sniffs/Namespaces/UnusedUseSniff.php b/build/code_sniffer/phpbb/Sniffs/Namespaces/UnusedUseSniff.php index f81ec46579..87e676b8ff 100644 --- a/build/code_sniffer/phpbb/Sniffs/Namespaces/UnusedUseSniff.php +++ b/build/code_sniffer/phpbb/Sniffs/Namespaces/UnusedUseSniff.php @@ -24,6 +24,23 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff return array(T_USE); } + protected function check($found_name, $full_name, $short_name, $line) + { + + if ($found_name === $full_name) + { + $error = 'Either use statement or full name must be used.'; + $phpcsFile->addError($error, $line, 'FullName'); + } + + if ($found_name === $short_name) + { + return true; + } + + return false; + } + /** * {@inheritdoc} */ @@ -74,16 +91,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff $simple_class_name = trim($phpcsFile->getTokensAsString($simple_class_name_start, ($simple_class_name_end - $simple_class_name_start))); - if ($simple_class_name === $class_name_full) - { - $error = 'Either use statement or full name must be used.'; - $phpcsFile->addError($error, $simple_statement, 'FullName'); - } - - if ($simple_class_name === $class_name_short) - { - $ok = true; - } + $ok = $this->check($simple_class_name, $class_name_full, $class_name_short, $simple_statement) ? true : $ok; } } @@ -98,16 +106,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff $paamayim_nekudotayim_class_name = trim($phpcsFile->getTokensAsString($paamayim_nekudotayim_class_name_start + 1, ($paamayim_nekudotayim_class_name_end - $paamayim_nekudotayim_class_name_start))); - if ($paamayim_nekudotayim_class_name === $class_name_full) - { - $error = 'Either use statement or full name must be used.'; - $phpcsFile->addError($error, $paamayim_nekudotayim, 'FullName'); - } - - if ($paamayim_nekudotayim_class_name === $class_name_short) - { - $ok = true; - } + $ok = $this->check($paamayim_nekudotayim_class_name, $class_name_full, $class_name_short, $paamayim_nekudotayim) ? true : $ok; } // Checks in implements @@ -126,16 +125,7 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff $implements_class_name = trim($phpcsFile->getTokensAsString($implements_class_name_start, ($implements_class_name_end - $implements_class_name_start))); - if ($implements_class_name === $class_name_full) - { - $error = 'Either use statement or full name must be used.'; - $phpcsFile->addError($error, $implements, 'FullName'); - } - - if ($implements_class_name === $class_name_short) - { - $ok = true; - } + $ok = $this->check($implements_class_name, $class_name_full, $class_name_short, $implements) ? true : $ok; } } @@ -145,34 +135,64 @@ class phpbb_Sniffs_Namespaces_UnusedUseSniff implements PHP_CodeSniffer_Sniff { $old_function_declaration = $function_declaration; - $end_function = $phpcsFile->findNext(array(T_CLOSE_PARENTHESIS), ($function_declaration + 1)); - $old_argument = $function_declaration; - while (($argument = $phpcsFile->findNext(T_VARIABLE, ($old_argument + 1), $end_function)) !== false) + // Check docblocks + $find = array( + T_COMMENT, + T_DOC_COMMENT, + T_CLASS, + T_FUNCTION, + T_OPEN_TAG, + ); + + $comment_end = $phpcsFile->findPrevious($find, ($function_declaration - 1)); + if ($comment_end !== false) { - $old_argument = $argument; - - $start_argument = $phpcsFile->findPrevious(array(T_OPEN_PARENTHESIS, T_COMMA), $argument); - $argument_class_name_start = $phpcsFile->findNext(array(T_NS_SEPARATOR, T_STRING), ($start_argument + 1), $argument); - - // Skip the parameter if no type is defined. - if ($argument_class_name_start !== false) + if (!$tokens[$comment_end]['code'] !== T_DOC_COMMENT) { - $argument_class_name_end = $phpcsFile->findNext($find, ($argument_class_name_start + 1), null, true); - - $argument_class_name = $phpcsFile->getTokensAsString($argument_class_name_start, ($argument_class_name_end - $argument_class_name_start - 1)); + $comment_start = ($phpcsFile->findPrevious(T_DOC_COMMENT, ($comment_end - 1), null, true) + 1); + $comment = $phpcsFile->getTokensAsString($comment_start, ($comment_end - $comment_start + 1)); - if ($argument_class_name === $class_name_full) + try { - $error = 'Either use statement or full name must be used.'; - $phpcsFile->addError($error, $function_declaration, 'FullName'); + $comment_parser = new PHP_CodeSniffer_CommentParser_FunctionCommentParser($comment, $phpcsFile); + $comment_parser->parse(); + + // Check @param + foreach ($comment_parser->getParams() as $param) { + $type = $param->getType(); + $types = explode('|', str_replace('[]', '', $type)); + foreach ($types as $type) + { + $ok = $this->check($type, $class_name_full, $class_name_short, $param->getLine() + $comment_start) ? true : $ok; + } + } + + // Check @return + $return = $comment_parser->getReturn(); + if ($return !== null) + { + $type = $return->getValue(); + $types = explode('|', str_replace('[]', '', $type)); + foreach ($types as $type) + { + $ok = $this->check($type, $class_name_full, $class_name_short, $return->getLine() + $comment_start) ? true : $ok; + } + } } - - if ($argument_class_name === $class_name_short) + catch (PHP_CodeSniffer_CommentParser_ParserException $e) { - $ok = true; + $line = ($e->getLineWithinComment() + $comment_start); + $phpcsFile->addError($e->getMessage(), $line, 'FailedParse'); } } } + + // Check type hint + $params = $phpcsFile->getMethodParameters($function_declaration); + foreach ($params as $param) + { + $ok = $this->check($param['type_hint'], $class_name_full, $class_name_short, $function_declaration) ? true : $ok; + } } if (!$ok) diff --git a/phpBB/adm/style/acp_icons.html b/phpBB/adm/style/acp_icons.html index 9117052d87..f18dad0ef6 100644 --- a/phpBB/adm/style/acp_icons.html +++ b/phpBB/adm/style/acp_icons.html @@ -7,7 +7,7 @@ <script type="text/javascript" defer="defer"> // <![CDATA[ <!-- IF S_ADD_CODE --> - + var smiley = Array(); <!-- BEGIN smile --> smiley['{smile.SMILEY_URL}'] = Array(); @@ -37,10 +37,10 @@ } } } - + <!-- ENDIF --> - + function toggle_select(icon, display, select) { var disp = document.getElementById('order_disp_' + select); @@ -101,7 +101,7 @@ <tbody> <!-- BEGIN items --> <tr> - + <td style="text-align: center;"><img src="{items.IMG_SRC}" alt="" title="" /><input type="hidden" name="image[{items.IMG}]" value="1" /></td> <td style="vertical-align: top;">[{items.IMG}]</td> <!-- IF S_SMILIES --> @@ -121,7 +121,7 @@ <optgroup id="order_disp_{items.S_ROW_COUNT}" label="{L_DISPLAY_POSTING}" <!-- IF not items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_DISPLAY}</optgroup> <optgroup id="order_no_disp_{items.S_ROW_COUNT}" label="{L_DISPLAY_POSTING_NO}" <!-- IF items.POSTING_CHECKED -->disabled="disabled" class="disabled-options" <!-- ENDIF -->>{S_ORDER_LIST_UNDISPLAY}</optgroup> </select></td> - <!-- ENDIF --> + <!-- ENDIF --> <!-- IF S_ADD --> <td><input type="checkbox" class="radio" name="add_img[{items.IMG}]" value="1" /></td> <!-- ENDIF --> @@ -147,6 +147,8 @@ </tr> <!-- ENDIF --> <!-- ELSE --> + </thead> + <tbody> <tr class="row3"> <td colspan="{COLSPAN}">{L_NO_ICONS}</td> </tr> @@ -174,7 +176,7 @@ <fieldset> <legend>{L_IMPORT}</legend> - + <!-- IF not S_PAK_OPTIONS --> <p>{L_NO_PAK_OPTIONS}</p> @@ -259,7 +261,7 @@ </table> <div class="pagination"> <!-- IF .pagination --> - <!-- INCLUDE pagination.html --> + <!-- INCLUDE pagination.html --> <!-- ENDIF --> </div> <p class="quick"> diff --git a/phpBB/includes/acp/acp_email.php b/phpBB/includes/acp/acp_email.php index 4fefd6bec3..4671a026eb 100644 --- a/phpBB/includes/acp/acp_email.php +++ b/phpBB/includes/acp/acp_email.php @@ -40,6 +40,7 @@ class acp_email $error = array(); $usernames = request_var('usernames', '', true); + $usernames = explode("\n", $usernames); $group_id = request_var('g', 0); $subject = utf8_normalize_nfc(request_var('subject', '', true)); $message = utf8_normalize_nfc(request_var('message', '', true)); @@ -69,7 +70,7 @@ class acp_email if (!sizeof($error)) { - if ($usernames) + if (!empty($usernames)) { // If giving usernames the admin is able to email inactive users too... $sql_ary = array( @@ -77,7 +78,7 @@ class acp_email 'FROM' => array( USERS_TABLE => '', ), - 'WHERE' => $db->sql_in_set('username_clean', array_map('utf8_clean_string', explode("\n", $usernames))) . ' + 'WHERE' => $db->sql_in_set('username_clean', array_map('utf8_clean_string', $usernames)) . ' AND user_allow_massemail = 1', 'ORDER_BY' => 'user_lang, user_notify_type', ); @@ -194,6 +195,39 @@ class acp_email $errored = false; + $email_template = 'admin_send_email'; + $template_data = array( + 'CONTACT_EMAIL' => phpbb_get_board_contact($config, $phpEx), + 'MESSAGE' => htmlspecialchars_decode($message), + ); + $generate_log_entry = true; + + /** + * Modify email template data before the emails are sent + * + * @event core.acp_email_send_before + * @var string email_template The template to be used for sending the email + * @var string subject The subject of the email + * @var array template_data Array with template data assigned to email template + * @var bool generate_log_entry If false, no log entry will be created + * @var array usernames Usernames which will be displayed in log entry, if it will be created + * @var int group_id The group this email will be sent to + * @var bool use_queue If true, email queue will be used for sending + * @var int priority Priority of sent emails + * @since 3.1.3-RC1 + */ + $vars = array( + 'email_template', + 'subject', + 'template_data', + 'generate_log_entry', + 'usernames', + 'group_id', + 'use_queue', + 'priority', + ); + extract($phpbb_dispatcher->trigger_event('core.acp_email_send_before', compact($vars))); + for ($i = 0, $size = sizeof($email_list); $i < $size; $i++) { $used_lang = $email_list[$i][0]['lang']; @@ -207,17 +241,14 @@ class acp_email $messenger->im($email_row['jabber'], $email_row['name']); } - $messenger->template('admin_send_email', $used_lang); + $messenger->template($email_template, $used_lang); $messenger->anti_abuse_headers($config, $user); $messenger->subject(htmlspecialchars_decode($subject)); $messenger->set_mail_priority($priority); - $messenger->assign_vars(array( - 'CONTACT_EMAIL' => phpbb_get_board_contact($config, $phpEx), - 'MESSAGE' => htmlspecialchars_decode($message)) - ); + $messenger->assign_vars($template_data); if (!($messenger->send($used_method))) { @@ -228,24 +259,26 @@ class acp_email $messenger->save_queue(); - if ($usernames) - { - $usernames = explode("\n", $usernames); - add_log('admin', 'LOG_MASS_EMAIL', implode(', ', utf8_normalize_nfc($usernames))); - } - else + if ($generate_log_entry) { - if ($group_id) + if (!empty($usernames)) { - $group_name = get_group_name($group_id); + add_log('admin', 'LOG_MASS_EMAIL', implode(', ', utf8_normalize_nfc($usernames))); } else { - // Not great but the logging routine doesn't cope well with localising on the fly - $group_name = $user->lang['ALL_USERS']; - } + if ($group_id) + { + $group_name = get_group_name($group_id); + } + else + { + // Not great but the logging routine doesn't cope well with localising on the fly + $group_name = $user->lang['ALL_USERS']; + } - add_log('admin', 'LOG_MASS_EMAIL', $group_name); + add_log('admin', 'LOG_MASS_EMAIL', $group_name); + } } if (!$errored) @@ -286,7 +319,7 @@ class acp_email 'WARNING_MSG' => (sizeof($error)) ? implode('<br />', $error) : '', 'U_ACTION' => $this->u_action, 'S_GROUP_OPTIONS' => $select_list, - 'USERNAMES' => $usernames, + 'USERNAMES' => implode("\n", $usernames), 'U_FIND_USERNAME' => append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=searchuser&form=acp_email&field=usernames'), 'SUBJECT' => $subject, 'MESSAGE' => $message, diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php index 91fc1215fc..fdbc4aebd0 100644 --- a/phpBB/language/en/acp/common.php +++ b/phpBB/language/en/acp/common.php @@ -558,6 +558,7 @@ $lang = array_merge($lang, array( 'LOG_LOCK_POST' => '<strong>Locked post</strong><br />» %s', 'LOG_MERGE' => '<strong>Merged posts</strong> into topic<br />» %s', 'LOG_MOVE' => '<strong>Moved topic</strong><br />» from %1$s to %2$s', + 'LOG_MOVED_TOPIC' => '<strong>Moved topic</strong><br />» %s', 'LOG_PM_REPORT_CLOSED' => '<strong>Closed PM report</strong><br />» %s', 'LOG_PM_REPORT_DELETED' => '<strong>Deleted PM report</strong><br />» %s', 'LOG_POST_APPROVED' => '<strong>Approved post</strong><br />» %s', diff --git a/phpBB/language/en/acp/search.php b/phpBB/language/en/acp/search.php index 98412cb050..bda965b615 100644 --- a/phpBB/language/en/acp/search.php +++ b/phpBB/language/en/acp/search.php @@ -84,7 +84,7 @@ $lang = array_merge($lang, array( 'FULLTEXT_SPHINX_WRONG_DATABASE' => 'The sphinx search for phpBB supports MySQL and PostgreSQL only.', 'FULLTEXT_SPHINX_CONFIG_FILE' => 'Sphinx config file', 'FULLTEXT_SPHINX_CONFIG_FILE_EXPLAIN' => 'The generated content of the sphinx config file. This data needs to be pasted into the sphinx.conf which is used by sphinx search daemon. Replace the [dbuser] and [dbpassword] placeholders with your database credentials.', - 'FULLTEXT_SPHINX_NO_CONFIG_DATA' => 'The sphinx data and config directory paths are not defined. Please define them to generate the config file.', + 'FULLTEXT_SPHINX_NO_CONFIG_DATA' => 'The sphinx data directory path is not defined. Please define the path and submit to generate the config file.', 'GENERAL_SEARCH_SETTINGS' => 'General search settings', 'GO_TO_SEARCH_INDEX' => 'Go to search index page', diff --git a/phpBB/language/en/search.php b/phpBB/language/en/search.php index ec5dd99eb8..13e5bf7a97 100644 --- a/phpBB/language/en/search.php +++ b/phpBB/language/en/search.php @@ -71,6 +71,7 @@ $lang = array_merge($lang, array( 'NO_RECENT_SEARCHES' => 'No searches have been carried out recently.', 'NO_SEARCH' => 'Sorry but you are not permitted to use the search system.', 'NO_SEARCH_RESULTS' => 'No suitable matches were found.', + 'NO_SEARCH_LOAD' => 'Sorry but you cannot use search at this time. The server has high load. Please try again later.', 'NO_SEARCH_TIME' => array( 1 => 'Sorry but you cannot use search at this time. Please try again in %d second.', 2 => 'Sorry but you cannot use search at this time. Please try again in %d seconds.', diff --git a/phpBB/phpbb/db/tools.php b/phpBB/phpbb/db/tools.php index c8d25f23a2..f523b39fb3 100644 --- a/phpBB/phpbb/db/tools.php +++ b/phpBB/phpbb/db/tools.php @@ -2175,7 +2175,7 @@ class tools } // no break case 'mysql_41': - $statements[] = 'ALTER TABLE ' . $table_name . ' ADD INDEX ' . $index_name . '(' . implode(', ', $column) . ')'; + $statements[] = 'ALTER TABLE ' . $table_name . ' ADD INDEX ' . $index_name . ' (' . implode(', ', $column) . ')'; break; case 'mssql': diff --git a/phpBB/phpbb/request/request.php b/phpBB/phpbb/request/request.php index f0f2f7e2a2..56ce3999ed 100644 --- a/phpBB/phpbb/request/request.php +++ b/phpBB/phpbb/request/request.php @@ -275,7 +275,7 @@ class request implements \phpbb\request\request_interface */ public function file($form_name) { - return $this->variable($form_name, array('name' => 'none'), false, \phpbb\request\request_interface::FILES); + return $this->variable($form_name, array('name' => 'none'), true, \phpbb\request\request_interface::FILES); } /** diff --git a/phpBB/phpbb/template/twig/twig.php b/phpBB/phpbb/template/twig/twig.php index 5b71bb5e8a..db3a8e3571 100644 --- a/phpBB/phpbb/template/twig/twig.php +++ b/phpBB/phpbb/template/twig/twig.php @@ -115,6 +115,11 @@ class twig extends \phpbb\template\base ) ); + if (defined('DEBUG')) + { + $this->twig->addExtension(new \Twig_Extension_Debug()); + } + $lexer = new \phpbb\template\twig\lexer($this->twig); $this->twig->setLexer($lexer); diff --git a/phpBB/report.php b/phpBB/report.php index 1b5d3c9d46..3ea6bb40c5 100644 --- a/phpBB/report.php +++ b/phpBB/report.php @@ -99,6 +99,24 @@ if ($post_id) // Check required permissions $acl_check_ary = array('f_list' => 'POST_NOT_EXIST', 'f_read' => 'USER_CANNOT_READ', 'f_report' => 'USER_CANNOT_REPORT'); + /** + * This event allows you to do extra auth checks and verify if the user + * has the required permissions + * + * @event core.report_post_auth + * @var array forum_data All data available from the forums table on this post's forum + * @var array report_data All data available from the topics and the posts tables on this post (and its topic) + * @var array acl_check_ary An array with the ACL to be tested. The evaluation is made in the same order as the array is sorted + * The key is the ACL name and the value is the language key for the error message. + * @since 3.1.3-RC1 + */ + $vars = array( + 'forum_data', + 'report_data', + 'acl_check_ary', + ); + extract($phpbb_dispatcher->trigger_event('core.report_post_auth', compact($vars))); + foreach ($acl_check_ary as $acl => $error) { if (!$auth->acl_get($acl, $forum_id)) diff --git a/phpBB/search.php b/phpBB/search.php index 5ba818c383..164d834ff2 100644 --- a/phpBB/search.php +++ b/phpBB/search.php @@ -101,7 +101,7 @@ if (!$auth->acl_get('u_search') || !$auth->acl_getf_global('f_search') || !$conf if ($user->load && $config['limit_search_load'] && ($user->load > doubleval($config['limit_search_load']))) { $template->assign_var('S_NO_SEARCH', true); - trigger_error('NO_SEARCH_TIME'); + trigger_error('NO_SEARCH_LOAD'); } // It is applicable if the configuration setting is non-zero, and the user cannot diff --git a/phpBB/styles/prosilver/template/overall_header.html b/phpBB/styles/prosilver/template/overall_header.html index ad08c1220b..121094f6e0 100644 --- a/phpBB/styles/prosilver/template/overall_header.html +++ b/phpBB/styles/prosilver/template/overall_header.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> <head> -<meta charset="utf-8"> +<meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> {META} <title><!-- IF UNREAD_NOTIFICATIONS_COUNT -->({UNREAD_NOTIFICATIONS_COUNT}) <!-- ENDIF --><!-- IF not S_VIEWTOPIC and not S_VIEWFORUM -->{SITENAME} - <!-- ENDIF --><!-- IF S_IN_MCP -->{L_MCP} - <!-- ELSEIF S_IN_UCP -->{L_UCP} - <!-- ENDIF -->{PAGE_TITLE}<!-- IF S_VIEWTOPIC or S_VIEWFORUM --> - {SITENAME}<!-- ENDIF --></title> diff --git a/phpBB/styles/prosilver/template/simple_header.html b/phpBB/styles/prosilver/template/simple_header.html index 6d22a074be..a0c7bc68bb 100644 --- a/phpBB/styles/prosilver/template/simple_header.html +++ b/phpBB/styles/prosilver/template/simple_header.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> <head> -<meta charset="utf-8"> +<meta charset="utf-8" /> <meta name="viewport" content="width=device-width" /> {META} <title>{SITENAME} • <!-- IF S_IN_MCP -->{L_MCP} • <!-- ELSEIF S_IN_UCP -->{L_UCP} • <!-- ENDIF -->{PAGE_TITLE}</title> diff --git a/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html b/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html index ce0f4941a5..7fe0d67077 100644 --- a/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html +++ b/phpBB/styles/prosilver/template/ucp_pm_viewmessage_print.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> <head> -<meta charset="utf-8"> +<meta charset="utf-8" /> <meta name="robots" content="noindex" /> {META} <title>{SITENAME} • {PAGE_TITLE}</title> diff --git a/phpBB/styles/prosilver/template/viewtopic_body.html b/phpBB/styles/prosilver/template/viewtopic_body.html index 621e2d6143..48bcc2e922 100644 --- a/phpBB/styles/prosilver/template/viewtopic_body.html +++ b/phpBB/styles/prosilver/template/viewtopic_body.html @@ -313,7 +313,7 @@ </div> - <div class="back2top"><a href="#wrap" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div> + <div class="back2top"><a href="#top" class="top" title="{L_BACK_TO_TOP}">{L_BACK_TO_TOP}</a></div> </div> </div> diff --git a/phpBB/styles/prosilver/template/viewtopic_print.html b/phpBB/styles/prosilver/template/viewtopic_print.html index 5c44f58adb..66199295bb 100644 --- a/phpBB/styles/prosilver/template/viewtopic_print.html +++ b/phpBB/styles/prosilver/template/viewtopic_print.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> <head> -<meta charset="utf-8"> +<meta charset="utf-8" /> <meta name="robots" content="noindex" /> {META} <title>{SITENAME} • {PAGE_TITLE}</title> diff --git a/phpBB/styles/subsilver2/template/index.htm b/phpBB/styles/subsilver2/template/index.htm index 4763c05f0e..a1356823e2 100644 --- a/phpBB/styles/subsilver2/template/index.htm +++ b/phpBB/styles/subsilver2/template/index.htm @@ -1,7 +1,7 @@ <html> <head> <title>subSilver created by subBlue Design</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body bgcolor="#FFFFFF" text="#000000"> diff --git a/phpBB/styles/subsilver2/template/overall_header.html b/phpBB/styles/subsilver2/template/overall_header.html index 4741154889..225a7d85ff 100644 --- a/phpBB/styles/subsilver2/template/overall_header.html +++ b/phpBB/styles/subsilver2/template/overall_header.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> <head> -<meta charset="utf-8"> +<meta charset="utf-8" /> {META} <title><!-- IF UNREAD_NOTIFICATIONS_COUNT -->({UNREAD_NOTIFICATIONS_COUNT}) <!-- ENDIF --><!-- IF not S_VIEWTOPIC and not S_VIEWFORUM -->{SITENAME} - <!-- ENDIF --><!-- IF S_IN_MCP -->{L_MCP} - <!-- ELSEIF S_IN_UCP -->{L_UCP} - <!-- ENDIF -->{PAGE_TITLE}<!-- IF S_VIEWTOPIC or S_VIEWFORUM --> - {SITENAME}<!-- ENDIF --></title> diff --git a/phpBB/styles/subsilver2/template/simple_header.html b/phpBB/styles/subsilver2/template/simple_header.html index d292c4594a..3abf89719f 100644 --- a/phpBB/styles/subsilver2/template/simple_header.html +++ b/phpBB/styles/subsilver2/template/simple_header.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> <head> -<meta charset="utf-8"> +<meta charset="utf-8" /> {META} <title>{SITENAME} • <!-- IF S_IN_MCP -->{L_MCP} • <!-- ELSEIF S_IN_UCP -->{L_UCP} • <!-- ENDIF -->{PAGE_TITLE}</title> diff --git a/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html b/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html index f70f39f9d8..fd5e390d83 100644 --- a/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html +++ b/phpBB/styles/subsilver2/template/ucp_pm_viewmessage_print.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> <head> -<meta charset="utf-8"> +<meta charset="utf-8" /> <meta name="robots" content="noindex" /> <title>{SITENAME} :: {PAGE_TITLE}</title> @@ -78,7 +78,7 @@ hr.sep { <td width="10%" nowrap="nowrap">{L_PM_FROM}{L_COLON} </td> <td><b>{MESSAGE_AUTHOR}</b> [ {SENT_DATE} ]</td> </tr> - + <!-- IF S_TO_RECIPIENT --> <tr> <td width="10%" nowrap="nowrap">{L_TO}{L_COLON}</td> diff --git a/phpBB/styles/subsilver2/template/viewtopic_print.html b/phpBB/styles/subsilver2/template/viewtopic_print.html index a99d807cf2..9497fda121 100644 --- a/phpBB/styles/subsilver2/template/viewtopic_print.html +++ b/phpBB/styles/subsilver2/template/viewtopic_print.html @@ -1,7 +1,7 @@ <!DOCTYPE html> <html dir="{S_CONTENT_DIRECTION}" lang="{S_USER_LANG}"> <head> -<meta charset="utf-8"> +<meta charset="utf-8" /> <meta name="robots" content="noindex" /> <title>{SITENAME} :: {PAGE_TITLE}</title> @@ -23,7 +23,7 @@ td { line-height: 150%; } -.code, .codecontent, +.code, .codecontent, .quote, .quotecontent { margin: 0 5px 0 5px; padding: 5px; diff --git a/phpBB/styles/subsilver2/theme/images/index.htm b/phpBB/styles/subsilver2/theme/images/index.htm index 29531416fe..957f68a803 100644 --- a/phpBB/styles/subsilver2/theme/images/index.htm +++ b/phpBB/styles/subsilver2/theme/images/index.htm @@ -1,7 +1,7 @@ <html> <head> <title>subSilver created by subBlue Design</title> -<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body bgcolor="#FFFFFF" text="#000000"> diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php index 1f455494f7..ce079cb262 100644 --- a/phpBB/viewforum.php +++ b/phpBB/viewforum.php @@ -395,7 +395,7 @@ $sql_array = array( * @var array forum_data Array with forum data * @var array sql_array The SQL array to get the data of all topics * @since 3.1.0-a1 -* @change 3.1.0-RC4 Added forum_data var +* @change 3.1.0-RC4 Added forum_data var */ $vars = array( 'forum_data', @@ -554,6 +554,7 @@ $sql_ary = array( * Event to modify the SQL query before the topic ids data is retrieved * * @event core.viewforum_get_topic_ids_data +* @var array forum_data Data about the forum * @var array sql_ary SQL query array to get the topic ids data * @var string sql_approved Topic visibility SQL string * @var int sql_limit Number of records to select @@ -564,8 +565,11 @@ $sql_ary = array( * @var bool store_reverse Flag indicating if we select from the late pages * * @since 3.1.0-RC4 +* +* @changed 3.1.3 Added forum_data */ $vars = array( + 'forum_data', 'sql_ary', 'sql_approved', 'sql_limit', |