public function createField() { if (\Request::ajax()) { $data = Input::all(); if (isset($data)) { foreach ($data as $key => $item) { if (!is_array($item)) { $data[$key] = strip_tags(trim($item)); } } if (isset($data['parser'])) { $type = ParserController::getTypeParser($data['parser']); if ($data['hasModel']) { $create = ParserController::createParser($data['parser'], $data['column'], $data['table'], $data['hasModel']); } $this->column = $data['column']; $this->type = $type; if (!Schema::hasColumn($data['table'], $data['column'])) { if (isset($data['multi_lang']) && $data['multi_lang'] == 1) { $this->multi_lang = 1; } Schema::table($data['table'], function ($table) { $type = $this->type; if ($this->multi_lang == 1) { foreach ($this->langs as $one) { $table->{$type}($this->column . "_" . $one); } } else { $table->{$type}($this->column); } }); unset($data['_token']); unset($data['foregenkey']); if (isset($data['hasModel'])) { $conf_model = ['model' => $data['hasModel']]; $data['parser_conf'] = json_encode($conf_model); unset($data['hasModel']); } if (isset($data['parser_conf'])) { $data['parser_conf'] = json_encode($data['parser_conf']); } $id = DB::table('cms_parsers')->insertGetId($data); if ($id) { return Response::json(array('ok' => 1)); } } else { return Response::json(array('error' => 'two_column')); } } } } }
public function editParsers($id) { if ((int) $id) { $parser = DB::table("cms_parsers")->find($id); $configParser = json_decode($parser->parser_conf, true); $config = ParserController::getConf($parser->parser, $configParser); //dd($config); $confField = []; /* if($config) { foreach($config as $key=>$item) { if($configParser) { foreach($configParser as $k=>$v) { if($k == $key) { $confField[] = ParserController::showField($item['parser'], "parser_conf[".$k."]", $v, $item['name']); } } } } } */ $pp = ParserController::getParsers(); return view('admin.edit_parsers', ['confField' => $config, 'parsers' => $pp, 'parser' => $parser, 'id' => $id]); } }