[ticket/9550] Add the core.viewtopic_post_rowset_data event to viewtopic.php

To allow extra fields added to the query retrieving post data to be used for
setting template variables, they need to be added to the post rowset. This
commit adds the core.viewtopic_post_rowset_data event that enables extension
developers to modify the post rowset when the database row is still available.

PHPBB3-9550
This commit is contained in:
rechosen 2013-09-06 15:04:52 +02:00
parent dd86e8d0ae
commit 3dfad1f01e

View file

@ -1012,7 +1012,7 @@ while ($row = $db->sql_fetchrow($result))
} }
} }
$rowset[$row['post_id']] = array( $rowset_data = array(
'hide_post' => (($row['foe'] || $row['post_visibility'] == ITEM_DELETED) && ($view != 'show' || $post_id != $row['post_id'])) ? true : false, 'hide_post' => (($row['foe'] || $row['post_visibility'] == ITEM_DELETED) && ($view != 'show' || $post_id != $row['post_id'])) ? true : false,
'post_id' => $row['post_id'], 'post_id' => $row['post_id'],
@ -1047,6 +1047,19 @@ while ($row = $db->sql_fetchrow($result))
'foe' => $row['foe'], 'foe' => $row['foe'],
); );
/**
* Modify the post rowset containing data to be displayed with posts
*
* @event core.viewtopic_post_rowset_data
* @var array rowset_data Array with the rowset data for this post
* @var array row Array with original user and post data
* @since 3.1-A1
*/
$vars = array('rowset_data', 'row');
extract($phpbb_dispatcher->trigger_event('core.viewtopic_post_rowset_data', compact($vars)));
$rowset[$row['post_id']] = $rowset_data;
// Define the global bbcode bitfield, will be used to load bbcodes // Define the global bbcode bitfield, will be used to load bbcodes
$bbcode_bitfield = $bbcode_bitfield | base64_decode($row['bbcode_bitfield']); $bbcode_bitfield = $bbcode_bitfield | base64_decode($row['bbcode_bitfield']);