Exemplo n.º 1
0
 protected function set_default_fields($module)
 {
     try {
         $json = module::create($module);
         $_module = $_field = db::select('_cms_module')->retrieve(['mid'])->filter(['table_name=:table_name'], ['table_name' => $json->tablename])->execute()->fetchObject();
         if ($json && $_module) {
             $fields = $json->fieldset;
             $previous_key = false;
             foreach ($fields as $key => $row) {
                 $format = db::get_column_type_json($row);
                 if ($format) {
                     if (!db::column_exists($json->tablename, $key)) {
                         db::add_column($json->tablename, $key, $format, $previous_key ? ' AFTER `' . $previous_key . '`' : ' FIRST');
                     } else {
                         db::move_column($json->tablename, $key, $format, $previous_key ? ' AFTER `' . $previous_key . '`' : ' FIRST');
                     }
                 }
                 if (!$row->is_default) {
                     $_field = db::select('_cms_field')->retrieve(['fid'])->filter(['mid=:mid', 'field_name=:key'], ['mid' => $_module->mid, 'key' => $key])->execute();
                     if (!$_field->rowCount()) {
                         $this->create_field_base($_module, $key, $row);
                     }
                 }
                 $previous_key = $key;
             }
         }
     } catch (\Exception $e) {
     }
 }