aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--phpBB/config/console.yml1
-rw-r--r--phpBB/docs/events.md16
-rw-r--r--phpBB/includes/acp/acp_main.php2
-rw-r--r--phpBB/includes/acp/acp_styles.php1
-rw-r--r--phpBB/language/en/common.php1
-rw-r--r--phpBB/phpbb/console/command/cache/purge.php7
-rw-r--r--phpBB/phpbb/mimetype/guesser_interface.php1
-rw-r--r--phpBB/posting.php64
-rw-r--r--phpBB/search.php2
-rw-r--r--phpBB/styles/prosilver/template/search_results.html3
-rw-r--r--phpBB/styles/prosilver/template/viewforum_body.html1
-rw-r--r--phpBB/styles/prosilver/theme/images/icon_topic_poll.gifbin0 -> 120 bytes
-rw-r--r--phpBB/styles/prosilver/theme/imageset.css5
-rw-r--r--phpBB/styles/subsilver2/template/search_results.html2
-rw-r--r--phpBB/viewforum.php1
15 files changed, 92 insertions, 15 deletions
diff --git a/phpBB/config/console.yml b/phpBB/config/console.yml
index 1340d9c0d7..d32befa15e 100644
--- a/phpBB/config/console.yml
+++ b/phpBB/config/console.yml
@@ -7,6 +7,7 @@ services:
- @auth
- @log
- @user
+ - @config
tags:
- { name: console.command }
diff --git a/phpBB/docs/events.md b/phpBB/docs/events.md
index 66b558a665..4a6a1895dd 100644
--- a/phpBB/docs/events.md
+++ b/phpBB/docs/events.md
@@ -601,6 +601,22 @@ search_results_postprofile_before
* Since: 3.1.0-b3
* Purpose: Add content directly before the post author in search results (posts view mode)
+search_results_topic_after
+===
+* Locations:
+ + styles/prosilver/template/search_results.html
+ + styles/subsilver2/template/search_results.html
+* Since: 3.1.0-b4
+* Purpose: Add data after search result topics
+
+search_results_topic_before
+===
+* Locations:
+ + styles/prosilver/template/search_results.html
+ + styles/subsilver2/template/search_results.html
+* Since: 3.1.0-b4
+* Purpose: Add data before search result topics
+
simple_footer_after
===
* Locations:
diff --git a/phpBB/includes/acp/acp_main.php b/phpBB/includes/acp/acp_main.php
index 9c1613e24a..74ea095496 100644
--- a/phpBB/includes/acp/acp_main.php
+++ b/phpBB/includes/acp/acp_main.php
@@ -349,7 +349,7 @@ class acp_main
break;
case 'purge_cache':
- global $cache;
+ $config->increment('assets_version', 1);
$cache->purge();
// Clear permissions
diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php
index 3f9d21f56c..7b277da9f9 100644
--- a/phpBB/includes/acp/acp_styles.php
+++ b/phpBB/includes/acp/acp_styles.php
@@ -146,6 +146,7 @@ class acp_styles
{
global $db, $cache, $auth;
+ $this->config->increment('assets_version', 1);
$this->cache->purge();
// Clear permissions
diff --git a/phpBB/language/en/common.php b/phpBB/language/en/common.php
index 7faa46daf3..7026e60911 100644
--- a/phpBB/language/en/common.php
+++ b/phpBB/language/en/common.php
@@ -751,6 +751,7 @@ $lang = array_merge($lang, array(
1 => '%d private message in total',
2 => '%d private messages in total',
),
+ 'TOPIC_POLL' => 'This topic has a poll.',
'TOTAL_POSTS' => 'Total posts',
'TOTAL_POSTS_COUNT' => array(
2 => 'Total posts <strong>%d</strong>',
diff --git a/phpBB/phpbb/console/command/cache/purge.php b/phpBB/phpbb/console/command/cache/purge.php
index 017bdc5144..013183cb35 100644
--- a/phpBB/phpbb/console/command/cache/purge.php
+++ b/phpBB/phpbb/console/command/cache/purge.php
@@ -28,13 +28,17 @@ class purge extends \phpbb\console\command\command
/** @var \phpbb\user */
protected $user;
- function __construct(\phpbb\cache\driver\driver_interface $cache, \phpbb\db\driver\driver_interface $db, \phpbb\auth\auth $auth, \phpbb\log\log $log, \phpbb\user $user)
+ /** @var \phpbb\config\config */
+ protected $config;
+
+ public function __construct(\phpbb\cache\driver\driver_interface $cache, \phpbb\db\driver\driver_interface $db, \phpbb\auth\auth $auth, \phpbb\log\log $log, \phpbb\user $user, \phpbb\config\config $config)
{
$this->cache = $cache;
$this->db = $db;
$this->auth = $auth;
$this->log = $log;
$this->user = $user;
+ $this->config = $config;
$this->user->add_lang(array('acp/common'));
parent::__construct();
}
@@ -49,6 +53,7 @@ class purge extends \phpbb\console\command\command
protected function execute(InputInterface $input, OutputInterface $output)
{
+ $this->config->increment('assets_version', 1);
$this->cache->purge();
// Clear permissions
diff --git a/phpBB/phpbb/mimetype/guesser_interface.php b/phpBB/phpbb/mimetype/guesser_interface.php
index 103689765e..3cbcfeabe3 100644
--- a/phpBB/phpbb/mimetype/guesser_interface.php
+++ b/phpBB/phpbb/mimetype/guesser_interface.php
@@ -26,6 +26,7 @@ interface guesser_interface
* Guess mimetype of supplied file
*
* @param string $file Path to file
+ * @param string $file_name The real file name
*
* @return string Guess for mimetype of file
*/
diff --git a/phpBB/posting.php b/phpBB/posting.php
index 054f6edb50..d48157dcd6 100644
--- a/phpBB/posting.php
+++ b/phpBB/posting.php
@@ -1491,8 +1491,8 @@ $form_enctype = (@ini_get('file_uploads') == '0' || strtolower(@ini_get('file_up
add_form_key('posting');
-// Start assigning vars for main posting page ...
-$template->assign_vars(array(
+// Build array of variables for main posting page
+$page_data = array(
'L_POST_A' => $page_title,
'L_ICON' => ($mode == 'reply' || $mode == 'quote' || ($mode == 'edit' && $post_id != $post_data['topic_first_post_id'])) ? $user->lang['POST_ICON'] : $user->lang['TOPIC_ICON'],
'L_MESSAGE_BODY_EXPLAIN' => $user->lang('MESSAGE_BODY_EXPLAIN', (int) $config['max_post_chars']),
@@ -1560,24 +1560,46 @@ $template->assign_vars(array(
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_ATTACH_DATA' => json_encode($message_parser->attachment_data),
'S_IN_POSTING' => true,
-));
+);
/**
* This event allows you to modify template variables for the posting screen
*
* @event core.posting_modify_template_vars
-* @var array post_data Array with post data
-* @var array moderators Array with forum moderators
-* @var string mode What action to take if the form is submitted
-* post|reply|quote|edit|delete|bump|smilies|popup
-* @var string page_title Title of the mode page
+* @var array post_data Array with post data
+* @var array moderators Array with forum moderators
+* @var string mode What action to take if the form is submitted
+* post|reply|quote|edit|delete|bump|smilies|popup
+* @var string page_title Title of the mode page
* @var bool s_topic_icons Whether or not to show the topic icons
-* @var string form_enctype If attachments are allowed for this form the value of
-* this is "multipart/form-data" else it is the empty string
-* @var string s_action The URL to submit the POST data to
-* @var string s_hidden_fields The concatenated input tags of the form's hidden fields
+* @var string form_enctype If attachments are allowed for this form
+* "multipart/form-data" or empty string
+* @var string s_action The URL to submit the POST data to
+* @var string s_hidden_fields Concatenated hidden input tags of posting form
+* @var int post_id ID of the post
+* @var int topic_id ID of the topic
+* @var int forum_id ID of the forum
+* @var bool submit Whether or not the form has been submitted
+* @var bool preview Whether or not the post is being previewed
+* @var bool save Whether or not a draft is being saved
+* @var bool load Whether or not a draft is being loaded
+* @var bool delete Whether or not the post is being deleted
+* @var bool cancel Whether or not to cancel the form (returns to
+* viewtopic or viewforum depending on if the user
+* is posting a new topic or editing a post)
+* @var array error Any error strings; a non-empty array aborts
+* form submission.
+* NOTE: Should be actual language strings, NOT
+* language keys.
+* @var bool refresh Whether or not to retain previously submitted data
+* @var array page_data Posting page data that should be passed to the
+* posting page via $template->assign_vars()
+* @var object message_parser The message parser object
* @since 3.1.0-a1
-* @change 3.1.0-b3 Added vars post_data, moderators, mode, page_title, s_topic_icons, form_enctype, s_action, s_hidden_fields
+* @change 3.1.0-b3 Added vars post_data, moderators, mode, page_title,
+* s_topic_icons, form_enctype, s_action, s_hidden_fields,
+* post_id, topic_id, forum_id, submit, preview, save, load,
+* delete, cancel, refresh, error, page_data, message_parser
*/
$vars = array(
'post_data',
@@ -1588,9 +1610,25 @@ $vars = array(
'form_enctype',
's_action',
's_hidden_fields',
+ 'post_id',
+ 'topic_id',
+ 'forum_id',
+ 'submit',
+ 'preview',
+ 'save',
+ 'load',
+ 'delete',
+ 'cancel',
+ 'refresh',
+ 'error',
+ 'page_data',
+ 'message_parser',
);
extract($phpbb_dispatcher->trigger_event('core.posting_modify_template_vars', compact($vars)));
+// Start assigning vars for main posting page ...
+$template->assign_vars($page_data);
+
// Build custom bbcodes array
display_custom_bbcodes();
diff --git a/phpBB/search.php b/phpBB/search.php
index 9fe1d92915..3a1e911195 100644
--- a/phpBB/search.php
+++ b/phpBB/search.php
@@ -613,6 +613,7 @@ if ($keywords || $author || $author_id || $search_id || $submit)
'REPORTED_IMG' => $user->img('icon_topic_reported', 'TOPIC_REPORTED'),
'UNAPPROVED_IMG' => $user->img('icon_topic_unapproved', 'TOPIC_UNAPPROVED'),
'DELETED_IMG' => $user->img('icon_topic_deleted', 'TOPIC_DELETED'),
+ 'POLL_IMG' => $user->img('icon_topic_poll', 'TOPIC_POLL'),
'LAST_POST_IMG' => $user->img('icon_topic_latest', 'VIEW_LATEST_POST'),
'U_SEARCH_WORDS' => $u_search,
@@ -997,6 +998,7 @@ if ($keywords || $author || $author_id || $search_id || $submit)
'S_TOPIC_UNAPPROVED' => $topic_unapproved,
'S_POSTS_UNAPPROVED' => $posts_unapproved,
'S_TOPIC_DELETED' => $topic_deleted,
+ 'S_HAS_POLL' => ($row['poll_start']) ? true : false,
'U_LAST_POST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", $view_topic_url_params . '&amp;p=' . $row['topic_last_post_id']) . '#p' . $row['topic_last_post_id'],
'U_LAST_POST_AUTHOR' => get_username_string('profile', $row['topic_last_poster_id'], $row['topic_last_poster_name'], $row['topic_last_poster_colour']),
diff --git a/phpBB/styles/prosilver/template/search_results.html b/phpBB/styles/prosilver/template/search_results.html
index fe0b0362ce..0043da4507 100644
--- a/phpBB/styles/prosilver/template/search_results.html
+++ b/phpBB/styles/prosilver/template/search_results.html
@@ -58,6 +58,7 @@
<ul class="topiclist topics">
<!-- BEGIN searchresults -->
+ <!-- EVENT search_results_topic_before -->
<li class="row<!-- IF searchresults.S_ROW_COUNT is even --> bg1<!-- ELSE --> bg2<!-- ENDIF -->">
<dl class="icon {searchresults.TOPIC_IMG_STYLE}">
<dt <!-- IF searchresults.TOPIC_ICON_IMG -->style="background-image: url({T_ICONS_PATH}{searchresults.TOPIC_ICON_IMG}); background-repeat: no-repeat;"<!-- ENDIF --> title="{searchresults.TOPIC_FOLDER_IMG_ALT}">
@@ -84,6 +85,7 @@
</ul>
</div>
<!-- ENDIF -->
+ <!-- IF searchresults.S_HAS_POLL -->{POLL_IMG} <!-- ENDIF -->
{L_POST_BY_AUTHOR} {searchresults.TOPIC_AUTHOR_FULL} &raquo; {searchresults.FIRST_POST_TIME} &raquo; {L_IN} <a href="{searchresults.U_VIEW_FORUM}">{searchresults.FORUM_TITLE}</a>
<!-- EVENT topiclist_row_append -->
@@ -97,6 +99,7 @@
</dd>
</dl>
</li>
+ <!-- EVENT search_results_topic_after -->
<!-- END searchresults -->
</ul>
diff --git a/phpBB/styles/prosilver/template/viewforum_body.html b/phpBB/styles/prosilver/template/viewforum_body.html
index 6646f40f01..7a0ebaafcf 100644
--- a/phpBB/styles/prosilver/template/viewforum_body.html
+++ b/phpBB/styles/prosilver/template/viewforum_body.html
@@ -163,6 +163,7 @@
</div>
<!-- ENDIF -->
<div class="responsive-hide">
+ <!-- IF topicrow.S_HAS_POLL -->{POLL_IMG} <!-- ENDIF -->
<!-- IF topicrow.ATTACH_ICON_IMG -->{topicrow.ATTACH_ICON_IMG} <!-- ENDIF -->
{L_POST_BY_AUTHOR} {topicrow.TOPIC_AUTHOR_FULL} &raquo; {topicrow.FIRST_POST_TIME}
<!-- IF topicrow.S_POST_GLOBAL and FORUM_ID != topicrow.FORUM_ID --> &raquo; {L_IN} <a href="{topicrow.U_VIEW_FORUM}">{topicrow.FORUM_NAME}</a><!-- ENDIF -->
diff --git a/phpBB/styles/prosilver/theme/images/icon_topic_poll.gif b/phpBB/styles/prosilver/theme/images/icon_topic_poll.gif
new file mode 100644
index 0000000000..1c80ec87c1
--- /dev/null
+++ b/phpBB/styles/prosilver/theme/images/icon_topic_poll.gif
Binary files differ
diff --git a/phpBB/styles/prosilver/theme/imageset.css b/phpBB/styles/prosilver/theme/imageset.css
index 6bc345889e..8e3348a99d 100644
--- a/phpBB/styles/prosilver/theme/imageset.css
+++ b/phpBB/styles/prosilver/theme/imageset.css
@@ -350,6 +350,11 @@ span.imageset {
padding-left: 16px;
padding-top: 14px;
}
+.imageset.icon_topic_poll {
+ background-image: url("./images/icon_topic_poll.gif");
+ padding-left: 11px;
+ padding-top: 10px;
+}
.imageset.icon_user_warn {
background-image: url("./images/icon_user_warn.gif");
padding-left: 20px;
diff --git a/phpBB/styles/subsilver2/template/search_results.html b/phpBB/styles/subsilver2/template/search_results.html
index ff34055b29..319e37d710 100644
--- a/phpBB/styles/subsilver2/template/search_results.html
+++ b/phpBB/styles/subsilver2/template/search_results.html
@@ -26,6 +26,7 @@
<th nowrap="nowrap">&nbsp;{L_LAST_POST}&nbsp;</th>
</tr>
<!-- BEGIN searchresults -->
+ <!-- EVENT search_results_topic_before -->
<tr valign="middle">
<td class="row1" width="25" align="center">{searchresults.TOPIC_FOLDER_IMG}</td>
<td class="row1" width="25" align="center">
@@ -71,6 +72,7 @@
</p>
</td>
</tr>
+ <!-- EVENT search_results_topic_after -->
<!-- BEGINELSE -->
<tr valign="middle">
<td colspan="7" class="row3" align="center">{L_NO_SEARCH_RESULTS}</td>
diff --git a/phpBB/viewforum.php b/phpBB/viewforum.php
index 8da8a0cdcc..f1b0b4df5b 100644
--- a/phpBB/viewforum.php
+++ b/phpBB/viewforum.php
@@ -336,6 +336,7 @@ $template->assign_vars(array(
'REPORTED_IMG' => $user->img('icon_topic_reported', 'TOPIC_REPORTED'),
'UNAPPROVED_IMG' => $user->img('icon_topic_unapproved', 'TOPIC_UNAPPROVED'),
'DELETED_IMG' => $user->img('icon_topic_deleted', 'TOPIC_DELETED'),
+ 'POLL_IMG' => $user->img('icon_topic_poll', 'TOPIC_POLL'),
'GOTO_PAGE_IMG' => $user->img('icon_post_target', 'GOTO_PAGE'),
'L_NO_TOPICS' => ($forum_data['forum_status'] == ITEM_LOCKED) ? $user->lang['POST_FORUM_LOCKED'] : $user->lang['NO_TOPICS'],