Exemple #1
0
 /**
  * @return HTML
  * @param int $form_id - ID формы обратной связи. Форма предварительно должна быть создана в настройках модуля "Обратная связь".
  * @param string $templ_name - Шаблон оформления
  * @desc МАКРОС: Автоватически генерирует форму обратной связи (добавления отзыва, вопрос-ответа и пр.)
  */
 public function autoForm($form_id, $templ_name = 'default')
 {
     if ($form_obj = ormObjects::get($form_id, 'feedback_form')) {
         $obj = new ormPage();
         $obj->setClass($form_obj->form_class);
         $form = new ormEditForm($obj, languages::pre() . '/feedback/send_message');
         $form->tabuList('pseudo_url', 'h1', 'keywords', 'title', 'description', 'active', 'is_home_page', 'view_in_menu', 'view_submenu', 'in_search', 'answer', 'in_index', 'in_new_window', 'other_link', 'img_act', 'img_no_act', 'img_h1');
         page::assign('form_id', $form_obj->id);
         if ($form_obj->captcha) {
             $form->showCaptcha();
         }
         // Парсим текст сообщения
         page::parseError('feedback');
         return $form->getHTML('feedback/' . $templ_name);
     }
 }
Exemple #2
0
 private function getLangsAndDomains($TEMPLATE)
 {
     $sub_menu = '';
     $langs = languages::getAll();
     $domains = domains::getAll();
     page::assign('ldObjectLinks', '');
     if (count($langs) > 1 || count($domains) > 1) {
         $isMultiDom = count($domains) > 1 ? true : false;
         $sub_items = $curLD = '';
         $mas = array();
         $num = 0;
         while (list($num2, $domain) = each($domains)) {
             reset($langs);
             while (list($num1, $lang) = each($langs)) {
                 if (user::issetRight($lang['l_id'] . ' ' . $domain['d_id'], 'structure')) {
                     if ($isMultiDom) {
                         $lanver = $domain['d_name'];
                         if ($lang['l_id'] != $domain['d_def_lang']) {
                             $lanver .= '/' . $lang['l_prefix'];
                         }
                     } else {
                         $lanver = $lang['l_name'];
                     }
                     $link = ADMIN_URL;
                     if ($domain['d_id'] != domains::curSiteDomain()->id()) {
                         $link .= '/' . str_replace('.', '_', $domain['d_name']);
                     }
                     if ($lang['l_id'] != $domain['d_def_lang']) {
                         $link = '/' . $lang['l_prefix'] . $link;
                     }
                     if (domains::curId() == $domain['d_id'] && languages::curId() == $lang['l_id']) {
                         $curLD = $link;
                     }
                     page::assign('name', $lanver);
                     page::assign('url', $link);
                     $sub_items .= page::parse($TEMPLATE['langver']);
                     $mas[] = array('id' => $link, 'name' => $lanver);
                     $num++;
                 }
             }
         }
         if (!empty($sub_items) && $num > 1) {
             if ($isMultiDom) {
                 $lanver = domains::curDomain()->getName() . languages::pre();
             } else {
                 $lanver = languages::curLang()->getName();
             }
             page::assign('eshe', $lanver);
             page::assign('sub_items', $sub_items);
             $sub_menu = page::parse($TEMPLATE['sub_menu']);
             ui::SelectBox('ldObjectLinks', $mas, $curLD, 474, '', 'onSelectldObjectLinks()');
         }
     }
     return $sub_menu;
 }
Exemple #3
0
 private static function sendMailBlock($user)
 {
     page::assign('domain', 'http://' . domains::curDomain()->getName() . languages::pre());
     page::assign('login', $user->login);
     page::assign('name', $user->name);
     system::sendMail('/users/mails/block.tpl', $user->email);
 }
Exemple #4
0
 /**
 * @return null
 * @param string $url -  URL на который необходимо сделать редирект
 * @param boolean $absolut -  Если true, считает что $url указан абсолютный.
 	Если false, $url обрабатывается с учетом состояния системы: учитывается текущий домен,
 	языковая версия, находимся ли мы в панели управления.
 * @desc Делает редирект и корректно завершает работу системы
 */
 static function redirect($url, $absolut = false)
 {
     if (!$absolut) {
         $url = self::$isAdmin ? self::au() . $url : languages::pre() . $url;
     }
     Header('Location: ' . $url);
     self::stop();
 }
Exemple #5
0
 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);
     }
 }
Exemple #6
0
 private static function getConfig($TEMPLATE)
 {
     $cModul = '';
     if (!empty(self::$newLink)) {
         // Настройки в виде списка
         while (list($num, $link) = each(self::$newLink)) {
             if (user::issetRight($link['link'])) {
                 $anchor = !empty($link['anchor']) ? '#' . $link['anchor'] : '';
                 page::assign('url', system::au() . '/' . system::url(0) . '/' . $link['link'] . $anchor);
                 page::assign('title', $link['title']);
                 $cModul .= page::parse($TEMPLATE['config_item']);
             }
         }
         if (!empty($cModul)) {
             page::assign('config_items', $cModul);
             page::assign('text.settings', lang::get('TEXT_SETTINGS'));
             $cModul = page::parse($TEMPLATE['config_frame']);
         }
     } else {
         if (user::issetRight('settings')) {
             // Обычные настройки
             page::assign('url_settings', system::au() . '/' . system::url(0) . '/settings');
             page::assign('text.settings', lang::get('TEXT_SETTINGS'));
             $cModul = page::parse($TEMPLATE['config_module']);
         }
     }
     page::assign('settings', $cModul);
     // Ссылка "Помощь"
     page::assign('text.help', lang::get('TEXT_HELP'));
     page::fParse('help_link', $TEMPLATE['help_link']);
     // Ссылка "На сайт"
     page::assign('url_site', domains::curDomain()->getName() . languages::pre());
     page::assign('text.to_site', lang::get('TEXT_TOSITE'));
     page::fParse('to_site', $TEMPLATE['to_site']);
     // Аккаунт пользователя и кнопка выход
     page::assign('username', user::get('name'));
     page::assign('user_url', user::issetRight('profile', 'core') ? system::au() . '/core/profile' : '#');
     page::assign('url_exit', system::au() . '/logout');
     page::assign('text.exit', lang::get('TEXT_URL_EXIT'));
     page::fParse('mpanel_config', $TEMPLATE['account']);
     // Формируем цепочку-заголовок
     page::assign("title", lang::module(system::url(0)));
     page::assign("link", system::au() . '/' . system::url(0));
     $cep = page::parse($TEMPLATE['navibar_link']);
     for ($i = 0; $i < count(self::$pageNavibar); $i++) {
         page::assign("title", substr(self::$pageNavibar[$i]['title'], 0, 100));
         page::assign("link", system::au() . self::$pageNavibar[$i]['link']);
         $t = empty(self::$pageNavibar[$i]['link']) ? '' : '_link';
         $cep .= page::parse($TEMPLATE['navibar' . $t]);
     }
     page::assign('navibar', $cep);
     page::fParse('navibar', $TEMPLATE['navibar_frame']);
 }