/** * Handle HTTP responses made with $_REQUEST['req'] = json (when <a ... data-cmd="gpajax">) * Sends JSON object to client * */ static function Response() { global $page; if (!is_array($page->ajaxReplace)) { die; } //admin toolbar self::AdminToolbar(); //gadgets may be using gpajax/json request/responses \gp\tool\Output::TemplateSettings(); \gp\tool\Output::PrepGadgetContent(); echo self::Callback(); echo '(['; //output content if (!empty($_REQUEST['gpx_content'])) { switch ($_REQUEST['gpx_content']) { case 'gpabox': self::JsonDo('admin_box_data', '', $page->contentBuffer); break; } } elseif (in_array('#gpx_content', $page->ajaxReplace)) { $replace_id = '#gpx_content'; if (isset($_GET['gpreqarea'])) { $replace_id = '#' . $_GET['gpreqarea']; } ob_start(); $page->GetGpxContent(true); $content = ob_get_clean(); self::JsonDo('replace', $replace_id, $content); } //other areas foreach ($page->ajaxReplace as $arguments) { if (is_array($arguments)) { $arguments += array(0 => '', 1 => '', 2 => ''); self::JsonDo($arguments[0], $arguments[1], $arguments[2]); } } //always send messages self::Messages(); echo ']);'; die; }