aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/adm/style/acp_board.html2
-rw-r--r--phpBB/adm/style/acp_ext_list.html6
-rw-r--r--phpBB/adm/style/acp_users.html4
-rw-r--r--phpBB/adm/style/admin.css8
-rw-r--r--phpBB/config/default/container/services_event.yml1
-rw-r--r--phpBB/docs/events.md7
-rw-r--r--phpBB/includes/acp/acp_board.php2
-rw-r--r--phpBB/includes/acp/acp_users.php32
-rw-r--r--phpBB/includes/functions.php12
-rw-r--r--phpBB/includes/ucp/ucp_notifications.php2
-rw-r--r--phpBB/language/en/common.php1
-rw-r--r--phpBB/phpbb/cache/driver/file.php2
-rw-r--r--phpBB/phpbb/cache/driver/memcached.php2
-rw-r--r--phpBB/phpbb/cron/task/text_reparser/reparser.php4
-rw-r--r--phpBB/phpbb/db/migration/data/v320/text_reparser.php15
-rw-r--r--phpBB/phpbb/db/migrator.php7
-rw-r--r--phpBB/phpbb/db/tools/mssql.php4
-rw-r--r--phpBB/phpbb/event/kernel_exception_subscriber.php18
-rw-r--r--phpBB/phpbb/feed/topics_active.php2
-rw-r--r--phpBB/phpbb/search/fulltext_sphinx.php8
-rw-r--r--phpBB/styles/prosilver/template/memberlist_email.html2
-rw-r--r--phpBB/styles/prosilver/theme/content.css3
-rw-r--r--phpBB/styles/prosilver/theme/images/announce_read.gifbin2656 -> 3549 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/announce_read_locked.gifbin2718 -> 3558 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/announce_read_locked_mine.gifbin2191 -> 3558 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/announce_read_mine.gifbin2183 -> 3580 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/announce_unread.gifbin2652 -> 3531 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/announce_unread_locked.gifbin2715 -> 3534 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/announce_unread_locked_mine.gifbin2210 -> 3564 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/announce_unread_mine.gifbin2206 -> 3560 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/forum_link.gifbin2609 -> 3500 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/forum_read.gifbin2120 -> 3448 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/forum_read_locked.gifbin2637 -> 3444 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/forum_read_subforum.gifbin2873 -> 3641 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/forum_unread.gifbin2115 -> 3440 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/forum_unread_locked.gifbin2637 -> 3442 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/forum_unread_subforum.gifbin2869 -> 3637 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/sticky_read.gifbin2605 -> 3198 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/sticky_read_locked.gifbin1982 -> 3248 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/sticky_read_locked_mine.gifbin2049 -> 3295 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/sticky_read_mine.gifbin2016 -> 3241 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/sticky_unread.gifbin2589 -> 3191 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/sticky_unread_locked.gifbin2022 -> 3246 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/sticky_unread_locked_mine.gifbin2059 -> 3316 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/sticky_unread_mine.gifbin2006 -> 3275 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_moved.gifbin2609 -> 3459 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_read.gifbin2109 -> 3482 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_read_hot.gifbin2683 -> 3548 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_read_hot_mine.gifbin2223 -> 3570 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_read_locked.gifbin2593 -> 3458 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_read_locked_mine.gifbin2641 -> 3416 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_read_mine.gifbin2640 -> 3492 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_unread.gifbin2539 -> 3327 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_unread_hot.gifbin2682 -> 3551 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_unread_hot_mine.gifbin2192 -> 3582 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_unread_locked.gifbin2601 -> 3349 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_unread_locked_mine.gifbin2637 -> 3375 bytes
-rw-r--r--phpBB/styles/prosilver/theme/images/topic_unread_mine.gifbin2622 -> 3393 bytes
-rw-r--r--phpBB/styles/prosilver/theme/responsive.css2
-rw-r--r--phpBB/viewtopic.php5
60 files changed, 110 insertions, 41 deletions
diff --git a/phpBB/adm/style/acp_board.html b/phpBB/adm/style/acp_board.html
index 04dee98276..fe3e250099 100644
--- a/phpBB/adm/style/acp_board.html
+++ b/phpBB/adm/style/acp_board.html
@@ -19,9 +19,9 @@
<!-- IF options.S_LEGEND -->
<!-- IF not options.S_FIRST_ROW -->
</fieldset>
+ <!-- ENDIF -->
<fieldset>
- <!-- ENDIF -->
<legend>{options.LEGEND}</legend>
<!-- ELSE -->
diff --git a/phpBB/adm/style/acp_ext_list.html b/phpBB/adm/style/acp_ext_list.html
index af9e00a614..7ab2608e13 100644
--- a/phpBB/adm/style/acp_ext_list.html
+++ b/phpBB/adm/style/acp_ext_list.html
@@ -51,7 +51,8 @@
<td><strong title="{enabled.NAME}">{enabled.META_DISPLAY_NAME}</strong><!-- EVENT acp_ext_list_enabled_name_after --></td>
<td style="text-align: center;">
<!-- IF enabled.S_VERSIONCHECK -->
- <strong <!-- IF enabled.S_UP_TO_DATE -->style="color: #228822;"<!-- ELSE -->style="color: #BC2A4D;"<!-- ENDIF -->>{enabled.META_VERSION}</strong>
+ <strong class="<!-- IF enabled.S_UP_TO_DATE -->current-ext<!-- ELSE -->outdated-ext<!-- ENDIF -->">{enabled.META_VERSION}</strong>
+ <!-- IF not enabled.S_UP_TO_DATE --><i class="fa fa-exclamation-circle outdated-ext" aria-hidden="true"></i><!-- ENDIF -->
<!-- ELSE -->
{enabled.META_VERSION}
<!-- ENDIF -->
@@ -76,7 +77,8 @@
<td><strong title="{disabled.NAME}">{disabled.META_DISPLAY_NAME}</strong><!-- EVENT acp_ext_list_disabled_name_after --></td>
<td style="text-align: center;">
<!-- IF disabled.S_VERSIONCHECK -->
- <strong <!-- IF disabled.S_UP_TO_DATE -->style="color: #228822;"<!-- ELSE -->style="color: #BC2A4D;"<!-- ENDIF -->>{disabled.META_VERSION}</strong>
+ <strong class="<!-- IF disabled.S_UP_TO_DATE -->current-ext<!-- ELSE -->outdated-ext<!-- ENDIF -->">{disabled.META_VERSION}</strong>
+ <!-- IF not disabled.S_UP_TO_DATE --><i class="fa fa-exclamation-circle outdated-ext" aria-hidden="true"></i><!-- ENDIF -->
<!-- ELSE -->
{disabled.META_VERSION}
<!-- ENDIF -->
diff --git a/phpBB/adm/style/acp_users.html b/phpBB/adm/style/acp_users.html
index 18c3d84f96..50b6ec9bc9 100644
--- a/phpBB/adm/style/acp_users.html
+++ b/phpBB/adm/style/acp_users.html
@@ -231,6 +231,10 @@
<!-- INCLUDE permission_mask.html -->
+<!-- ELSE -->
+
+ <!-- EVENT acp_users_mode_add -->
+
<!-- ENDIF -->
<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css
index 2322b3da88..41d0ae8d42 100644
--- a/phpBB/adm/style/admin.css
+++ b/phpBB/adm/style/admin.css
@@ -2506,6 +2506,14 @@ fieldset.permissions .padding {
/* Classes for additional tasks
---------------------------------------- */
+.current-ext {
+ color: #228822;
+}
+
+.outdated-ext {
+ color: #BC2A4D;
+}
+
.phpinfo {
overflow: auto;
width: 99%;
diff --git a/phpBB/config/default/container/services_event.yml b/phpBB/config/default/container/services_event.yml
index 8a55b933ac..5696275e64 100644
--- a/phpBB/config/default/container/services_event.yml
+++ b/phpBB/config/default/container/services_event.yml
@@ -9,6 +9,7 @@ services:
arguments:
- '@template'
- '@language'
+ - '%debug.exceptions%'
tags:
- { name: kernel.event_subscriber }
diff --git a/phpBB/docs/events.md b/phpBB/docs/events.md
index aaad64d68c..6af3f55d21 100644
--- a/phpBB/docs/events.md
+++ b/phpBB/docs/events.md
@@ -498,6 +498,13 @@ acp_styles_list_before
* Since: 3.1.7-RC1
* Purpose: Add content before list of styles
+acp_users_mode_add
+===
+* Locations:
+ + adm/style/acp_users.html
+* Since: 3.2.2-RC1
+* Purpose: Add extra modes to the ACP user page
+
acp_users_profile_before
===
* Locations:
diff --git a/phpBB/includes/acp/acp_board.php b/phpBB/includes/acp/acp_board.php
index e044384c9f..77e6133fe6 100644
--- a/phpBB/includes/acp/acp_board.php
+++ b/phpBB/includes/acp/acp_board.php
@@ -552,7 +552,7 @@ class acp_board
if ($config_name == 'allow_quick_reply' && isset($_POST['allow_quick_reply_enable']))
{
- enable_bitfield_column_flag(FORUMS_TABLE, 'forum_flags', log(FORUM_FLAG_QUICK_REPLY, 2));
+ enable_bitfield_column_flag(FORUMS_TABLE, 'forum_flags', round(log(FORUM_FLAG_QUICK_REPLY, 2)));
}
}
}
diff --git a/phpBB/includes/acp/acp_users.php b/phpBB/includes/acp/acp_users.php
index 5a2b1445dc..090cb32ebb 100644
--- a/phpBB/includes/acp/acp_users.php
+++ b/phpBB/includes/acp/acp_users.php
@@ -813,16 +813,22 @@ class acp_users
break;
default:
+ $u_action = $this->u_action;
+
/**
* Run custom quicktool code
*
* @event core.acp_users_overview_run_quicktool
- * @var array user_row Current user data
* @var string action Quick tool that should be run
+ * @var array user_row Current user data
+ * @var string u_action The u_action link
* @since 3.1.0-a1
+ * @changed 3.2.2-RC1 Added u_action
*/
- $vars = array('action', 'user_row');
+ $vars = array('action', 'user_row', 'u_action');
extract($phpbb_dispatcher->trigger_event('core.acp_users_overview_run_quicktool', compact($vars)));
+
+ unset($u_action);
break;
}
@@ -1485,12 +1491,14 @@ class acp_users
* Validate profile data in ACP before submitting to the database
*
* @event core.acp_users_profile_validate
- * @var bool submit Flag indicating if submit button has been pressed
* @var array data Array with user profile data
+ * @var int user_id The user id
+ * @var array user_row Array with the full user data
* @var array error Array with the form errors
* @since 3.1.4-RC1
+ * @changed 3.1.12-RC1 Removed submit, added user_id, user_row
*/
- $vars = array('submit', 'data', 'error');
+ $vars = array('data', 'user_id', 'user_row', 'error');
extract($phpbb_dispatcher->trigger_event('core.acp_users_profile_validate', compact($vars)));
if (!sizeof($error))
@@ -2576,6 +2584,22 @@ class acp_users
break;
+ default:
+
+ /**
+ * Additional modes provided by extensions
+ *
+ * @event core.acp_users_mode_add
+ * @var string mode New mode
+ * @var int user_id User id of the user to manage
+ * @var array user_row Array with user data
+ * @var array error Array with errors data
+ * @since 3.2.2-RC1
+ */
+ $vars = array('mode', 'user_id', 'user_row', 'error');
+ extract($phpbb_dispatcher->trigger_event('core.acp_users_mode_add', compact($vars)));
+
+ break;
}
// Assign general variables
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 6a36210dca..2cd62d7bac 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -1644,7 +1644,7 @@ function append_sid($url, $params = false, $is_amp = true, $session_id = false,
*/
function generate_board_url($without_script_path = false)
{
- global $config, $user, $request;
+ global $config, $user, $request, $symfony_request;
$server_name = $user->host;
@@ -1661,7 +1661,8 @@ function generate_board_url($without_script_path = false)
}
else
{
- $server_port = $request->server('SERVER_PORT', 0);
+ $server_port = (int) $symfony_request->getPort();
+
$forwarded_proto = $request->server('HTTP_X_FORWARDED_PROTO');
if (!empty($forwarded_proto) && $forwarded_proto === 'https')
@@ -4069,11 +4070,6 @@ function phpbb_get_avatar($row, $alt, $ignore_config = false, $lazy = false)
if ($driver)
{
$html = $driver->get_custom_html($user, $row, $alt);
- if (!empty($html))
- {
- return $html;
- }
-
$avatar_data = $driver->get_data($row);
}
else
@@ -4081,7 +4077,7 @@ function phpbb_get_avatar($row, $alt, $ignore_config = false, $lazy = false)
$avatar_data['src'] = '';
}
- if (!empty($avatar_data['src']))
+ if (empty($html) && !empty($avatar_data['src']))
{
if ($lazy)
{
diff --git a/phpBB/includes/ucp/ucp_notifications.php b/phpBB/includes/ucp/ucp_notifications.php
index 835db44b90..029588bb23 100644
--- a/phpBB/includes/ucp/ucp_notifications.php
+++ b/phpBB/includes/ucp/ucp_notifications.php
@@ -205,7 +205,7 @@ class ucp_notifications
}
$template->assign_vars(array(
- strtoupper($block) . '_COLS' => sizeof($notification_methods) + 2,
+ strtoupper($block) . '_COLS' => sizeof($notification_methods) + 1,
));
}
diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php
index af9f8fe187..d7a1ce8e71 100644
--- a/phpBB/language/en/common.php
+++ b/phpBB/language/en/common.php
@@ -556,6 +556,7 @@ $lang = array_merge($lang, array(
),
'OPTIONS' => 'Options',
+ 'PAGE_NOT_FOUND' => 'The requested page could not be found.',
'PAGE_OF' => 'Page <strong>%1$d</strong> of <strong>%2$d</strong>',
'PAGE_TITLE_NUMBER' => 'Page %s',
'PASSWORD' => 'Password',
diff --git a/phpBB/phpbb/cache/driver/file.php b/phpBB/phpbb/cache/driver/file.php
index 497f00c06b..e9d2ba8e04 100644
--- a/phpBB/phpbb/cache/driver/file.php
+++ b/phpBB/phpbb/cache/driver/file.php
@@ -576,7 +576,7 @@ class file extends \phpbb\cache\driver\base
if (function_exists('opcache_invalidate'))
{
- @opcache_invalidate($this->cache_file);
+ @opcache_invalidate($file);
}
try
diff --git a/phpBB/phpbb/cache/driver/memcached.php b/phpBB/phpbb/cache/driver/memcached.php
index 808e15afe8..7d66759ec2 100644
--- a/phpBB/phpbb/cache/driver/memcached.php
+++ b/phpBB/phpbb/cache/driver/memcached.php
@@ -65,7 +65,7 @@ class memcached extends \phpbb\cache\driver\memory
$this->memcached->setOption(\Memcached::OPT_COMPRESSION, false);
}
- foreach (explode(',', PHPBB_ACM_MEMCACHE) as $u)
+ foreach (explode(',', PHPBB_ACM_MEMCACHED) as $u)
{
preg_match('#(.*)/(\d+)#', $u, $parts);
$this->memcached->addServer(trim($parts[1]), (int) trim($parts[2]));
diff --git a/phpBB/phpbb/cron/task/text_reparser/reparser.php b/phpBB/phpbb/cron/task/text_reparser/reparser.php
index 69392f5ac9..fa3bc67325 100644
--- a/phpBB/phpbb/cron/task/text_reparser/reparser.php
+++ b/phpBB/phpbb/cron/task/text_reparser/reparser.php
@@ -85,7 +85,7 @@ class reparser extends \phpbb\cron\task\base
if ($this->resume_data === null)
{
- $this->reparser_manager->get_resume_data($this->reparser_name);
+ $this->resume_data = $this->reparser_manager->get_resume_data($this->reparser_name);
}
}
@@ -96,7 +96,7 @@ class reparser extends \phpbb\cron\task\base
{
if ($this->resume_data === null)
{
- $this->reparser_manager->get_resume_data($this->reparser_name);
+ $this->resume_data = $this->reparser_manager->get_resume_data($this->reparser_name);
}
if (!isset($this->resume_data['range-max']) || $this->resume_data['range-max'] >= $this->resume_data['range-min'])
diff --git a/phpBB/phpbb/db/migration/data/v320/text_reparser.php b/phpBB/phpbb/db/migration/data/v320/text_reparser.php
index 03c5d39fe4..6b8cf93cc9 100644
--- a/phpBB/phpbb/db/migration/data/v320/text_reparser.php
+++ b/phpBB/phpbb/db/migration/data/v320/text_reparser.php
@@ -54,13 +54,16 @@ class text_reparser extends \phpbb\db\migration\container_aware_migration
/** @var manager $reparser_manager */
$reparser_manager = $this->container->get('text_reparser.manager');
- /** @var reparser_interface[] $reparsers */
- $reparsers = $this->container->get('text_reparser_collection');
-
- // Initialize all reparsers
- foreach ($reparsers as $name => $reparser)
+ if (!is_array($resume_data))
{
- $reparser_manager->update_resume_data($name, 1, $reparser->get_max_id(), 100);
+ /** @var reparser_interface[] $reparsers */
+ $reparsers = $this->container->get('text_reparser_collection');
+
+ // Initialize all reparsers
+ foreach ($reparsers as $name => $reparser)
+ {
+ $reparser_manager->update_resume_data($name, 1, $reparser->get_max_id(), 100);
+ }
}
// Sometimes a cron job is too much
diff --git a/phpBB/phpbb/db/migrator.php b/phpBB/phpbb/db/migrator.php
index d7d7f18d2b..6c026c3ae1 100644
--- a/phpBB/phpbb/db/migrator.php
+++ b/phpBB/phpbb/db/migrator.php
@@ -503,11 +503,14 @@ class migrator
return;
}
- foreach ($this->migration_state as $name => $state)
+ foreach ($this->migrations as $name)
{
- if (!empty($state['migration_depends_on']) && in_array($migration, $state['migration_depends_on']))
+ $state = $this->migration_state($name);
+
+ if ($state && in_array($migration, $state['migration_depends_on']) && ($state['migration_schema_done'] || $state['migration_data_done']))
{
$this->revert_do($name);
+ return;
}
}
diff --git a/phpBB/phpbb/db/tools/mssql.php b/phpBB/phpbb/db/tools/mssql.php
index d31aa2ba0b..23b49aab44 100644
--- a/phpBB/phpbb/db/tools/mssql.php
+++ b/phpBB/phpbb/db/tools/mssql.php
@@ -524,7 +524,7 @@ class mssql extends tools
{
$statements = array();
- if ($this->is_sql_server_2000())
+ if ($this->mssql_is_sql_server_2000())
{
$this->check_index_name_length($table_name, $index_name);
}
@@ -541,7 +541,7 @@ class mssql extends tools
{
$statements = array();
- if ($this->is_sql_server_2000())
+ if ($this->mssql_is_sql_server_2000())
{
$this->check_index_name_length($table_name, $index_name);
}
diff --git a/phpBB/phpbb/event/kernel_exception_subscriber.php b/phpBB/phpbb/event/kernel_exception_subscriber.php
index b7a54f2608..373e59b0c8 100644
--- a/phpBB/phpbb/event/kernel_exception_subscriber.php
+++ b/phpBB/phpbb/event/kernel_exception_subscriber.php
@@ -16,6 +16,7 @@ namespace phpbb\event;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpKernel\Exception\HttpExceptionInterface;
+use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
use Symfony\Component\HttpFoundation\Response;
@@ -23,6 +24,13 @@ use Symfony\Component\HttpFoundation\Response;
class kernel_exception_subscriber implements EventSubscriberInterface
{
/**
+ * Set to true to show full exception messages
+ *
+ * @var bool
+ */
+ protected $debug;
+
+ /**
* Template object
*
* @var \phpbb\template\template
@@ -44,9 +52,11 @@ class kernel_exception_subscriber implements EventSubscriberInterface
*
* @param \phpbb\template\template $template Template object
* @param \phpbb\language\language $language Language object
+ * @param bool $debug Set to true to show full exception messages
*/
- public function __construct(\phpbb\template\template $template, \phpbb\language\language $language)
+ public function __construct(\phpbb\template\template $template, \phpbb\language\language $language, $debug = false)
{
+ $this->debug = $debug || defined('DEBUG');
$this->template = $template;
$this->language = $language;
$this->type_caster = new \phpbb\request\type_cast_helper();
@@ -69,6 +79,10 @@ class kernel_exception_subscriber implements EventSubscriberInterface
{
$message = $this->language->lang_array($message, $exception->get_parameters());
}
+ else if (!$this->debug && $exception instanceof NotFoundHttpException)
+ {
+ $message = $this->language->lang('PAGE_NOT_FOUND');
+ }
// Show <strong> text in bold
$message = preg_replace('#&lt;(/?strong)&gt;#i', '<$1>', $message);
@@ -99,7 +113,7 @@ class kernel_exception_subscriber implements EventSubscriberInterface
$data['message'] = $message;
}
- if (defined('DEBUG'))
+ if ($this->debug)
{
$data['trace'] = $exception->getTrace();
}
diff --git a/phpBB/phpbb/feed/topics_active.php b/phpBB/phpbb/feed/topics_active.php
index 7ae0bde56b..ea9ee97b9d 100644
--- a/phpBB/phpbb/feed/topics_active.php
+++ b/phpBB/phpbb/feed/topics_active.php
@@ -119,7 +119,7 @@ class topics_active extends topic_base
FROM ' . FORUMS_TABLE . '
WHERE forum_type = ' . FORUM_POST . '
AND ' . $this->db->sql_bit_and('forum_options', FORUM_OPTION_FEED_EXCLUDE, '= 0') . '
- AND ' . $this->db->sql_bit_and('forum_flags', log(FORUM_FLAG_ACTIVE_TOPICS, 2), '<> 0');
+ AND ' . $this->db->sql_bit_and('forum_flags', round(log(FORUM_FLAG_ACTIVE_TOPICS, 2)), '<> 0');
$result = $this->db->sql_query($sql);
$forum_ids = array();
diff --git a/phpBB/phpbb/search/fulltext_sphinx.php b/phpBB/phpbb/search/fulltext_sphinx.php
index 89c615e087..59c3d55076 100644
--- a/phpBB/phpbb/search/fulltext_sphinx.php
+++ b/phpBB/phpbb/search/fulltext_sphinx.php
@@ -648,7 +648,7 @@ class fulltext_sphinx
$this->sphinx->SetFilter('deleted', array(0));
$this->sphinx->SetLimits($start, (int) $per_page, SPHINX_MAX_MATCHES);
- $result = $this->sphinx->Query($search_query_prefix . str_replace('&quot;', '"', $this->search_query), $this->indexes);
+ $result = $this->sphinx->Query($search_query_prefix . $this->sphinx->EscapeString(str_replace('&quot;', '"', $this->search_query)), $this->indexes);
// Could be connection to localhost:9312 failed (errno=111,
// msg=Connection refused) during rotate, retry if so
@@ -656,7 +656,7 @@ class fulltext_sphinx
while (!$result && (strpos($this->sphinx->GetLastError(), "errno=111,") !== false) && $retries--)
{
usleep(SPHINX_CONNECT_WAIT_TIME);
- $result = $this->sphinx->Query($search_query_prefix . str_replace('&quot;', '"', $this->search_query), $this->indexes);
+ $result = $this->sphinx->Query($search_query_prefix . $this->sphinx->EscapeString(str_replace('&quot;', '"', $this->search_query)), $this->indexes);
}
if ($this->sphinx->GetLastError())
@@ -679,7 +679,7 @@ class fulltext_sphinx
$start = floor(($result_count - 1) / $per_page) * $per_page;
$this->sphinx->SetLimits((int) $start, (int) $per_page, SPHINX_MAX_MATCHES);
- $result = $this->sphinx->Query($search_query_prefix . str_replace('&quot;', '"', $this->search_query), $this->indexes);
+ $result = $this->sphinx->Query($search_query_prefix . $this->sphinx->EscapeString(str_replace('&quot;', '"', $this->search_query)), $this->indexes);
// Could be connection to localhost:9312 failed (errno=111,
// msg=Connection refused) during rotate, retry if so
@@ -687,7 +687,7 @@ class fulltext_sphinx
while (!$result && (strpos($this->sphinx->GetLastError(), "errno=111,") !== false) && $retries--)
{
usleep(SPHINX_CONNECT_WAIT_TIME);
- $result = $this->sphinx->Query($search_query_prefix . str_replace('&quot;', '"', $this->search_query), $this->indexes);
+ $result = $this->sphinx->Query($search_query_prefix . $this->sphinx->EscapeString(str_replace('&quot;', '"', $this->search_query)), $this->indexes);
}
}
diff --git a/phpBB/styles/prosilver/template/memberlist_email.html b/phpBB/styles/prosilver/template/memberlist_email.html
index eea699da08..d9752bed00 100644
--- a/phpBB/styles/prosilver/template/memberlist_email.html
+++ b/phpBB/styles/prosilver/template/memberlist_email.html
@@ -77,7 +77,7 @@
<dl>
<dt><label for="message">{L_MESSAGE_BODY}{L_COLON}</label><br />
<span>{L_EMAIL_BODY_EXPLAIN}</span></dt>
- <dd><textarea class="inputbox" name="message" id="message" rows="15" cols="76" tabindex="4">{MESSAGE}</textarea></dd>
+ <dd><textarea name="message" id="message" rows="15" cols="76" tabindex="4">{MESSAGE}</textarea></dd>
</dl>
<!-- IF S_REGISTERED_USER -->
<dl>
diff --git a/phpBB/styles/prosilver/theme/content.css b/phpBB/styles/prosilver/theme/content.css
index c34e01d0ae..a071e63c69 100644
--- a/phpBB/styles/prosilver/theme/content.css
+++ b/phpBB/styles/prosilver/theme/content.css
@@ -131,11 +131,12 @@ li.header dl.row-item dt .list-inner {
}
/* Forum list column styles */
+.row .list-inner { padding: 4px 0; }
+
dl.row-item {
background-position: 10px 50%; /* Position of folder icon */
background-repeat: no-repeat;
background-size: 32px;
- image-rendering: -webkit-optimize-contrast;
}
dl.row-item dt {
diff --git a/phpBB/styles/prosilver/theme/images/announce_read.gif b/phpBB/styles/prosilver/theme/images/announce_read.gif
index b61cc54140..a3b3d7b234 100644
--- a/phpBB/styles/prosilver/theme/images/announce_read.gif
+++ b/phpBB/styles/prosilver/theme/images/announce_read.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/announce_read_locked.gif b/phpBB/styles/prosilver/theme/images/announce_read_locked.gif
index 8c7393edf9..0a6cf64341 100644
--- a/phpBB/styles/prosilver/theme/images/announce_read_locked.gif
+++ b/phpBB/styles/prosilver/theme/images/announce_read_locked.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/announce_read_locked_mine.gif b/phpBB/styles/prosilver/theme/images/announce_read_locked_mine.gif
index e3f6e622a3..56af0ab071 100644
--- a/phpBB/styles/prosilver/theme/images/announce_read_locked_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/announce_read_locked_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/announce_read_mine.gif b/phpBB/styles/prosilver/theme/images/announce_read_mine.gif
index d57e5d04e5..c333e3b124 100644
--- a/phpBB/styles/prosilver/theme/images/announce_read_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/announce_read_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/announce_unread.gif b/phpBB/styles/prosilver/theme/images/announce_unread.gif
index eb9edd1520..9f75cc3e53 100644
--- a/phpBB/styles/prosilver/theme/images/announce_unread.gif
+++ b/phpBB/styles/prosilver/theme/images/announce_unread.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/announce_unread_locked.gif b/phpBB/styles/prosilver/theme/images/announce_unread_locked.gif
index 054b0ae38d..4ad85bb684 100644
--- a/phpBB/styles/prosilver/theme/images/announce_unread_locked.gif
+++ b/phpBB/styles/prosilver/theme/images/announce_unread_locked.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/announce_unread_locked_mine.gif b/phpBB/styles/prosilver/theme/images/announce_unread_locked_mine.gif
index a37b165b4f..30db89439e 100644
--- a/phpBB/styles/prosilver/theme/images/announce_unread_locked_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/announce_unread_locked_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/announce_unread_mine.gif b/phpBB/styles/prosilver/theme/images/announce_unread_mine.gif
index 55f649cc4b..3a2cbcac10 100644
--- a/phpBB/styles/prosilver/theme/images/announce_unread_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/announce_unread_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/forum_link.gif b/phpBB/styles/prosilver/theme/images/forum_link.gif
index 42d445838b..09f8dfa75a 100644
--- a/phpBB/styles/prosilver/theme/images/forum_link.gif
+++ b/phpBB/styles/prosilver/theme/images/forum_link.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/forum_read.gif b/phpBB/styles/prosilver/theme/images/forum_read.gif
index 79d605ad7c..891fa20c07 100644
--- a/phpBB/styles/prosilver/theme/images/forum_read.gif
+++ b/phpBB/styles/prosilver/theme/images/forum_read.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/forum_read_locked.gif b/phpBB/styles/prosilver/theme/images/forum_read_locked.gif
index 5eaf460a59..2348240638 100644
--- a/phpBB/styles/prosilver/theme/images/forum_read_locked.gif
+++ b/phpBB/styles/prosilver/theme/images/forum_read_locked.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/forum_read_subforum.gif b/phpBB/styles/prosilver/theme/images/forum_read_subforum.gif
index b7b8176e4e..5b4d30f7ec 100644
--- a/phpBB/styles/prosilver/theme/images/forum_read_subforum.gif
+++ b/phpBB/styles/prosilver/theme/images/forum_read_subforum.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/forum_unread.gif b/phpBB/styles/prosilver/theme/images/forum_unread.gif
index 8df11e7782..e925da82bd 100644
--- a/phpBB/styles/prosilver/theme/images/forum_unread.gif
+++ b/phpBB/styles/prosilver/theme/images/forum_unread.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/forum_unread_locked.gif b/phpBB/styles/prosilver/theme/images/forum_unread_locked.gif
index 63ac3fbedf..5ff59b7421 100644
--- a/phpBB/styles/prosilver/theme/images/forum_unread_locked.gif
+++ b/phpBB/styles/prosilver/theme/images/forum_unread_locked.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/forum_unread_subforum.gif b/phpBB/styles/prosilver/theme/images/forum_unread_subforum.gif
index c5a2da1e31..7d6ddb93be 100644
--- a/phpBB/styles/prosilver/theme/images/forum_unread_subforum.gif
+++ b/phpBB/styles/prosilver/theme/images/forum_unread_subforum.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/sticky_read.gif b/phpBB/styles/prosilver/theme/images/sticky_read.gif
index c56a3833f9..e8142ddb20 100644
--- a/phpBB/styles/prosilver/theme/images/sticky_read.gif
+++ b/phpBB/styles/prosilver/theme/images/sticky_read.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/sticky_read_locked.gif b/phpBB/styles/prosilver/theme/images/sticky_read_locked.gif
index 854a8f06de..fcd8b85e0b 100644
--- a/phpBB/styles/prosilver/theme/images/sticky_read_locked.gif
+++ b/phpBB/styles/prosilver/theme/images/sticky_read_locked.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/sticky_read_locked_mine.gif b/phpBB/styles/prosilver/theme/images/sticky_read_locked_mine.gif
index 0d559c0767..0a8dc2a6c1 100644
--- a/phpBB/styles/prosilver/theme/images/sticky_read_locked_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/sticky_read_locked_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/sticky_read_mine.gif b/phpBB/styles/prosilver/theme/images/sticky_read_mine.gif
index 3cd077355a..37c4ed01f6 100644
--- a/phpBB/styles/prosilver/theme/images/sticky_read_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/sticky_read_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/sticky_unread.gif b/phpBB/styles/prosilver/theme/images/sticky_unread.gif
index 0d201657e3..88a212d7c0 100644
--- a/phpBB/styles/prosilver/theme/images/sticky_unread.gif
+++ b/phpBB/styles/prosilver/theme/images/sticky_unread.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/sticky_unread_locked.gif b/phpBB/styles/prosilver/theme/images/sticky_unread_locked.gif
index 4535708752..0241da2ab5 100644
--- a/phpBB/styles/prosilver/theme/images/sticky_unread_locked.gif
+++ b/phpBB/styles/prosilver/theme/images/sticky_unread_locked.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/sticky_unread_locked_mine.gif b/phpBB/styles/prosilver/theme/images/sticky_unread_locked_mine.gif
index bb14033781..8d69b447b2 100644
--- a/phpBB/styles/prosilver/theme/images/sticky_unread_locked_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/sticky_unread_locked_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/sticky_unread_mine.gif b/phpBB/styles/prosilver/theme/images/sticky_unread_mine.gif
index c7ae656f02..6529102053 100644
--- a/phpBB/styles/prosilver/theme/images/sticky_unread_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/sticky_unread_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_moved.gif b/phpBB/styles/prosilver/theme/images/topic_moved.gif
index 707b9f5d3d..8e9c1f41f6 100644
--- a/phpBB/styles/prosilver/theme/images/topic_moved.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_moved.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_read.gif b/phpBB/styles/prosilver/theme/images/topic_read.gif
index a3b706eb11..5ed739ee9b 100644
--- a/phpBB/styles/prosilver/theme/images/topic_read.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_read.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_read_hot.gif b/phpBB/styles/prosilver/theme/images/topic_read_hot.gif
index d118fdcc4f..81a42d0a67 100644
--- a/phpBB/styles/prosilver/theme/images/topic_read_hot.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_read_hot.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_read_hot_mine.gif b/phpBB/styles/prosilver/theme/images/topic_read_hot_mine.gif
index 2e16f96e33..b98808cadf 100644
--- a/phpBB/styles/prosilver/theme/images/topic_read_hot_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_read_hot_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_read_locked.gif b/phpBB/styles/prosilver/theme/images/topic_read_locked.gif
index 3154d38463..61bb1effa2 100644
--- a/phpBB/styles/prosilver/theme/images/topic_read_locked.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_read_locked.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_read_locked_mine.gif b/phpBB/styles/prosilver/theme/images/topic_read_locked_mine.gif
index ac0248c2be..dbe901919a 100644
--- a/phpBB/styles/prosilver/theme/images/topic_read_locked_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_read_locked_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_read_mine.gif b/phpBB/styles/prosilver/theme/images/topic_read_mine.gif
index b0e9455d0e..8fb165c46c 100644
--- a/phpBB/styles/prosilver/theme/images/topic_read_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_read_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_unread.gif b/phpBB/styles/prosilver/theme/images/topic_unread.gif
index de500726ec..43ea76b4de 100644
--- a/phpBB/styles/prosilver/theme/images/topic_unread.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_unread.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_unread_hot.gif b/phpBB/styles/prosilver/theme/images/topic_unread_hot.gif
index 1937164e08..a45bc4bc19 100644
--- a/phpBB/styles/prosilver/theme/images/topic_unread_hot.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_unread_hot.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_unread_hot_mine.gif b/phpBB/styles/prosilver/theme/images/topic_unread_hot_mine.gif
index 28fdd88f4b..dc673266be 100644
--- a/phpBB/styles/prosilver/theme/images/topic_unread_hot_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_unread_hot_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_unread_locked.gif b/phpBB/styles/prosilver/theme/images/topic_unread_locked.gif
index 177dae74f4..68dd3422d7 100644
--- a/phpBB/styles/prosilver/theme/images/topic_unread_locked.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_unread_locked.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_unread_locked_mine.gif b/phpBB/styles/prosilver/theme/images/topic_unread_locked_mine.gif
index 2b6b854e33..4f5a36efe9 100644
--- a/phpBB/styles/prosilver/theme/images/topic_unread_locked_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_unread_locked_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/images/topic_unread_mine.gif b/phpBB/styles/prosilver/theme/images/topic_unread_mine.gif
index fd16eeedef..24e9817ce1 100644
--- a/phpBB/styles/prosilver/theme/images/topic_unread_mine.gif
+++ b/phpBB/styles/prosilver/theme/images/topic_unread_mine.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/responsive.css b/phpBB/styles/prosilver/theme/responsive.css
index 250d0b7f7a..fcc11f1fc2 100644
--- a/phpBB/styles/prosilver/theme/responsive.css
+++ b/phpBB/styles/prosilver/theme/responsive.css
@@ -344,7 +344,7 @@
}
fieldset dd, fieldset.fields1 dd, fieldset.fields2 dd {
- margin-left: 20px;
+ margin-left: 0px;
}
textarea, dd textarea, .message-box textarea {
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index d4bf5b2490..c94675a741 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -2017,10 +2017,13 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
* @var array user_poster_data Poster's data from user cache
* @var array post_row Template block array of the post
* @var array topic_data Array with topic data
+ * @var array user_cache Array with cached user data
+ * @var array post_edit_list Array with post edited list
* @since 3.1.0-a1
* @changed 3.1.0-a3 Added vars start, current_row_number, end, attachments
* @changed 3.1.0-b3 Added topic_data array, total_posts
* @changed 3.1.0-RC3 Added poster_id
+ * @changed 3.2.2-RC1 Added user_cache and post_edit_list
*/
$vars = array(
'start',
@@ -2034,6 +2037,8 @@ for ($i = 0, $end = sizeof($post_list); $i < $end; ++$i)
'user_poster_data',
'post_row',
'topic_data',
+ 'user_cache',
+ 'post_edit_list',
);
extract($phpbb_dispatcher->trigger_event('core.viewtopic_modify_post_row', compact($vars)));