mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-08 04:18:52 +00:00
[ticket/15324] Add more core and template events
PHPBB3-15324
This commit is contained in:
parent
1e605efaf1
commit
68c3a0307d
8 changed files with 112 additions and 7 deletions
|
@ -1483,6 +1483,20 @@ overall_header_stylesheets_after
|
||||||
* Purpose: Add asset calls after stylesheets within the `</head>` tag.
|
* Purpose: Add asset calls after stylesheets within the `</head>` tag.
|
||||||
Note that INCLUDECSS will not work with this event.
|
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
|
posting_editor_add_panel_tab
|
||||||
===
|
===
|
||||||
* Locations:
|
* 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)
|
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
|
// Some default template variables
|
||||||
$template->assign_vars(array(
|
$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)
|
foreach ($attachment_data as $count => $attach_row)
|
||||||
{
|
{
|
||||||
$hidden = '';
|
$hidden = '';
|
||||||
|
$attachrow_template_vars = array();
|
||||||
$attach_row['real_filename'] = utf8_basename($attach_row['real_filename']);
|
$attach_row['real_filename'] = utf8_basename($attach_row['real_filename']);
|
||||||
|
|
||||||
foreach ($attach_row as $key => $value)
|
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);
|
$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']),
|
'FILENAME' => utf8_basename($attach_row['real_filename']),
|
||||||
'A_FILENAME' => addslashes(utf8_basename($attach_row['real_filename'])),
|
'A_FILENAME' => addslashes(utf8_basename($attach_row['real_filename'])),
|
||||||
'FILE_COMMENT' => $attach_row['attach_comment'],
|
'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']),
|
'FILESIZE' => get_formatted_filesize($attach_row['filesize']),
|
||||||
|
|
||||||
'U_VIEW_ATTACHMENT' => $download_link,
|
'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);
|
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 array user_ids IDs of the deleted user
|
||||||
* @var mixed retain_username True if username should be retained
|
* @var mixed retain_username True if username should be retained
|
||||||
* or false if not
|
* or false if not
|
||||||
|
* @var array user_rows Array containing data of the deleted users
|
||||||
* @since 3.1.0-a1
|
* @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)));
|
extract($phpbb_dispatcher->trigger_event('core.delete_user_after', compact($vars)));
|
||||||
|
|
||||||
// Reset newest user info if appropriate
|
// 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)
|
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 $config, $auth, $user, $phpbb_root_path, $phpEx, $db, $request;
|
||||||
global $phpbb_container;
|
global $phpbb_container, $phpbb_dispatcher;
|
||||||
|
|
||||||
$error = array();
|
$error = array();
|
||||||
|
|
||||||
|
@ -1598,6 +1598,20 @@ class parse_message extends bbcode_firstpass
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
|
$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) {
|
$this->message = preg_replace_callback('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#', function ($match) {
|
||||||
return '[attachment='.($match[1] + 1).']' . $match[2] . '[/attachment]';
|
return '[attachment='.($match[1] + 1).']' . $match[2] . '[/attachment]';
|
||||||
}, $this->message);
|
}, $this->message);
|
||||||
|
@ -1719,6 +1733,20 @@ class parse_message extends bbcode_firstpass
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->attachment_data = array_merge(array(0 => $new_entry), $this->attachment_data);
|
$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) {
|
$this->message = preg_replace_callback('#\[attachment=([0-9]+)\](.*?)\[\/attachment\]#', function ($match) {
|
||||||
return '[attachment=' . ($match[1] + 1) . ']' . $match[2] . '[/attachment]';
|
return '[attachment=' . ($match[1] + 1) . ']' . $match[2] . '[/attachment]';
|
||||||
}, $this->message);
|
}, $this->message);
|
||||||
|
|
|
@ -1579,7 +1579,7 @@ switch ($mode)
|
||||||
$pagination->generate_template_pagination($pagination_url, 'pagination', 'start', $total_users, $config['topics_per_page'], $start);
|
$pagination->generate_template_pagination($pagination_url, 'pagination', 'start', $total_users, $config['topics_per_page'], $start);
|
||||||
|
|
||||||
// Generate page
|
// Generate page
|
||||||
$template->assign_vars(array(
|
$template_vars = array(
|
||||||
'TOTAL_USERS' => $user->lang('LIST_USERS', (int) $total_users),
|
'TOTAL_USERS' => $user->lang('LIST_USERS', (int) $total_users),
|
||||||
|
|
||||||
'PROFILE_IMG' => $user->img('icon_user_profile', $user->lang['PROFILE']),
|
'PROFILE_IMG' => $user->img('icon_user_profile', $user->lang['PROFILE']),
|
||||||
|
@ -1604,8 +1604,22 @@ switch ($mode)
|
||||||
'S_LEADERS_SET' => $leaders_set,
|
'S_LEADERS_SET' => $leaders_set,
|
||||||
'S_MODE_SELECT' => $s_sort_key,
|
'S_MODE_SELECT' => $s_sort_key,
|
||||||
'S_ORDER_SELECT' => $s_sort_dir,
|
'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
|
// Output the page
|
||||||
|
|
|
@ -547,6 +547,27 @@ if ($post_data['poll_start'])
|
||||||
$db->sql_freeresult($result);
|
$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')
|
if ($mode == 'edit')
|
||||||
{
|
{
|
||||||
$original_poll_data = array(
|
$original_poll_data = array(
|
||||||
|
|
|
@ -59,10 +59,12 @@
|
||||||
<tr class="attach-row" data-attach-id="{attach_row.ATTACH_ID}">
|
<tr class="attach-row" data-attach-id="{attach_row.ATTACH_ID}">
|
||||||
<td class="attach-name">
|
<td class="attach-name">
|
||||||
<span class="file-name ellipsis-text"><a href="{attach_row.U_VIEW_ATTACHMENT}">{attach_row.FILENAME}</a></span>
|
<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">
|
<span class="attach-controls">
|
||||||
<!-- IF S_INLINE_ATTACHMENT_OPTIONS --><input type="button" value="{L_PLACE_INLINE}" class="button2 file-inline-bbcode" /> <!-- ENDIF -->
|
<!-- 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" />
|
<input type="submit" name="delete_file[{attach_row.ASSOC_INDEX}]" value="{L_DELETE_FILE}" class="button2 file-delete" />
|
||||||
</span>
|
</span>
|
||||||
|
<!-- EVENT posting_attach_body_attach_row_controls_append -->
|
||||||
<span class="clear"></span>
|
<span class="clear"></span>
|
||||||
</td>
|
</td>
|
||||||
<td class="attach-comment">
|
<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
|
// 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
|
// 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
|
// any it updates the forum last read cookie. This requires that the user visit the forum
|
||||||
|
|
Loading…
Add table
Reference in a new issue