public function upd() { // Указываем для какого объекта строить форму if (system::action() == "upd") { // Если это редактирование if (!($obj = ormObjects::get(system::url(2)))) { system::redirect('/subscription'); } $parent_id = $obj->parent_id; $right = 'user_proc_upd'; } else { if (system::action() == "add") { // Если это добавление нового объекта $parent_id = system::url(2); $right = 'user_proc_add'; $obj = new ormObject(); $obj->setClass('subscribe_user'); $obj->setParent($parent_id); } } // Если произошли ошибки, перенаправляем на главную страницу модуля if ($obj->issetErrors()) { system::redirect('/subscription'); } // Устанавливаем кнопки для формы ui::setCancelButton('/subscription/user/' . $parent_id); ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');"); // Создаем форму и выводим ее на страницу $form = new ormEditForm($obj, $right); if (($user = ormObjects::get($obj->user_id)) && user::issetRight('user_upd', 'users')) { $un = $user->surname . ' ' . $user->name . ' (' . $user->login . ')'; $form->replaceField('user_id', '<a href="' . system::au() . '/users/user_upd/' . $user->id . '">' . $un . '</a>'); } else { $form->replaceField('user_id', '', true); } return $form->getHTML(); }
public function upd() { // Указываем для какого объекта строить форму if (system::action() == "upd") { // Если это редактирование $obj = ormObjects::get(system::url(2)); // Заголовок страницы ui::setNaviBar(lang::right('group_upd')); ui::setHeader($obj->name); $right = 'group_proc_upd'; } else { if (system::action() == "add") { // Если это добавление нового объекта $obj = new ormObject(); $obj->setParent(0); $obj->setClass('user_group'); // Устанавливает параметры по умолчанию $obj->active = 1; $right = 'group_proc_add'; } } // Если произошли ошибки, перенаправляем на главную страницу модуля if (!$obj->isInheritor('user_group')) { system::redirect('/users'); } // Устанавливаем кнопки для формы ui::setCancelButton('/users/grouplist'); ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');"); // Создаем форму и выводим ее на страницу $form = new ormEditForm($obj, $right); $form->attachJavaScript('/css_mpanel/group_upd.js'); $form->addInBottomTabs('base', rights::getListForModuls(system::url(2), 0)); // Здесь можно переопределить стандартные параметры формы редактирования // ... return $form->getHTML(); }
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(); }
private static function createUserForSocial($user_info) { if (!empty($user_info['login']) && !empty($user_info['first_name'])) { $obj = new ormObject(); $obj->setParent(41); // Устанавливаем группу "Пользователи сайта" $obj->setClass('user'); $obj->active = 1; $obj->login = $user_info['login']; $obj->name = $user_info['first_name']; $obj->surname = $user_info['last_name']; $obj->social_identity = $user_info['identity']; $obj->social_type = $user_info['social_type']; $max_tickets = reg::getKey('/booking/max_tickets'); $obj->place_limit = $max_tickets == '' || $max_tickets == 0 ? 6 : $max_tickets; if (!empty($user_info['photo'])) { $obj->avatara = $user_info['photo']; } $obj->password = rand(100000, 999999); if (!empty($user_info['email'])) { $obj->email = $user_info['email']; } else { $md5 = substr(md5($user_info['login'] . $user_info['social'] . rand(10, 99)), 0, 15); $obj->email = $md5 . '@' . domains::curDomain()->getName(); } if ($obj->save()) { unset($_SESSION['SOCIAL_AUTH_USER_INFO']); } return $obj; } }
public function proc_upd() { // Обработчик для еденичного изменения класса $mini_action = substr(system::action(), -3); if (system::action() == "proc_upd") { // Говорим какой объект нужно изменить $obj = ormObjects::get(system::POST('obj_id')); $parent_id = $obj->parent_id; } else { if (system::action() == "proc_add") { // Говорим какой объект нужно создать $obj = new ormObject(); $obj->setClass('subscribe_msg'); $obj->setParent(system::POST('obj_id')); $parent_id = system::POST('obj_id'); } } // Если произошли ошибки, перенаправляем на главную страницу модуля if ($obj->issetErrors()) { system::redirect('/subscription'); } // Присваиваем пришедшие значения полям в объекте $obj->loadFromPost($mini_action); // Сохраняем изменения $obj_id = $obj->save(); // Если объект не сохранился, выводим пользователю текст ошибки. if ($obj_id === false) { system::savePostToSession(); ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $obj->getErrorListText()); ui::selectErrorFields($obj->getErrorFields()); $obj_id = empty($_POST['obj_id']) ? '' : $_POST['obj_id']; system::redirect('/subscription/msg_' . $mini_action . '/' . $obj_id); } // Если данные изменились корректно перенаправляем на соответствующию страницу if ($_POST['parram'] == 'apply') { system::redirect('/subscription/msg_upd/' . $obj_id); } else { system::redirect('/subscription/msg/' . $parent_id); } }
public function save() { if (basket::getCount() > 0) { $order_id = $this->obj->save(); if ($order_id) { // Заказ сохранен добавляем в него товары $goods_list = basket::getGoodsData(); while (list($id, $goods) = each($goods_list)) { $obj = new ormObject(); $obj->setClass('eshop_goods'); $obj->setParent($order_id); $obj->goods_id = $goods['goods_id']; $obj->count = $goods['count']; $obj->cost = $goods['cost']; $obj->save(); } // Если нужно, отправляем сообщение для текущего статуса $this->sendStateMsg(); basket::clear(); return $order_id; } else { //echo $this->obj->getErrorListText(); // Произошла ошибка } } else { if (!empty($this->obj)) { // Изменяем данные заказа $order_id = $this->obj->save(); if ($order_id) { // Если нужно, отправляем сообщение для текущего статуса $this->sendStateMsg(); return $order_id; } else { //echo $this->obj->getErrorListText(); // Произошла ошибка } } else { // Корзина путая, создать новый заказ не возможно } } return false; }
public function add_procAction() { $answer = array(); if (!reg::getKey('/users/reg')) { system::redirect('/'); } if (!user::isGuest()) { system::redirect('/users/edit'); } // Проверка капчи if (!system::validCapcha('random_image')) { $answer = array('msg' => lang::get('SITE_CAPHCA'), 'field' => 'captcha'); } // Проверка согласия с условиями оферты if (reg::getKey('/users/confirm') && !system::POST('confirm', isBool)) { $answer = array('msg' => lang::get('USERS_COMFIRM'), 'field' => 'confirm'); } // Добавляем объект if (empty($answer)) { $obj = new ormObject(); $obj->setParent(41); // Устанавливаем группу "Пользователи сайта" $obj->setClass('user'); $obj->tabuList('def_modul', 'active', 'last_visit', 'last_ip', 'groups'); $obj->loadFromPost(); $obj->active = 1; $obj->email = $obj->newVal('login'); $max_tickets = reg::getKey('/booking/max_tickets'); $obj->place_limit = $max_tickets == '' || $max_tickets == 0 ? 6 : $max_tickets; if ($obj->save()) { if (reg::getKey('/users/activation')) { // Регистрация с проверкой // Формируем временный ключ активации пользователя $key = md5(date('d.m.Y') . 'activate' . $obj->id); $obj->md5_flag = $key; $obj->active = 0; $obj->save(); // Отправляем письмо $url_pre = 'http://' . domains::curDomain()->getName() . languages::pre(); page::assign('url', $url_pre . '/users/activate/' . $key); page::assign('passw', system::POST('password')); page::assign('login', $obj->login); page::assign('name', $obj->name); system::sendMail('/users/mails/activate.tpl', $obj->email); $_SESSION['user_email'] = $obj->login; } else { // Регистрация без проверки // Отправляем письмо page::assign('passw', system::POST('password')); page::assign('login', $obj->login); page::assign('name', $obj->name); system::sendMail('/users/mails/registration.tpl', $obj->email); // Автоматическая авторизация user::authHim($obj); } // Все хорошо. Пользователь добавлен. if (system::isAjax()) { system::json(array('ok' => 1)); } else { system::redirect('/users/ok'); } } else { // Произошли ошибки if ($obj->issetErrors(32)) { $answer = array('msg' => lang::get('USERS_ISSET'), 'field' => 'login'); } else { $tmp = $obj->getErrorFields(); $answer = array('msg' => $obj->getErrorListText(' '), 'field' => $tmp['focus']); } } } if (!system::isAjax()) { system::savePostToSession(); system::saveErrorToSession('add_user', $answer); if (!empty($_POST['back_url'])) { system::redirect($_POST['back_url'], true); } else { system::redirect('/users/add'); } } else { system::json($answer); } }