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:
commit
0755ae423b
@ -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:
|
||||
|
@ -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&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);
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -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(
|
||||
|
@ -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" /> <!-- 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">
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user