[ticket/15657] Add MCP queue events

PHPBB3-15657
This commit is contained in:
Jakub Senko 2018-05-02 10:51:36 +02:00
parent 7c839470b7
commit 04574c75a3
No known key found for this signature in database
GPG key ID: 6A7C328CD66EC21E

View file

@ -501,6 +501,29 @@ class mcp_queue
AND t.topic_id = p.topic_id AND t.topic_id = p.topic_id
AND u.user_id = p.poster_id AND u.user_id = p.poster_id
ORDER BY ' . $sort_order_sql; ORDER BY ' . $sort_order_sql;
/**
* Alter sql query to get information on all posts in queue
*
* @event core.mcp_queue_get_posts_for_posts_query_before
* @var string sql String with the query to be executed
* @var array forum_list List of forums that contain the posts
* @var int visibility_const Integer with one of the possible ITEM_* constant values
* @var int topic_id topic_id in the page request
* @var string limit_time_sql String with the SQL code to limit the time interval of the post (Note: May be empty string)
* @var string sort_order_sql String with the ORDER BY SQL code used in this query
* @since 3.2.3
*/
$vars = array(
'sql',
'forum_list',
'visibility_const',
'topic_id',
'limit_time_sql',
'sort_order_sql',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_queue_get_posts_for_posts_query_before', compact($vars)));
$result = $db->sql_query($sql); $result = $db->sql_query($sql);
$post_data = $rowset = array(); $post_data = $rowset = array();
@ -588,7 +611,7 @@ class mcp_queue
$row['post_username'] = $row['username'] ?: $user->lang['GUEST']; $row['post_username'] = $row['username'] ?: $user->lang['GUEST'];
} }
$template->assign_block_vars('postrow', array( $post_row = array(
'U_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&t=' . $row['topic_id']), 'U_TOPIC' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&t=' . $row['topic_id']),
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']), 'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']),
'U_VIEWPOST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&p=' . $row['post_id']) . (($mode == 'unapproved_posts') ? '#p' . $row['post_id'] : ''), 'U_VIEWPOST' => append_sid("{$phpbb_root_path}viewtopic.$phpEx", 'f=' . $row['forum_id'] . '&p=' . $row['post_id']) . (($mode == 'unapproved_posts') ? '#p' . $row['post_id'] : ''),
@ -606,7 +629,25 @@ class mcp_queue
'TOPIC_TITLE' => $row['topic_title'], 'TOPIC_TITLE' => $row['topic_title'],
'POST_TIME' => $user->format_date($row['post_time']), 'POST_TIME' => $user->format_date($row['post_time']),
'S_HAS_ATTACHMENTS' => $auth->acl_get('u_download') && $auth->acl_get('f_download', $row['forum_id']) && $row['post_attachment'], 'S_HAS_ATTACHMENTS' => $auth->acl_get('u_download') && $auth->acl_get('f_download', $row['forum_id']) && $row['post_attachment'],
)); );
/**
* Alter sql query to get information on all topics in the list of forums provided.
*
* @event core.mcp_queue_get_posts_modify_post_row
* @var array post_row Template variables for current post
* @var array row Post data
* @var array forum_names Forum names
* @since 3.2.3
*/
$vars = array(
'post_row',
'row',
'forum_names',
);
extract($phpbb_dispatcher->trigger_event('core.mcp_queue_get_posts_modify_post_row', compact($vars)));
$template->assign_block_vars('postrow', $post_row);
} }
unset($rowset, $forum_names); unset($rowset, $forum_names);