diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2015-05-09 20:48:14 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2015-05-09 20:48:14 +0200 |
commit | 66279e1a57b7d715f651c118637fdf257e2bf846 (patch) | |
tree | a460786ff3bb6b127055b7116a6791d791d5313d /phpBB/phpbb/controller | |
parent | Merge pull request #3562 from VSEphpbb/ticket/11521 (diff) | |
download | phpbb-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.php | 23 |
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); } /** |