1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-03-25 01:51:21 +01:00

Merge pull request #4905 from rxu/ticket/15324

[ticket/15324] Add more core and template events
This commit is contained in:
Máté Bartus 2017-09-07 14:39:39 +02:00 committed by GitHub
commit 0755ae423b
8 changed files with 112 additions and 7 deletions

View File

@ -1483,6 +1483,20 @@ overall_header_stylesheets_after
* Purpose: Add asset calls after stylesheets within the `</head>` tag.
Note that INCLUDECSS will not work with this event.
posting_attach_body_attach_row_controls_append
===
* Locations:
+ styles/prosilver/template/posting_attach_body.html
* Since: 3.2.2-RC1
* Purpose: Add content after attachment control elements
posting_attach_body_attach_row_controls_prepend
===
* Locations:
+ styles/prosilver/template/posting_attach_body.html
* Since: 3.2.2-RC1
* Purpose: Add content before attachment control elements
posting_editor_add_panel_tab
===
* Locations:

View File

@ -712,7 +712,7 @@ function posting_gen_inline_attachments(&$attachment_data)
*/
function posting_gen_attachment_entry($attachment_data, &$filename_data, $show_attach_box = true)
{
global $template, $config, $phpbb_root_path, $phpEx, $user;
global $template, $config, $phpbb_root_path, $phpEx, $user, $phpbb_dispatcher;
// Some default template variables
$template->assign_vars(array(
@ -730,6 +730,7 @@ function posting_gen_attachment_entry($attachment_data, &$filename_data, $show_a
foreach ($attachment_data as $count => $attach_row)
{
$hidden = '';
$attachrow_template_vars = array();
$attach_row['real_filename'] = utf8_basename($attach_row['real_filename']);
foreach ($attach_row as $key => $value)
@ -739,7 +740,7 @@ function posting_gen_attachment_entry($attachment_data, &$filename_data, $show_a
$download_link = append_sid("{$phpbb_root_path}download/file.$phpEx", 'mode=view&amp;id=' . (int) $attach_row['attach_id'], true, ($attach_row['is_orphan']) ? $user->session_id : false);
$template->assign_block_vars('attach_row', array(
$attachrow_template_vars[(int) $attach_row['attach_id']] = array(
'FILENAME' => utf8_basename($attach_row['real_filename']),
'A_FILENAME' => addslashes(utf8_basename($attach_row['real_filename'])),
'FILE_COMMENT' => $attach_row['attach_comment'],
@ -749,9 +750,22 @@ function posting_gen_attachment_entry($attachment_data, &$filename_data, $show_a
'FILESIZE' => get_formatted_filesize($attach_row['filesize']),
'U_VIEW_ATTACHMENT' => $download_link,
'S_HIDDEN' => $hidden)
'S_HIDDEN' => $hidden,
);
}
/**
* Modify inline attachments template vars
*
* @event core.modify_inline_attachments_template_vars
* @var array attachment_data Array containing attachments data
* @var array attachrow_template_vars Array containing attachments template vars
* @since 3.2.2-RC1
*/
$vars = array('attachment_data', 'attachrow_template_vars');
extract($phpbb_dispatcher->trigger_event('core.modify_inline_attachments_template_vars', compact($vars)));
$template->assign_block_vars_array('attach_row', $attachrow_template_vars);
}
return sizeof($attachment_data);

View File

@ -734,9 +734,11 @@ function user_delete($mode, $user_ids, $retain_username = true)
* @var array user_ids IDs of the deleted user
* @var mixed retain_username True if username should be retained
* or false if not
* @var array user_rows Array containing data of the deleted users
* @since 3.1.0-a1
* @changed 3.2.2-RC1 Added user_rows
*/
$vars = array('mode', 'user_ids', 'retain_username');
$vars = array('mode', 'user_ids', 'retain_username', 'user_rows');
extract($phpbb_dispatcher->trigger_event('core.delete_user_after', compact($vars)));
// Reset newest user info if appropriate

View File

@ -1530,7 +1530,7 @@ class parse_message extends bbcode_firstpass
function parse_attachments($form_name, $mode, $forum_id, $submit, $preview, $refresh, $is_message = false)
{
global $config, $auth, $user, $phpbb_root_path, $phpEx, $db, $request;
global $phpbb_container;
global $phpbb_container, $phpbb_dispatcher;
$error = array();
@ -1598,6 +1598,20 @@ class parse_message extends bbcode_firstpass
);
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
/**
* Modify attachment data on submit
*
* @event core.modify_attachment_data_on_submit
* @var array attachment_data Array containing attachment data
* @since 3.2.2-RC1
*/
$attachment_data = $this->attachment_data;
$vars = array('attachment_data');
extract($phpbb_dispatcher->trigger_event('core.modify_attachment_data_on_submit', compact($vars)));
$this->attachment_data = $attachment_data;
unset($attachment_data);
$this->message = preg_replace_callback('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#', function ($match) {
return '[attachment='.($match[1] + 1).']' . $match[2] . '[/attachment]';
}, $this->message);
@ -1719,6 +1733,20 @@ class parse_message extends bbcode_firstpass
);
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
/**
* Modify attachment data on upload
*
* @event core.modify_attachment_data_on_upload
* @var array attachment_data Array containing attachment data
* @since 3.2.2-RC1
*/
$attachment_data = $this->attachment_data;
$vars = array('attachment_data');
extract($phpbb_dispatcher->trigger_event('core.modify_attachment_data_on_upload', compact($vars)));
$this->attachment_data = $attachment_data;
unset($attachment_data);
$this->message = preg_replace_callback('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#', function ($match) {
return '[attachment=' . ($match[1] + 1) . ']' . $match[2] . '[/attachment]';
}, $this->message);

View File

@ -1579,7 +1579,7 @@ switch ($mode)
$pagination->generate_template_pagination($pagination_url, 'pagination', 'start', $total_users, $config['topics_per_page'], $start);
// Generate page
$template->assign_vars(array(
$template_vars = array(
'TOTAL_USERS' => $user->lang('LIST_USERS', (int) $total_users),
'PROFILE_IMG' => $user->img('icon_user_profile', $user->lang['PROFILE']),
@ -1604,8 +1604,22 @@ switch ($mode)
'S_LEADERS_SET' => $leaders_set,
'S_MODE_SELECT' => $s_sort_key,
'S_ORDER_SELECT' => $s_sort_dir,
'S_MODE_ACTION' => $pagination_url)
'S_MODE_ACTION' => $pagination_url,
);
/**
* Modify memberlist page template vars
*
* @event core.memberlist_modify_template_vars
* @var array params Array containing URL parameters
* @var string sort_url Sorting URL base
* @var array template_vars Array containing template vars
* @since 3.2.2-RC1
*/
$vars = array('params', 'sort_url', 'template_vars');
extract($phpbb_dispatcher->trigger_event('core.memberlist_modify_template_vars', compact($vars)));
$template->assign_vars($template_vars);
}
// Output the page

View File

@ -547,6 +547,27 @@ if ($post_data['poll_start'])
$db->sql_freeresult($result);
}
/**
* This event allows you to modify the post data before parsing
*
* @event core.posting_modify_post_data
* @var int forum_id ID of the forum
* @var string mode What action to take if the form has been submitted
* post|reply|quote|edit|delete|bump|smilies|popup
* @var array post_data Array with post data
* @var int post_id ID of the post
* @var int topic_id ID of the topic
* @since 3.2.2-RC1
*/
$vars = array(
'forum_id',
'mode',
'post_data',
'post_id',
'topic_id',
);
extract($phpbb_dispatcher->trigger_event('core.posting_modify_post_data', compact($vars)));
if ($mode == 'edit')
{
$original_poll_data = array(

View File

@ -59,10 +59,12 @@
<tr class="attach-row" data-attach-id="{attach_row.ATTACH_ID}">
<td class="attach-name">
<span class="file-name ellipsis-text"><a href="{attach_row.U_VIEW_ATTACHMENT}">{attach_row.FILENAME}</a></span>
<!-- EVENT posting_attach_body_attach_row_controls_prepend -->
<span class="attach-controls">
<!-- IF S_INLINE_ATTACHMENT_OPTIONS --><input type="button" value="{L_PLACE_INLINE}" class="button2 file-inline-bbcode" />&nbsp; <!-- ENDIF -->
<input type="submit" name="delete_file[{attach_row.ASSOC_INDEX}]" value="{L_DELETE_FILE}" class="button2 file-delete" />
</span>
<!-- EVENT posting_attach_body_attach_row_controls_append -->
<span class="clear"></span>
</td>
<td class="attach-comment">

View File

@ -993,6 +993,16 @@ if (sizeof($topic_list))
}
}
/**
* This event is to perform additional actions on viewforum page
*
* @event core.viewforum_generate_page_after
* @var array forum_data Array with the forum data
* @since 3.2.2-RC1
*/
$vars = array('forum_data');
extract($phpbb_dispatcher->trigger_event('core.viewforum_generate_page_after', compact($vars)));
// This is rather a fudge but it's the best I can think of without requiring information
// on all topics (as we do in 2.0.x). It looks for unread or new topics, if it doesn't find
// any it updates the forum last read cookie. This requires that the user visit the forum