isAJAX()) { return; } if ($this->input->getpost($this->prefixAjaxInit(), TYPE_UINT)) { $this->setAjaxInit(true); } } /** * Проверка ajax инициализации блока * @return mixed */ public function isAjaxInit() { return $this->_ajaxInit; } /** * Установить ajax инициализацию блока * @param integer $ajax * @return $this */ public function setAjaxInit($ajax) { $this->_ajaxInit = $ajax; return $this; } /** * Добавить к массиву URL подключенных JS и CSS файлов * @param array $response * @return array */ public function appendIncludedStatic($response = []) { if (! $this->isAJAX()) { return $response; } tpl::start(); bff::hook('admin.css.extra'); bff::hook('admin.js.extra'); tpl::stop(); // js: $js = View::scriptsRender(array('hooks'=>false, 'html'=>false)); if ( ! empty($js)) { foreach ($js as $k => & $v){ if (empty($v['url'])) { unset($js[$k]); continue; } $v = $v['url']; } unset($v); } $response['js'] = array_values($js); // css: $response['css'] = []; $css = View::stylesRender(null); if ( ! empty($css)) { foreach ($css as $k => $v){ $response['css'][] = $v; } unset($v); } return $response; } /** * Формирования ajax ответа для инициализации блока * @param $html */ public function ajaxInitResponse(& $html) { if (! $this->isAJAX()) { return; } if (! $this->isAjaxInit()) { return; } $response = ['html' => $html]; $this->ajaxResponseForm($this->appendIncludedStatic($response)); } }