Пример #1
0
 public function upd()
 {
     // Указываем для какого объекта строить форму
     if (system::action() == "upd") {
         // Если это редактирование
         $obj = ormObjects::get(system::url(2));
         // Заголовок страницы
         ui::setNaviBar(lang::get('TEXT_EDIT') . $obj->getClass()->getPadej(1));
         ui::setHeader($obj->login);
         $class_list = '';
         $group_id = system::issetUrl(3) ? system::url(3) : $obj->getParentId();
         $right = 'user_proc_upd';
     } else {
         if (system::action() == "add") {
             $class_name = system::issetUrl(3) ? system::url(3) : 'user';
             // Если это добавление нового объекта
             $group_id = system::url(2);
             $right = 'user_proc_add';
             $obj = new ormObject();
             $obj->setParent($group_id);
             $obj->setClass($class_name);
             $obj->active = 1;
             // Формируем список классов для быстрого изменения класса объекта
             $types = ormClasses::get('user')->getAllInheritors();
             $class_list = '';
             while (list($id, $name) = each($types)) {
                 if ($bc = ormClasses::get($id)) {
                     $url = system::au() . '/users/user_add/' . $group_id . '/' . $bc->getSName();
                     $class_list .= '<a href="' . $url . '" style="line-height:17px;">' . $bc->getName() . '</a><br />';
                 }
             }
             // Заголовок страницы
             if ($group = ormObjects::get($group_id)) {
                 ui::setNaviBar($group->name, '/users/userlist/' . $group_id);
                 ui::setHeader(lang::get('TEXT_ADD') . $obj->getClass()->getPadej(1));
             }
         }
     }
     // Если произошли ошибки, перенаправляем на главную страницу модуля
     if (!$obj->isInheritor('user')) {
         system::redirect('/users/userlist');
     }
     // Устанавливаем кнопки для формы
     if (empty($group_id)) {
         ui::setCancelButton('/users/grouplist');
     } else {
         ui::setCancelButton('/users/userlist/' . $group_id);
     }
     ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');");
     ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');");
     // Создаем форму и выводим ее на страницу
     $form = new ormEditForm($obj, $right);
     $form->setORMList($class_list);
     // Изменяем вид поля "Модуль по умолчанию"
     $modules = user::getModulesForObject($obj);
     $form->replaceField('def_modul', ui::SelectBox('def_modul', $modules, $obj->def_modul, 400));
     // Добавляем вкладку "Права доступа"
     $tab_content = '<div style="margin-left:20px;width: 950px;">' . lang::get('USERS_TEXT_RIGHT_HINT') . rights::getListForModuls($obj->id, 1) . '</div>';
     $form->attachJavaScript('/css_mpanel/users_upd.js');
     $form->newTabs(lang::get('USERS_TABS_RIGHT'), $tab_content);
     return $form->getHTML();
 }