diff options
author | Nicofuma <github@nicofuma.fr> | 2015-05-17 20:01:18 +0200 |
---|---|---|
committer | Nicofuma <github@nicofuma.fr> | 2015-05-17 20:01:18 +0200 |
commit | 309a6b931340d56353ac7ec4cd29add35b33e889 (patch) | |
tree | 1298cfc4618306f298055754f1950e0ca3d06193 /phpBB/phpbb | |
parent | e52bc2d02283aab8fc0a588feec74ec8858c48f8 (diff) | |
parent | 502214bf066237ac96009e727ab34ed4f4ddbbec (diff) | |
download | forums-309a6b931340d56353ac7ec4cd29add35b33e889.tar forums-309a6b931340d56353ac7ec4cd29add35b33e889.tar.gz forums-309a6b931340d56353ac7ec4cd29add35b33e889.tar.bz2 forums-309a6b931340d56353ac7ec4cd29add35b33e889.tar.xz forums-309a6b931340d56353ac7ec4cd29add35b33e889.zip |
Merge pull request #3601 from nickvergessen/ticket/13827
[ticket/13827] Correctly return JSON instead of HTML when valled from AJAX
Diffstat (limited to 'phpBB/phpbb')
-rw-r--r-- | phpBB/phpbb/controller/helper.php | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/phpBB/phpbb/controller/helper.php b/phpBB/phpbb/controller/helper.php index dc802751fb..a07a396e73 100644 --- a/phpBB/phpbb/controller/helper.php +++ b/phpBB/phpbb/controller/helper.php @@ -13,6 +13,7 @@ namespace phpbb\controller; +use Symfony\Component\HttpFoundation\JsonResponse; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Generator\UrlGenerator; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; @@ -212,12 +213,31 @@ 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; + + return new JsonResponse( + 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 + ), + $code + ); + } + $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); } /** |