/** * Izveido lapas objektu * * @param string $params Objekta parametri. Lapas HTML var ievietot atslēgas vārdus formātā [[OBJ=...|PARAM1=...|PARAM2=...|PARAM..N=...]] * @return Object Lapas bloka objekts atbilstoši tipam */ public static function build_block($params) { $type = BlockFactory::getObjType($params); $class = BlockFactory::getClassName($type); $params = trim(str_replace("OBJ=" . $type, "", $params), "|"); // Izņemam OBJ parametru return new $class($params); }
private function parseHTML() { $this->parsed_html = $this->page_html; $out_arr = null; preg_match_all('/\\[\\[(.*?)\\]\\]/', $this->page_html, $out_arr); for ($i = 0; $i < count($out_arr[1]); $i++) { // first remove all spaces $code = str_replace(' ', '', $out_arr[1][$i]); $block = BlockFactory::build_block($code); $this->parsed_html = str_replace($out_arr[0][$i], $block->getHtml(), $this->parsed_html); $this->parsed_js .= $this->validateJavaScript($block->getJS(), $code); $this->parsed_css .= $block->getCSS(); $this->checkIncludesUniq($block->js_includes_arr); } }
/** * Atgriež AJAX pieprasījuma rezultātu JSON formātā * * @param Request $request POST pieprasījuma objekts * @return Response Rezultāts JSON formātā */ public function getData(Request $request) { $param = $request->input("param"); $block = BlockFactory::build_block($param); return response()->json(['success' => 1, 'html' => $block->getHtml(), 'data' => $block->getJSONData()]); }