public function proc_upd() { $mini_action = substr(system::action(), -3); $this->createTemplate('template_id'); $this->createTemplate('template2_id'); if (system::action() == "proc_upd") { // Говорим какой объект нужно изменить $obj = new ormPage(system::POST('obj_id')); } else { if (system::action() == "proc_add") { // Говорим какой объект нужно создать $obj = new ormPage(); $obj->setClass(system::POST('class_id')); $obj->setParent(system::POST('obj_id')); } } // Если произошли ошибки, перенаправляем на главную страницу модуля if ($obj->issetErrors()) { system::redirect('/structure/tree'); } // Присваиваем пришедшие значения полям в объекте $obj->loadFromPost($mini_action); rights::setListForObject($obj); // Сохраняем изменения $obj_id = $obj->save(); // Если объект не сохранился, выводим пользователю текст ошибки. if ($obj_id === false) { system::savePostToSession(); ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $obj->getErrorListText()); ui::selectErrorFields($obj->getErrorFields()); $class = $mini_action == 'add' ? '/' . system::POST('class_id') : ''; system::redirect('/structure/page_' . $mini_action . '/' . $_POST['obj_id'] . $class); } else { // Присваиваем выбранные шаблоны для всех вложенных объектов, если выбрано. if (system::POST('template_id_all', isBool)) { $this->inheritTemplate($_POST['template_id'], false, $obj_id); } if (system::POST('template2_id_all', isBool)) { $this->inheritTemplate($_POST['template2_id'], true, $obj_id); } } // Если данные изменились корректно перенаправляем на соответствующию страницу if ($_POST['parram'] == 'apply') { system::redirect('/structure/page_upd/' . $obj_id); } else { if (isset($_SESSION['STRUCTURE_LIST_FLAG']) && $_SESSION['STRUCTURE_LIST_FLAG']) { system::redirect('/structure/list/' . $obj->getParentId()); } else { system::redirect('/structure/tree'); } } }