aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/functions.php
diff options
context:
space:
mode:
authorJakub Senko <jakubsenko@gmail.com>2019-06-24 11:05:45 +0200
committerJakub Senko <jakubsenko@gmail.com>2019-07-22 08:19:32 +0200
commit90dcd1a0f48b45a92d047c9c0353ace1360d6431 (patch)
treeb2cc50dfb0991465d9900d8c89113dd80285af25 /phpBB/includes/functions.php
parent9e9bdb69b5e00a4993b7ff9a6021044c9ec0c4dc (diff)
downloadforums-90dcd1a0f48b45a92d047c9c0353ace1360d6431.tar
forums-90dcd1a0f48b45a92d047c9c0353ace1360d6431.tar.gz
forums-90dcd1a0f48b45a92d047c9c0353ace1360d6431.tar.bz2
forums-90dcd1a0f48b45a92d047c9c0353ace1360d6431.tar.xz
forums-90dcd1a0f48b45a92d047c9c0353ace1360d6431.zip
[ticket/16089] Add core.confirm_box_ajax_before
PHPBB3-16089
Diffstat (limited to 'phpBB/includes/functions.php')
-rw-r--r--phpBB/includes/functions.php28
1 files changed, 24 insertions, 4 deletions
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php
index 5234c3472d..3acccb1e93 100644
--- a/phpBB/includes/functions.php
+++ b/phpBB/includes/functions.php
@@ -2158,7 +2158,7 @@ function check_form_key($form_name, $timespan = false)
function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_body.html', $u_action = '')
{
global $user, $template, $db, $request;
- global $config, $language, $phpbb_path_helper;
+ global $config, $language, $phpbb_path_helper, $phpbb_dispatcher;
if (isset($_POST['cancel']))
{
@@ -2255,8 +2255,7 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
if ($request->is_ajax())
{
$u_action .= '&confirm_uid=' . $user->data['user_id'] . '&sess=' . $user->session_id . '&sid=' . $user->session_id;
- $json_response = new \phpbb\json_response;
- $json_response->send(array(
+ $data = array(
'MESSAGE_BODY' => $template->assign_display('body'),
'MESSAGE_TITLE' => $confirm_title,
'MESSAGE_TEXT' => $confirm_text,
@@ -2264,7 +2263,28 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
'YES_VALUE' => $language->lang('YES'),
'S_CONFIRM_ACTION' => str_replace('&amp;', '&', $u_action), //inefficient, rewrite whole function
'S_HIDDEN_FIELDS' => $hidden . $s_hidden_fields
- ));
+ );
+
+ /**
+ * This event allows an extension to modify the ajax output of confirm box.
+ *
+ * @event core.confirm_box_ajax_before
+ * @var string u_action Action of the form
+ * @var array data Data to be sent
+ * @var string hidden Hidden fields generated by caller
+ * @var string s_hidden_fields Hidden fields generated by this function
+ * @since 3.2.8-RC1
+ */
+ $vars = array(
+ 'u_action',
+ 'data',
+ 'hidden',
+ 's_hidden_fields',
+ );
+ extract($phpbb_dispatcher->trigger_event('core.confirm_box_ajax_before', compact($vars)));
+
+ $json_response = new \phpbb\json_response;
+ $json_response->send($data);
}
if (defined('IN_ADMIN') && isset($user->data['session_admin']) && $user->data['session_admin'])