aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2015-05-09 20:48:14 +0200
committerJoas Schilling <nickvergessen@gmx.de>2015-05-09 20:48:14 +0200
commit66279e1a57b7d715f651c118637fdf257e2bf846 (patch)
treea460786ff3bb6b127055b7116a6791d791d5313d /phpBB/phpbb/controller
parentMerge pull request #3562 from VSEphpbb/ticket/11521 (diff)
downloadphpbb-66279e1a57b7d715f651c118637fdf257e2bf846.tar.gz
phpbb-66279e1a57b7d715f651c118637fdf257e2bf846.tar.bz2
phpbb-66279e1a57b7d715f651c118637fdf257e2bf846.zip
[ticket/13827] Correctly return JSON instead of HTML when valled from AJAX
PHPBB3-13827
Diffstat (limited to 'phpBB/phpbb/controller')
-rw-r--r--phpBB/phpbb/controller/helper.php23
1 files changed, 20 insertions, 3 deletions
diff --git a/phpBB/phpbb/controller/helper.php b/phpBB/phpbb/controller/helper.php
index dc802751fb..8b86fb965d 100644
--- a/phpBB/phpbb/controller/helper.php
+++ b/phpBB/phpbb/controller/helper.php
@@ -212,12 +212,29 @@ class helper
public function message($message, array $parameters = array(), $title = 'INFORMATION', $code = 200)
{
array_unshift($parameters, $message);
+ $message_text = call_user_func_array(array($this->user, 'lang'), $parameters);
+ $message_title = $this->user->lang($title);
+
+ if ($this->request->is_ajax())
+ {
+ global $refresh_data;
+
+ $json_response = new \phpbb\json_response;
+ $json_response->send(array(
+ 'MESSAGE_TITLE' => $message_title,
+ 'MESSAGE_TEXT' => $message_text,
+ 'S_USER_WARNING' => false,
+ 'S_USER_NOTICE' => false,
+ 'REFRESH_DATA' => (!empty($refresh_data)) ? $refresh_data : null
+ ));
+ }
+
$this->template->assign_vars(array(
- 'MESSAGE_TEXT' => call_user_func_array(array($this->user, 'lang'), $parameters),
- 'MESSAGE_TITLE' => $this->user->lang($title),
+ 'MESSAGE_TEXT' => $message_text,
+ 'MESSAGE_TITLE' => $message_title,
));
- return $this->render('message_body.html', $this->user->lang($title), $code);
+ return $this->render('message_body.html', $message_title, $code);
}
/**