/** * @return Сгенерированный HTML * @param ormField $obj - экземпляр ORM-поля, для которого необходимо сгенерировать HTML * @param Bool $isUpd - Если 1 генерировать для обновления, 0 - для добавления * @param String $templ_name - имя шаблона оформления * @desc Генерирует HTML для обновления поля через AJAX */ function getFieldHTML($obj, $isUpd, $templ_name = 'orm_fields_tree') { $ret = ''; if (file_exists(MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl')) { include MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl'; page::assign('item.id', $obj->id()); page::fParse('item.url', $this->rightEdit); page::assign('item.sname', $obj->getSName()); if ($obj->getName() != '') { page::assign('item.name', $obj->getName()); } else { page::assign('item.name', '- - - - -'); } if ($obj->getType() == 0) { page::assign('item.type', ''); } else { page::assign('item.type', lang::get('CONSTR_TYPE_LIST', $obj->getType())); } page::assign('star', $obj->getRequired() ? '*' : ''); page::assign('sh', $obj->getView() ? 'lshow' : 'lhide'); if ($obj->getType() != 0 && ($obj->getSystem() || $obj->isClone())) { $postfix = '_not_edit'; } else { page::assign('item.right', $this->getRightForField($TEMPLATE, $obj->id(), $obj->getType(), $obj->getSName())); $postfix = '_edit'; } if ($obj->getType() == 0) { if ($isUpd) { $ret = page::parse($TEMPLATE['upd_separator']); } else { $ret = page::parse($TEMPLATE['separator']); } } else { if ($isUpd) { $ret = page::parse($TEMPLATE['upd_field' . $postfix]); } else { $ret = page::parse($TEMPLATE['field' . $postfix]); } } } return $ret; }
public function upd() { if (file_exists(MODUL_DIR . '/constructor/template/field.tpl')) { include MODUL_DIR . '/constructor/template/field.tpl'; } if (system::action() == "upd") { // форма обновления информации $obj = new ormField(system::url(2)); if ($obj->id() == '') { system::stop(); } page::assign('obj.fname', $obj->getName()); page::assign('obj.fsname', $obj->getSName()); page::assign('obj.hint', $obj->getHint()); page::assign('obj.max_size', $obj->getMaxSize()); page::assign('obj.id', $obj->id()); $view = $obj->getView(); $inherit = $obj->getInherit(); $search = $obj->getSearch(); $filter = $obj->getFilter(); $required = $obj->getRequired(); $system = $obj->getSystem(); $type = $obj->getType(); $list_id = $obj->getListId(); $uniqum = $obj->getUniqum(); $quick_add = $obj->getQuickAdd(); $relation = $obj->getRelType(); $spec = $obj->getSpec(); $fr = $obj->getSName() == 'name' ? '_name' : ''; page::assign('right', 'field_proc_upd'); } else { if (system::action() == "add") { // форма добавления информации if (system::issetUrl(2)) { // Проверяем существует ли родитель? $group = new ormFieldsGroup(system::url(2)); if ($group->id() == '') { system::stop(); } } $view = $inherit = 1; $search = $filter = $required = $system = $type = $list_id = $uniqum = $spec = $quick_add = $relation = 0; $fr = ''; page::assign('obj.id', system::url(2)); page::assign('right', 'field_proc_add'); } } page::assignArray(lang::get('CONSTR_FORM_FIELD3')); page::assignSavingPost(); ui::CheckBox('view', 1, $view, lang::get('CONSTR_FORM_FIELD3', 6)); ui::CheckBox('inherit', 1, $inherit, lang::get('CONSTR_FORM_FIELD3', 7)); ui::CheckBox('search', 1, $search, lang::get('CONSTR_FORM_FIELD3', 8)); ui::CheckBox('filter', 1, $filter, lang::get('CONSTR_FORM_FIELD3', 9)); ui::CheckBox('required', 1, $required, lang::get('CONSTR_FORM_FIELD3', 10)); ui::CheckBox('system', 1, $system, lang::get('CONSTR_FORM_FIELD3', 11)); ui::CheckBox('uniqum', 1, $uniqum, lang::get('CONSTR_FORM_FIELD3', 13)); ui::CheckBox('quick_add', 1, $quick_add, lang::get('CONSTR_FORM_FIELD3', 14)); ui::CheckBox('spec', 1, $spec, lang::get('CONSTR_FORM_FIELD3', 16)); ui::SelectBox('reltype', lang::get('CONSTR_RELTYPE'), $relation, 300); ui::SelectBox('type', lang::get('CONSTR_TYPE_LIST' . $fr), $type, 300); $list = ormClasses::getHandbooks(); ui::SelectBox('list_id', $list, $list_id, 300, ' '); page::assign('sh', !empty($list_id) ? '' : 'style="display:none;"'); page::assign('sh2', $type > 69 && $type < 86 ? '' : 'style="display:none;"'); page::assign('sh3', $type == 90 || $type == 95 || $type == 100 ? '' : 'style="display:none;"'); page::assign('sh4', $type == 55 || $type == 60 ? '' : 'style="display:none;"'); echo page::parse($TEMPLATE['frame' . $fr], 1); system::stop(); }