Esempio n. 1
0
 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]);
     }
 }