Exemple #1
0
 public function proc_upd()
 {
     if (system::action() == "proc_upd") {
         $obj = new ormField($_POST['obj_id']);
     } else {
         if (system::action() == "proc_add") {
             $obj = new ormField();
             $obj->setGroupId($_POST['obj_id']);
         }
     }
     $obj->setName(system::POST('fname'));
     $obj->setSName(system::POST('fsname'));
     $obj->setHint(system::POST('hint'));
     $obj->setType(system::POST('type'));
     $obj->setView(system::POST('view'));
     $obj->setSearch(system::POST('search'));
     $obj->setInherit(system::POST('inherit'));
     $obj->setFilter(system::POST('filter'));
     $obj->setRequired(system::POST('required'));
     $obj->setSystem(system::POST('system'));
     $obj->setUniqum(system::POST('uniqum'));
     $obj->setMaxSize(system::POST('max_size'));
     $obj->setQuickAdd(system::POST('quick_add'));
     $obj->setRelType(system::POST('reltype'));
     $obj->setSpec(system::POST('spec'));
     // Работа с привязанным справочником
     if (system::POST('type') == 95 || system::POST('type') == 90 || system::POST('type') == 97) {
         $list_id = system::POST('list_id');
         // Если не был указан справочник, то автоматически создаем новый
         if (empty($list_id)) {
             $class_name = 'list_' . system::POST('fsname', isVarName);
             if ($class = ormClasses::get($class_name)) {
                 $list_id = $class->id();
             } else {
                 $class = new ormClass();
                 $class->setParentId(29);
                 $class->setName('Для поля "' . system::POST('fname', isString) . '"');
                 $class->setSName($class_name);
                 $class->setSystem(0);
                 $class->setIsList(1);
                 $list_id = $class->save();
                 if ($list_id === false) {
                     $list_id = 0;
                 }
             }
         }
         $obj->setListId($list_id);
     } else {
         $obj->setListId(0);
     }
     $obj_id = $obj->save();
     if ($obj_id === false) {
         echo json_encode(array('error' => 1, 'data' => $obj->getErrorListText(' ')));
     } else {
         $tree = new ormFieldsTree();
         $forUpd = system::action() == "proc_add" ? 0 : 1;
         echo json_encode(array('error' => 0, 'data' => $tree->getFieldHTML($obj, $forUpd)));
     }
     system::stop();
 }
Exemple #2
0
 public function proc_upd()
 {
     if (system::action() == "proc_upd") {
         $class = new ormClass($_POST['obj_id']);
     } else {
         if (system::action() == "proc_add") {
             $class = new ormClass();
             $class->setParentId($_POST['obj_id']);
         }
     }
     $class->setName(system::POST('class_name'));
     $class->setSName(system::POST('sname'));
     $class->setSystem(system::POST('system'));
     $class->setIsList(system::POST('is_list'));
     if (isset($_POST['text'])) {
         $class->setPadej($_POST['text']);
     }
     if (isset($_POST['class_list'])) {
         $class->setBaseClass($_POST['class_list']);
     }
     $class_id = $class->save();
     if ($class_id === false) {
         $listError = '';
         $errors = $class->getErrorList();
         while (list($key, $text) = each($errors)) {
             $listError .= $text . '<br />';
         }
         system::savePostToSession();
         ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $listError);
         system::redirect('/constructor/class_' . substr(system::action(), -3) . '/' . $_POST['obj_id']);
     }
     if (isset($_POST['template_list1'])) {
         $class->setDefTemplate($_POST['template_list1'], 0);
     }
     if (isset($_POST['template_list2'])) {
         $class->setDefTemplate($_POST['template_list2'], 1);
     }
     if ($_POST['parram'] == 'apply') {
         system::redirect('/constructor/class_upd/' . $class_id);
     } else {
         system::redirect('/constructor/tree');
     }
 }