Esempio n. 1
0
 public function addAction()
 {
     if (user::isGuest() && reg::getKey('/comments/only_reg')) {
         system::stop();
     }
     if (user::isGuest() && !system::validCapcha('random_image')) {
         system::json(array('error' => 1, 'data' => lang::get('FEEDBACK_ERROR1')));
     }
     // Добавляем новый комментарий
     $comment = new comment();
     $comment->setParentId(system::POST('parent_id'));
     $comment->setObjId(system::POST('obj_id'));
     $comment->setUserName(system::POST('username'));
     $comment->setEmail(system::POST('email'));
     $comment->setText(system::POST('text'));
     $comment->setSendEmail(system::POST('send_email'));
     $obj_id = $comment->save();
     if ($obj_id) {
         page::assign('current_url', system::POST('back_url'));
         $html = page::macros('comments')->view($comment->id());
         system::json(array('error' => 0, 'data' => $html));
     } else {
         system::json(array('error' => 2, 'data' => $comment->getErrorListText(' ')));
     }
     if (!empty($_POST['back_url']) && !system::isAjax()) {
         system::redirect($_POST['back_url'] . '#comment' . $obj_id, true);
     } else {
         system::stop();
     }
 }
Esempio n. 2
0
 public function subscribeAction()
 {
     $email = system::POST('email', isEmail);
     if (empty($email)) {
         $answer = array('error' => 1, 'msg' => lang::get('SUBSCRIPTION_EMPTY_EMAIL'));
     } else {
         if (empty($_POST['subscribes'])) {
             $answer = array('error' => 2, 'msg' => lang::get('SUBSCRIPTION_EMPTY_LIST'));
         } else {
             $sid = mailingProcess::addEmail($email, $_POST['subscribes'], true);
             if ($sid) {
                 $answer = array('error' => 0, 'msg' => lang::get('SUBSCRIPTION_MSG'));
             } else {
                 $answer = array('error' => 3, 'msg' => lang::get('SUBSCRIPTION_ERROR'));
             }
         }
     }
     if (!system::isAjax()) {
         if (!empty($answer['error'])) {
             system::saveErrorToSession('subscription', $answer);
             if (!empty($_POST['back_url'])) {
                 system::redirect($_POST['back_url'], true);
             }
         } else {
             system::redirect('/subscription/ok');
         }
     } else {
         system::json($answer);
     }
 }
Esempio n. 3
0
 public function proc()
 {
     //reg::setKey('/users/errorCountCapcha', system::POST('errorCountCapcha'));
     reg::setKey('/users/errorCountBlock', system::POST('errorCountBlock'));
     reg::setKey('/users/reg', system::POST('reg', isBool));
     reg::setKey('/users/activation', system::POST('activation', isBool));
     reg::setKey('/users/confirm', system::POST('confirm', isBool));
     reg::setKey('/users/ask_email', system::POST('ask_email', isBool));
     //авторизация чере соц. сети
     reg::setKey('/users/twitter_bool', system::POST('twitter_bool'), isBool);
     reg::setKey('/users/twitter_id', system::POST('twitter_id'), isString);
     reg::setKey('/users/twitter_secret', system::POST('twitter_secret'), isString);
     reg::setKey('/users/vk_bool', system::POST('vk_bool'), isBool);
     reg::setKey('/users/vk_id', system::POST('vk_id'), isString);
     reg::setKey('/users/vk_secret', system::POST('vk_secret'), isString);
     reg::setKey('/users/ok_bool', system::POST('ok_bool'), isBool);
     reg::setKey('/users/ok_id', system::POST('ok_id'), isString);
     reg::setKey('/users/ok_public', system::POST('ok_public'), isString);
     reg::setKey('/users/ok_secret', system::POST('ok_secret'), isString);
     reg::setKey('/users/facebook_bool', system::POST('facebook_bool'), isBool);
     reg::setKey('/users/facebook_id', system::POST('facebook_id'), isString);
     reg::setKey('/users/facebook_secret', system::POST('facebook_secret'), isString);
     reg::setKey('/users/yandex_bool', system::POST('yandex_bool'), isBool);
     reg::setKey('/users/google_bool', system::POST('google_bool'), isBool);
     ui::MessageBox(lang::get('CONFIG_SAVE_OK'), lang::get('CONFIG_SAVE_OK_MSG'));
     reg::clearCache();
     system::log(lang::get('CONFIG_LOG_SAVE'), warning);
     system::redirect('/users/settings');
 }
Esempio n. 4
0
 public function proc_upd()
 {
     $obj = ormPages::get(system::POST('obj_id'));
     $obj->tabuList('pseudo_url', 'h1', 'keywords', 'title', 'description', 'active', 'is_home_page', 'view_in_menu', 'view_submenu', 'in_search', 'in_index', 'in_new_window', 'other_link', 'img_act', 'img_no_act', 'img_h1');
     $obj->loadFromPost();
     // Публикация на сайте
     if (system::POST('publ', isBool)) {
         if ($obj->isInheritor('faq') && $obj->newVal('answer') == '') {
             ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), lang::get('FEEDBACK_MSG_3'));
             ui::selectErrorFields(array('select' => '', 'focus' => 'answer'));
         } else {
             $obj->active = 1;
         }
     }
     $obj_id = $obj->save();
     // Если объект не сохранился, выводим пользователю текст ошибки.
     if ($obj_id === false) {
         system::savePostToSession();
         ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $obj->getErrorListText());
         ui::selectErrorFields($obj->getErrorFields());
         system::redirect('/feedback/message_upd/' . $_POST['obj_id']);
     }
     if (system::POST('send_to_email', isBool) && !$obj->send_answer_to_user && ($form_obj = ormObjects::get($obj->form_id))) {
         if ($form_obj->send_answer) {
             if ($obj->answer != '') {
                 $fields = $obj->getClass()->loadFields();
                 while (list($num, $field) = each($fields)) {
                     if (!empty($field['f_sname'])) {
                         page::assign($field['f_sname'], $obj->__get($field['f_sname']));
                     }
                 }
                 page::assign('site_name', domains::curDomain()->getSiteName());
                 page::assign('base_email', domains::curDomain()->getEmail());
                 $mail = new phpmailer();
                 $mail->From = $this->parse($form_obj->answer_sender_address);
                 $mail->FromName = $this->parse($form_obj->answer_sender_name);
                 $mail->AddAddress($obj->email);
                 $mail->WordWrap = 50;
                 $mail->IsHTML(true);
                 $mail->Subject = $this->parse($form_obj->answer_subject);
                 $mail->Body = $this->parse($form_obj->answer_template);
                 $mail->Send();
                 // Помечаем, что ответ отправлен
                 $obj->send_answer_to_user = 1;
                 $obj->save();
                 ui::MessageBox(lang::get('FEEDBACK_MSG_1'), '');
             } else {
                 ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), lang::get('FEEDBACK_MSG_2'));
                 ui::selectErrorFields(array('select' => '', 'focus' => 'answer'));
             }
         }
     }
     // Если данные изменились корректно перенаправляем на соответствующию страницу
     if ($_POST['parram'] == 'apply') {
         system::redirect('/feedback/message_upd/' . $obj_id);
     } else {
         system::redirect('/feedback');
     }
 }
Esempio n. 5
0
 public function proc()
 {
     reg::setKey('/subscription/count_mails', system::POST('count_mails', isInt));
     reg::setKey('/subscription/count_mails_day', system::POST('count_mails_day', isInt));
     reg::clearCache();
     ui::MessageBox(lang::get('CONFIG_SAVE_OK'), lang::get('CONFIG_SAVE_OK_MSG'));
     system::redirect('/subscription/settings');
 }
Esempio n. 6
0
 public function proc()
 {
     reg::setKey('/comments/only_reg', system::POST('only_reg', isBool));
     reg::setKey('/comments/com_moderation', system::POST('com_moderation', isBool));
     reg::setKey('/comments/text_length', system::POST('text_length', isInt));
     ui::MessageBox(lang::get('CONFIG_SAVE_OK'), lang::get('CONFIG_SAVE_OK_MSG'));
     system::redirect('/comments/settings');
 }
Esempio n. 7
0
 public function proc_edit()
 {
     $text = system::checkVar(system::POST('minitext'), isText);
     $id = system::checkVar(system::POST('minitext_id'), isInt);
     $key = ormPages::getPrefix() . '/minitext/' . $id;
     if ($text && $id && reg::existKey($key)) {
         if (reg::setKey($key, $text)) {
             system::json(array('error' => 0));
             system::stop();
         }
     }
     system::json(array('error' => 1, 'errorInfo' => lang::get('STRUCTURE_MINITEXT_ERROR')));
     system::stop();
 }
Esempio n. 8
0
 public function proc()
 {
     reg::setKey('/eshop/only_reg', system::POST('only_reg', isBool));
     reg::setKey('/eshop/check_count', system::POST('check_count', isBool));
     reg::setKey('/eshop/dubl_to_email', system::POST('dubl_to_email', isBool));
     reg::setKey('/eshop/fisrt_state', system::POST('fisrt_state', isInt));
     $min_count = system::POST('min_count', isInt);
     if (empty($min_count)) {
         $min_count = '0';
     }
     reg::setKey('/eshop/min_count', $min_count);
     reg::clearCache();
     ui::MessageBox(lang::get('CONFIG_SAVE_OK'), lang::get('CONFIG_SAVE_OK_MSG'));
     system::redirect('/eshop/settings');
 }
Esempio n. 9
0
 public function doAction()
 {
     $answers = system::POST('answers');
     $error = 2;
     $msg = '';
     if (count($answers) > 0) {
         if ($vote = ormPages::get(system::POST('vote_id'), 'vote')) {
             if (!$vote->close) {
                 $sel = new ormSelect('answer');
                 $sel->fields('name, count');
                 $sel->where('parents', '=', $vote->id);
                 while ($answ = $sel->getObject()) {
                     if (in_array($answ->id, $answers)) {
                         $answ->count = $answ->count + 1;
                         $answ->save();
                         if (!$vote->multiselect) {
                             break;
                         }
                     }
                 }
                 cache::delete('vote' . $vote->id . '1');
                 cache::delete('vote' . $vote->id . '0');
                 $_SESSION['voting_' . $vote->id] = 1;
                 $error = 0;
             } else {
                 // Голосование закрыто
                 $msg = lang::get('VOTING_MSG_CLOSE');
                 $error = 1;
             }
         } else {
             $msg = lang::get('VOTING_MSG_NOT_FOUND');
         }
     } else {
         $msg = lang::get('VOTING_MSG_CHOSE_VAR');
     }
     if (system::isAjax()) {
         if ($error < 2 && $vote instanceof ormPage) {
             $data = page::macros('voting')->objView($vote->id);
         }
         system::json(array('error' => 0, 'html' => $data, 'msg' => $msg));
     } else {
         if (!empty($_POST['back_url'])) {
             system::redirect($_POST['back_url'], true);
         } else {
             system::redirect('/');
         }
     }
 }
Esempio n. 10
0
 public function order_procAction()
 {
     if (!user::isGuest() && isset($_SESSION['order_step'])) {
         switch ($_SESSION['order_step']) {
             case 1:
                 // Доставка
                 $_SESSION['order']['name'] = system::POST('delivery_name', isString);
                 $_SESSION['order']['surname'] = system::POST('delivery_surname', isString);
                 $_SESSION['order']['phone'] = system::POST('delivery_phone', isString);
                 $_SESSION['order']['address'] = system::POST('delivery_address', isString);
                 $_SESSION['order']['notice'] = system::POST('delivery_notice', isText);
                 $_SESSION['order']['delivery'] = system::POST('delivery', isInt);
                 if (empty($_SESSION['order']['delivery']) || empty($_SESSION['order']['name']) || empty($_SESSION['order']['surname']) || empty($_SESSION['order']['phone']) || empty($_SESSION['order']['address'])) {
                     // Ошибка: не все поля заполнены
                 } else {
                     // Все отлично, переходим к следующему шагу
                     $_SESSION['order_step'] = 2;
                 }
                 break;
             case 2:
                 // Подтвеждение заказа, сохраняем данные в БД
                 $order = new eShopOrder();
                 // Информация о доставке
                 $order->setDelivery($_SESSION['order']['delivery']);
                 $order->delivery_name = $_SESSION['order']['name'];
                 $order->delivery_surname = $_SESSION['order']['surname'];
                 $order->delivery_phone = $_SESSION['order']['phone'];
                 $order->delivery_address = $_SESSION['order']['address'];
                 $order->delivery_notice = $_SESSION['order']['notice'];
                 $order_id = $order->save();
                 if ($order_id) {
                     // Заказ сохранен
                     unset($_SESSION['order_step']);
                     unset($_SESSION['order']);
                     system::redirect('/eshop/ok/' . $order_id);
                 } else {
                     // Произошла ошибка
                 }
                 system::redirect('/eshop/order');
                 break;
         }
     }
     system::redirect('/eshop/order');
 }
Esempio n. 11
0
 function proc_upd()
 {
     if (!($obj = comments::get(system::POST('obj_id')))) {
         system::redirect('/comments/list');
     }
     $obj->setActive(system::POST('active'));
     $obj->setText(system::POST('c_text'));
     $obj->setParram(system::POST('c_parram'));
     $obj_id = $obj->save();
     // Если объект не сохранился, выводим пользователю текст ошибки.
     if ($obj_id === false) {
         ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $obj->getErrorListText());
         ui::selectErrorFields($obj->getErrorFields());
         system::redirect('/comments/comment_upd/' . system::POST('obj_id'));
     }
     // Если данные изменились корректно перенаправляем на соответствующию страницу
     if ($_POST['parram'] == 'apply') {
         system::redirect('/comments/comment_upd/' . $obj_id);
     } else {
         system::redirect('/comments/list');
     }
 }
Esempio n. 12
0
 function proc_upd()
 {
     $mini_action = substr(system::action(), -3);
     if (system::action() == "proc_upd") {
         // Говорим какой объект нужно изменить
         if (!($obj = ormObjects::get(system::POST('obj_id'), 'eshop_delivery_method'))) {
             system::redirect('/eshop/delivery');
         }
     } else {
         if (system::action() == "proc_add") {
             // Говорим какой объект нужно создать
             $obj = new ormObject();
             $obj->setClass('eshop_delivery_method');
         }
     }
     // Если произошли ошибки, перенаправляем на главную страницу модуля
     if ($obj->issetErrors()) {
         system::redirect('/eshop/delivery');
     }
     // Присваиваем пришедшие значения полям в объекте
     $obj->loadFromPost();
     // Сохраняем изменения
     $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' ? '' : $_POST['obj_id'];
         system::redirect('/eshop/delivery_' . $mini_action . '/' . $class);
     }
     // Если данные изменились корректно перенаправляем на соответствующию страницу
     if ($_POST['parram'] == 'apply') {
         system::redirect('/eshop/delivery_upd/' . $obj_id);
     } else {
         system::redirect('/eshop/delivery');
     }
 }
Esempio n. 13
0
 public function proc_upd()
 {
     if (system::action() == "proc_upd") {
         $obj = new ormFieldsGroup($_POST['obj_id']);
     } else {
         if (system::action() == "proc_add") {
             $obj = new ormFieldsGroup();
             $obj->setClassId($_POST['obj_id']);
         }
     }
     $obj->setName(system::POST('group_name'));
     $obj->setSName(system::POST('group_sname'));
     $obj->setView(system::POST('group_view'));
     $obj->setSystem(system::POST('group_system'));
     $obj_id = $obj->save();
     if ($obj_id === false) {
         echo json_encode(array('error' => 1, 'data' => $obj->getErrorListText(' ')));
     } else {
         $tree = new ormFieldsTree();
         $forUpd = system::action() == "proc_add" ? 0 : 1;
         echo json_encode(array('error' => 0, 'data' => $tree->getGroupHTML($obj, $forUpd)));
     }
     system::stop();
 }
Esempio n. 14
0
 public function proc_upd()
 {
     $mini_action = substr(system::action(), -3);
     if (system::action() == "proc_upd") {
         // Говорим какой объект нужно изменить
         $obj = ormObjects::get(system::POST('obj_id'));
     } else {
         if (system::action() == "proc_add") {
             // Говорим какой объект нужно создать
             $obj = new ormObject();
             $obj->setClass('user_group');
         }
     }
     // Если произошли ошибки, перенаправляем на главную страницу модуля
     if (!$obj->isInheritor('user_group')) {
         system::redirect('/users');
     }
     // Присваиваем пришедшие значения полям в объекте
     $obj->loadFromPost($mini_action);
     // Сохраняем изменения
     $obj_id = $obj->save();
     // Если объект не сохранился, выводим пользователю текст ошибки.
     if ($obj_id === false) {
         system::savePostToSession();
         ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $obj->getErrorListText());
         system::redirect('/users/group_' . $mini_action . '/' . $_POST['obj_id']);
     } else {
         rights::setListForModuls($obj_id, 0);
     }
     // Если данные изменились корректно перенаправляем на соответствующию страницу
     if ($_POST['parram'] == 'apply') {
         system::redirect('/users/group_upd/' . $obj_id);
     } else {
         system::redirect('/users');
     }
 }
Esempio n. 15
0
 public function proc()
 {
     if (system::isAjax() && system::issetUrl(2)) {
         if (system::url(2) == 'start') {
             searchIndex::clear();
             reg::setKey(ormPages::getPrefix('search') . '/index_date', date('d.m.Y'));
             $sel = new ormSelect();
             $sel->fields('name');
             $sel->findInPages();
             $sel->where('active', '=', 1);
             $sel->where('in_search', '=', 1);
             echo $sel->getCount();
         } else {
             if (system::url(2) == 'info') {
                 $data = reg::getKey(ormPages::getPrefix('search') . '/index_date');
                 if (empty($data)) {
                     $data = '-';
                 }
                 system::json(array('pages' => searchIndex::getCountPages(), 'words' => searchIndex::getCountWords(), 'data' => $data));
             } else {
                 $sel = new ormSelect();
                 $sel->findInPages();
                 $sel->where('active', '=', 1);
                 $sel->where('in_search', '=', 1);
                 $sel->limit(system::url(2), 1);
                 searchIndex::indexPage($sel->getObject());
                 echo 'ok';
             }
         }
         system::stop();
     }
     if (system::POST('parram') == 'clear') {
         searchIndex::clear();
     }
     system::redirect('/search/index');
 }
Esempio n. 16
0
    public function defAction()
    {
        // Устанавливаем статус системы "в режиме администрирования".
        system::$isAdmin = true;
        page::$macros = 0;
        // Попытка авторизации
        if (!empty($_POST['enter'])) {
            if (!user::auth($_POST['login'], $_POST['passw'])) {
                $this->showAuthForm(1);
            } else {
                header("Location: " . $_SERVER["HTTP_REFERER"]);
            }
        }
        // Если пользователь не админ, показываем форму авторизации
        if (!user::isAdmin()) {
            $this->showAuthForm();
        }
        // Определяем текущий домен
        domains::curDomain();
        // Выход из системы
        if (system::issetUrl(0) && system::url(0) == 'logout') {
            user::logout();
        }
        if (system::url(0) == 'showhide') {
            $_SESSION['SH_FIELDS'] = system::url(1) == 0 ? 'hide' : 'show';
            system::stop();
        }
        // Обработка запросов от поля ObjectLinks
        ui::checkObjectLinks();
        system::$defTemplate = MODUL_DIR . '/mpanel/template/default.tpl';
        // Определяем модуль
        if (!system::issetUrl(0)) {
            system::setUrl(0, user::getDefModul());
        }
        // Если есть ссылка на обработчик формы
        if (!empty($_POST['right'])) {
            system::setUrl(1, system::POST('right', isVarName));
        }
        // Определяем право
        if (system::issetUrl(1)) {
            // Проверяем существует ли указанное право
            if (user::issetRight(system::url(1))) {
                $currRight = system::url(1);
            } else {
                if (user::issetRight(str_replace('_proc', '', system::url(1)))) {
                    $currRight = system::url(1);
                }
            }
        } else {
            // Пытаемся найти право по умолчанию
            $def_right = user::getDefaultRight(system::url(0));
            if ($def_right) {
                $currRight = $def_right;
                system::setUrl(1, $def_right);
            }
        }
        $this->getMenu();
        page::assign('current_url', system::getCurrentUrl());
        page::assign('admin_url', system::au());
        if (!empty($currRight)) {
            // Определяем имя и метод контролера
            $pos = strpos($currRight, '_');
            if ($pos) {
                $class_name = '__' . substr($currRight, 0, $pos);
                $action_name = substr($currRight, $pos + 1, strlen($currRight) - $pos);
            } else {
                $class_name = '__' . $currRight;
                $action_name = 'defAction';
            }
            $mod_name = MODUL_DIR . '/' . system::url(0) . '/' . $class_name . '.php';
            // Пытаемся подгрузить модуль
            if (file_exists($mod_name)) {
                include $mod_name;
                if (file_exists(MODUL_DIR . '/' . system::url(0) . '/lang-ru.php')) {
                    include MODUL_DIR . '/' . system::url(0) . '/lang-ru.php';
                }
                ui::setHeader(lang::right($currRight));
                if (class_exists($class_name)) {
                    eval('$c = new ' . $class_name . '();');
                    if (ui::$stop) {
                        $content = '.';
                    } else {
                        if (method_exists($c, $action_name)) {
                            $content = call_user_func(array($c, $action_name));
                        }
                    }
                }
            }
            if (empty($content)) {
                $msg = lang::get('TEXT_PROC_NOTFOUND2') . '<br />' . system::getCurrentUrl() . '<br /><br />
	                        ' . lang::get('TEXT_PROC_NOTFOUND3') . '<br />' . $mod_name . '<br /><br />
	                        ' . lang::get('TEXT_PROC_NOTFOUND4');
                system::log(lang::get('TEXT_PROC_NOTFOUND') . ' ' . system::getCurrentUrl());
                ui::MessageBox(lang::get('TEXT_PROC_NOTFOUND'), $msg);
                system::redirect('/');
            }
        } else {
            system::log(lang::get('TEXT_ERROR_RIGHT_LOG') . system::getCurrentUrl());
            ui::MessageBox(lang::get('TEXT_ERROR_RIGHT'), lang::get('TEXT_ERROR_RIGHT2'));
            system::redirect('/');
        }
        //Производим сжатие страницы
        if (reg::getKey('/config/gzip')) {
            $PREFER_DEFLATE = false;
            $FORCE_COMPRESSION = false;
            $AE = isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : $_SERVER['HTTP_TE'];
            $support_gzip = strpos($AE, 'gzip') !== FALSE || $FORCE_COMPRESSION;
            $support_deflate = strpos($AE, 'deflate') !== FALSE || $FORCE_COMPRESSION;
            if ($support_gzip && $support_deflate) {
                $support_deflate = $PREFER_DEFLATE;
            }
            if ($support_deflate) {
                header("Content-Encoding: deflate");
                ob_start("compress_output_deflate");
            } else {
                if ($support_gzip) {
                    header("Content-Encoding: gzip");
                    ob_start("compress_output_gzip");
                } else {
                    ob_start();
                }
            }
        }
        return ui::getMainHTML($content);
    }
Esempio n. 17
0
 public function change_password_procAction()
 {
     if (user::isGuest()) {
         system::redirect('/users/add');
     }
     $cur_password = system::POST('current_password', isPassword);
     $new_passw = system::POST('password', isPassword);
     $new_passw2 = system::POST('password2', isPassword);
     if ($cur_password == user::get('password')) {
         if ($new_passw && $new_passw == $new_passw2) {
             if ($user = user::getObject()) {
                 $user->password = system::POST('password');
                 if ($user->save()) {
                     if (system::isAjax()) {
                         system::json(array('ok' => 1));
                     } else {
                         system::redirect('/users/change_password/ok');
                     }
                 }
             }
         }
     } else {
         $answer = array('msg' => lang::get('USERS_CHANGE_PSW_MSG'), 'field' => 'current_password');
         if (!system::isAjax()) {
             system::saveErrorToSession('change_password', $answer);
             system::redirect('/users/change_password');
         } else {
             system::json($answer);
         }
     }
     system::redirect('/users/change_password');
 }
Esempio n. 18
0
 // обработчик изменения объекта
 public function proc_upd()
 {
     if (isset($_POST['objchange'])) {
         // Обработчик мультиформы
         $form = new ormMultiForm('change');
         $class = ormClasses::get($form->getParam(0));
         if (!$class->isInheritor('handbook') || $class->getSName() == 'handbook') {
             system::redirect('/constructor');
         }
         $form->process();
         if ($_POST['parram'] == 'apply') {
             system::redirect('/constructor/list/' . $class->id());
         } else {
             system::redirect('/constructor');
         }
     } else {
         // Обработчик для еденичного изменения класса
         $mini_action = substr(system::action(), -3);
         if (system::action() == "proc_upd") {
             // Говорим какой объект нужно изменить
             $obj = ormObjects::get(system::POST('obj_id'));
         } else {
             if (system::action() == "proc_add") {
                 // Говорим какой объект нужно создать
                 $obj = new ormObject();
                 $obj->setClass(system::POST('class_id'));
             }
         }
         // Если произошли ошибки, перенаправляем на главную страницу модуля
         if ($obj->issetErrors()) {
             system::redirect('/constructor/list/' . system::POST('class_id'));
         }
         // Присваиваем пришедшие значения полям в объекте
         $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']) ? system::POST('class_id') : system::POST('obj_id');
             system::redirect('/constructor/list_' . $mini_action . '/' . $obj_id);
         }
         // Если данные изменились корректно перенаправляем на соответствующию страницу
         if ($_POST['parram'] == 'apply') {
             system::redirect('/constructor/list_upd/' . $obj_id);
         } else {
             system::redirect('/constructor/list/' . $obj->getClass()->id());
         }
     }
Esempio n. 19
0
 public function send_messageAction()
 {
     if ($form_obj = ormObjects::get(system::POST('form_id'))) {
         $issetErrors = false;
         $answer = array();
         // Проверка капчи
         if ($form_obj->captcha && !system::validCapcha('random_image')) {
             $issetErrors = true;
             $answer = array('field' => 'random_image', 'msg' => lang::get('FEEDBACK_ERROR1'));
         }
         // Если указанно куда, добавляем объект в БД
         if (($form_obj->any_sections || $form_obj->section) && !$issetErrors) {
             // Определяем раздел, в который будем добавлять отзыв
             if ($form_obj->any_sections) {
                 $section = system::POST('section_id', isInt);
             } else {
                 $section = $form_obj->section;
                 $section = !empty($section) ? $section[0] : 0;
             }
             // Создаем объект обратной связи
             $obj = new ormPage();
             $obj->setParent($section);
             $obj->setClass($form_obj->form_class);
             $obj->tabuList('pseudo_url', 'h1', 'keywords', 'title', 'description', 'answer', 'active', 'is_home_page', 'view_in_menu', 'view_submenu', 'in_search', 'in_index', 'in_new_window', 'other_link', 'img_act', 'img_no_act', 'img_h1');
             $obj->loadFromPost();
             $obj->active = 0;
             $obj->view_in_menu = 1;
             $obj->view_submenu = 1;
             $obj->in_search = 1;
             $obj->in_index = 1;
             $obj->is_home_page = 0;
             if ($obj->name != '') {
                 $obj->h1 = $obj->name;
                 $obj->title = $obj->name;
             }
             $obj->pseudo_url = rand(1000, 9999);
             $obj->template_id = ($sect = ormPages::get($form_obj->section)) ? $sect->template_id : 1;
             $obj->form_id = $form_obj->id;
             $obj->setRightForAll(2);
             $obj_id = $obj->save();
             if ($obj_id) {
                 $obj->pseudo_url = $obj_id;
                 $obj->save();
                 $obj = new ormPage($obj_id);
             } else {
                 $issetErrors = true;
                 $f = $obj->getErrorFields();
                 $answer = array('field' => $f['focus'], 'msg' => $obj->getErrorListText(' '));
             }
         }
         if (!$issetErrors) {
             // Отправка нужных писем
             page::assign('site_name', domains::curDomain()->getSiteName());
             page::assign('site_url', domains::curDomain()->getName());
             page::assign('base_email', domains::curDomain()->getEmail());
             while (list($key, $val) = each($_POST)) {
                 page::assign($key, system::checkVar($val, isText));
             }
             if (isset($obj)) {
                 $fields = $obj->getClass()->loadFields();
                 foreach ($fields as $field) {
                     if (in_array($field['f_type'], array(70, 75, 80, 85))) {
                         $fsname = $field['f_sname'];
                         $fvalue = $obj->{$fsname};
                         if ($fvalue != '') {
                             page::assign($fsname, $fvalue);
                         }
                     }
                 }
             }
             // Если указан список адресатов, отправляем письма
             if ($form_obj->mailing_list != '') {
                 $mail = new phpmailer();
                 $mail->From = $this->parse($form_obj->admin_sender_address);
                 $mail->FromName = $this->parse($form_obj->admin_sender_name);
                 /*
                                   if (!empty($this->files))
                 for($i = 0; $i < count($this->files); $i++)
                    $mail->AddAttachment($this->files[$i][0], $this->files[$i][1]);
                 */
                 $mail->AddAddress($form_obj->mailing_list);
                 $mail->WordWrap = 50;
                 $mail->IsHTML(true);
                 $mail->Subject = $this->parse($form_obj->admin_subject);
                 $mail->Body = $this->parse($form_obj->admin_template);
                 $mail->Send();
             }
             // Если нужно, отправляем уведомление пользователю
             if ($form_obj->send_notice && !$issetErrors) {
                 $mail = new phpmailer();
                 $mail->From = $this->parse($form_obj->notice_sender_address);
                 $mail->FromName = $this->parse($form_obj->notice_sender_name);
                 $mail->AddAddress(system::POST('email'));
                 $mail->WordWrap = 50;
                 $mail->IsHTML(true);
                 $mail->Subject = $this->parse($form_obj->notice_subject);
                 $mail->Body = $this->parse($form_obj->notice_template);
                 $mail->Send();
             }
             // Показываем результат
             if (system::isAjax()) {
                 if ($form_obj->msg != '') {
                     $text = $form_obj->msg;
                 } else {
                     $text = lang::get('FEEDBACK_MSG_1');
                 }
                 system::json(array('field' => 0, 'msg' => strip_tags($text)));
             } else {
                 system::redirect('/feedback/ok/' . $form_obj->id);
             }
         } else {
             // Произошли ошибки
             if (system::isAjax()) {
                 system::json($answer);
             } else {
                 system::savePostToSession();
                 system::saveErrorToSession('feedback', $answer);
                 if (empty($_POST['back_url'])) {
                     $_POST['back_url'] = '/structure/map';
                 }
                 system::redirect($_POST['back_url'], true);
             }
         }
         system::stop();
     } else {
         system::stop();
     }
 }
Esempio n. 20
0
 function getHTML($templ_name = 'table')
 {
     $templ_name = $templ_name . '_' . $this->style;
     if (file_exists(MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl')) {
         include MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl';
         // Устанавливаем настройки по умолчанию
         $this->prefix = md5(system::url(0) . system::url(1) . (system::url(2) != '' ? system::url(2) : ''));
         if (!isset($_SESSION['table_' . $this->prefix])) {
             $_SESSION['table_' . $this->prefix]['max_count'] = 20;
             $_SESSION['table_' . $this->prefix]['page_num'] = 1;
             $_SESSION['table_' . $this->prefix]['table_search'] = '';
             $_SESSION['table_' . $this->prefix]['page_num_temp'] = 1;
         }
         // Смотрим пришедшие данные из POST
         if (!isset($_POST['filter'])) {
             // Сортировка по столбцу
             if (isset($_POST['field']) && isset($_POST['parram'])) {
                 $_SESSION['table_' . $this->prefix]['order_field'] = system::POST('field');
                 $_SESSION['table_' . $this->prefix]['order_parram'] = system::POST('parram');
             }
             // Количество строк в таблице
             if (isset($_POST['max_count'])) {
                 $_SESSION['table_' . $this->prefix]['max_count'] = $_POST['max_count'];
                 $_SESSION['table_' . $this->prefix]['page_num'] = 1;
             }
             // Выбор нужной страницы
             if (isset($_POST['page_num'])) {
                 $_SESSION['table_' . $this->prefix]['page_num'] = $_POST['page_num'];
             }
             // Поиск по таблице
             if (isset($_POST['table_search'])) {
                 $_SESSION['table_' . $this->prefix]['page_num_temp'] = $_SESSION['table_' . $this->prefix]['page_num'];
                 $_SESSION['table_' . $this->prefix]['page_num'] = 1;
                 if ($_POST['table_search'] == '') {
                     $_SESSION['table_' . $this->prefix]['page_num'] = $_SESSION['table_' . $this->prefix]['page_num_temp'];
                 }
                 $_SESSION['table_' . $this->prefix]['table_search'] = $_POST['table_search'];
             }
             // Очистка результатов поиска
             if (isset($_POST['clear_search'])) {
                 $_SESSION['table_' . $this->prefix]['page_num'] = $_SESSION['table_' . $this->prefix]['page_num_temp'];
                 $_SESSION['table_' . $this->prefix]['table_search'] = '';
                 if ($this->isSelection) {
                     $this->filter->clear();
                 }
                 //$_SESSION['table_'.$this->prefix]['max_count'] = 3;
             }
             // Нажали ссылку "обычный поиск" (скрыть / показать фильтры)
             if ($this->isSelection && isset($_POST['showfilter'])) {
                 if ($_POST['showfilter'] == 0) {
                     $_SESSION['table_' . $this->prefix]['filters'] = '';
                 }
                 $_SESSION['table_' . $this->prefix]['showfilter'] = $_POST['showfilter'];
                 system::stop();
             }
         }
         // Сортировка по столбцу
         if ($this->isSelection && isset($_SESSION['table_' . $this->prefix]['order_field'])) {
             $this->select->orderBy($_SESSION['table_' . $this->prefix]['order_field'], $_SESSION['table_' . $this->prefix]['order_parram']);
         }
         $up_line = '';
         // Устанавливаем список полей для выборки
         if ($this->isSelection && !$this->select->fieldsIsDefined()) {
             /*
                             $class_name = $this->select->getObjectsClass();
                             if (!empty($class_name))
                             	$select = (ormClasses::get($class_name)->issetField('active')) ? 'active' : '';
                             else    */
             $select = 'active';
             while (list($key, $column) = each($this->columns)) {
                 $zpt = !empty($select) ? ', ' : '';
                 if (strpos($column['field'], ' ')) {
                     $vals = explode(' ', $column['field']);
                     while (list($k, $val) = each($vals)) {
                         $select .= $zpt . $val;
                     }
                 } else {
                     $select .= $zpt . $column['field'];
                 }
             }
             $this->select->fields($select);
         }
         // Вывод формы ПОИСКа и установка параметров
         if ($this->show_search) {
             if ($this->isSelection && !empty($_SESSION['table_' . $this->prefix]['table_search'])) {
                 $query = $_SESSION['table_' . $this->prefix]['table_search'];
                 $this->inSearch = true;
                 $where = array();
                 reset($this->columns);
                 while (list($key, $column) = each($this->columns)) {
                     if ($column['field'] != 'children' && $column['field'] != 'parent') {
                         if (strpos($column['field'], ' ')) {
                             $vals = explode(' ', $column['field']);
                             while (list($k, $val) = each($vals)) {
                                 $where[] = $this->select->val($val, 'LIKE', '%' . $query . '%');
                             }
                         } else {
                             $where[] = $this->select->val($column['field'], 'LIKE', '%' . $query . '%');
                         }
                     }
                 }
                 $this->select->where($this->select->logOr($where));
             }
             page::assign('table_search', $_SESSION['table_' . $this->prefix]['table_search']);
             $up_line .= page::parse($TEMPLATE['search']);
         }
         // +  +  +	Все что касается вывода ФИЛЬТРОВ  +	+	+	+	+	+	+	+
         if ($this->isSelection && !$this->disable_filters) {
             //$_SESSION['table_'.$this->prefix]['page_num'] = 1;
             if (!isset($_SESSION['table_' . $this->prefix]['showfilter'])) {
                 $_SESSION['table_' . $this->prefix]['showfilter'] = $this->filters;
             }
             // Определяем нужно или нет показывать список фильтров
             $show_filter = $this->filters;
             if ($_SESSION['table_' . $this->prefix]['showfilter']) {
                 $show_filter = true;
             }
             page::assign('mores', $show_filter ? 'mores' : '');
             $this->filter->setFilters();
             page::assign('filters', $this->filter->getHTML());
             // Кнопка "Показать / спрятать фильтры"
             if ($this->show_search && $this->filter->getCount() > 0) {
                 if ($show_filter) {
                     page::assign('moresearch', 1);
                     page::assign('sh_text', lang::get('TABLE_SEARCH_MIN'));
                 } else {
                     page::assign('moresearch', 0);
                     page::assign('sh_text', lang::get('TABLE_SEARCH_MAX'));
                 }
                 page::fParse('filters_link', $TEMPLATE['filters_link']);
             } else {
                 page::assign('filters_link', '');
             }
             page::fParse('filters', $TEMPLATE['filters']);
             if ($show_filter && $this->filter->getCount() > 0 && !$this->show_search) {
                 page::assign('filters_link', '');
                 $up_line .= page::parse($TEMPLATE['without_search']);
             }
         } else {
             page::assign('filters', '');
         }
         page::assign('up_line', $up_line);
         // Кнопка "версия для печати"
         if ($this->print) {
             $up_line .= page::parse($TEMPLATE['print_link']);
         }
         // Дополнительные параметры запросов
         $str_param = '';
         while (list($key, $param) = each($this->moreParam)) {
             $str_param .= '/' . $param;
         }
         page::assign('parram', $str_param);
         // Вывод сообщения "Таблица пустая"
         $count = $this->isSelection ? $this->select->getCount() : count($this->data);
         if ($count <= 0) {
             if ($this->inSearch || $this->isSelection && $this->filter->isActive()) {
                 $message = lang::get('TABLE_NOT_FOUND') . '<br /><span onClick="stopSearch()">' . lang::get('TABLE_NOT_FOUND2') . '</span>';
             } else {
                 $message = empty($this->empty_text) ? lang::get('TABLE_EMPTY') : $this->empty_text;
             }
             page::assign('message', $message);
             if (system::isAjax()) {
                 echo page::parse($TEMPLATE['empty_frame']);
                 system::stop();
             } else {
                 page::fParse('content', $TEMPLATE['empty_frame']);
                 return page::parse($TEMPLATE['main']);
             }
         }
         // Постраничная навигация
         $this->navigation(5, $TEMPLATE);
         // Вывод прав
         $this->rights($TEMPLATE);
         // Определяем модуль для права по умолчанию
         $pos = strpos($this->def_right, '.');
         if (!empty($pos)) {
             $module = substr($this->def_right, 0, $pos);
             $this->def_right = substr($this->def_right, $pos + 1, strlen($this->def_right));
         } else {
             $module = system::url(0);
         }
         if (user::issetRight($this->def_right, $module)) {
             $this->def_right = system::au() . '/' . $module . '/' . $this->def_right . '/';
         } else {
             $this->def_right = '';
         }
         $this->count = $this->isSelection ? $this->select->getObjectCount() : count($this->data);
         if ($this->count == 0 && $_SESSION['table_' . $this->prefix]['page_num'] != 1) {
             $_SESSION['table_' . $this->prefix]['page_num'] -= 1;
         }
         page::assign('table_parent_id', 0);
         // Вывод строчек
         if ($this->isSelection) {
             $this->selItems($TEMPLATE);
         } else {
             $this->masItems($TEMPLATE);
         }
         // Вывод столбцов
         $this->columns($TEMPLATE);
         // Текст сообщения об удалении элементов
         if (empty($this->del_title) || empty($this->del_text)) {
             $this->del_title = lang::get('TABLE_DROP_TITLE');
             $this->del_text = lang::get('TABLE_DROP_TEXT');
         }
         if (empty($this->del_title_multi) || empty($this->del_text_multi)) {
             $this->del_title_multi = lang::get('TABLE_DROP_TITLE_MULTI');
             $this->del_text_multi = lang::get('TABLE_DROP_TEXT_MULTI');
         }
         page::assign('del_title', $this->del_title);
         page::assign('del_text', $this->del_text);
         page::assign('del_title_multi', $this->del_title_multi);
         page::assign('del_text_multi', $this->del_text_multi);
         page::assign('select_checkbox', lang::get('TABLE_SEL_CHECKBOX'));
         // Версия для печати (НУЖНО ДОДЕЛАТЬ)
         if (system::getCurrentNavVal() == 'print') {
             echo page::parse($TEMPLATE['frame']);
             system::stop();
         }
         if (system::isAjax()) {
             echo page::parse($TEMPLATE['frame']);
             system::stop();
         } else {
             page::fParse('content', $TEMPLATE['frame']);
             return page::parse($TEMPLATE['main']);
         }
     }
 }
Esempio n. 21
0
 public function proc_upd()
 {
     $mini_action = substr(system::action(), -3);
     if (system::action() == "proc_upd") {
         // Говорим какой объект нужно изменить
         $obj = ormObjects::get(system::POST('obj_id'));
     } else {
         if (system::action() == "proc_add") {
             $class_name = 'user';
             $class = ormClasses::get($_POST['class_id']);
             if ($class instanceof ormClass && $class->isInheritor('user')) {
                 $class_name = $class->getSName();
             }
             // Говорим какой объект нужно создать
             $obj = new ormObject();
             $obj->setClass($class_name);
         }
     }
     // Если произошли ошибки, перенаправляем
     if ($obj->issetErrors()) {
         system::redirect('/users/userlist/' . $_POST['groups'][0]);
     }
     // Присваиваем полям в объекте пришедшие значения из POST
     $obj->loadFromPost($mini_action);
     if ($obj->newVal('active')) {
         $obj->error_passw = 0;
     }
     if ($obj->id == user::get('id')) {
         $obj->active = 1;
     }
     // Сохраняем изменения
     $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['groups'][0] : $_POST['obj_id'];
         system::redirect('/users/user_' . $mini_action . '/' . $obj_id);
     } else {
         rights::setListForModuls($obj_id, 1);
         cache::delete('user' . $obj_id);
     }
     // Если данные изменились корректно перенаправляем на соответствующию страницу
     if ($_POST['parram'] == 'apply') {
         system::redirect('/users/user_upd/' . $obj_id);
     } else {
         system::redirect('/users/userlist/' . $_POST['groups'][0]);
     }
 }
Esempio n. 22
0
 static function validCapcha($field_name)
 {
     $ret = system::POST($field_name) == $_SESSION['core_secret_number'];
     $_SESSION['core_secret_number'] = '';
     return $ret;
 }
Esempio n. 23
0
 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);
     }
 }
Esempio n. 24
0
 function proc_view()
 {
     // Говорим какой объект нужно изменить
     if (!($obj = ormObjects::get(system::POST('obj_id'), 'eshop_order'))) {
         system::redirect('/eshop/list');
     }
     $order = new eShopOrder($obj);
     $order->setState(system::POST('state', isInt));
     $order->is_payment = system::POST('is_payment', isBool);
     if (system::POST('is_payment', isBool)) {
         $order->payment_date = date('Y-m-d H:i:s');
     }
     $order->delivery_name = system::POST('delivery_name', isString);
     $order->delivery_surname = system::POST('delivery_surname', isString);
     $order->delivery_phone = system::POST('delivery_phone', isString);
     $order->delivery_address = system::POST('delivery_address', isText);
     $order->delivery_notice = system::POST('delivery_notice', isText);
     $order->notice = system::POST('notice', isText);
     $form = new ormMultiForm('goods');
     $form->withoutAdditions();
     $form->process();
     // Сохраняем изменения
     $obj_id = $order->save();
     // Если объект не сохранился, выводим пользователю текст ошибки.
     if ($obj_id === false) {
         //system::savePostToSession();
         ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $obj->getErrorListText());
         ui::selectErrorFields($obj->getErrorFields());
         system::redirect('/eshop/order_view/' . system::POST('obj_id'));
     }
     // Если данные изменились корректно перенаправляем на соответствующию страницу
     if ($_POST['parram'] == 'apply') {
         system::redirect('/eshop/order_view/' . $obj_id);
     } else {
         system::redirect('/eshop/list');
     }
 }
Esempio n. 25
0
 public function proc_upd()
 {
     if (system::action() == "proc_upd") {
         $class = new ormClass($_POST['obj_id']);
     } else {
         if (system::action() == "proc_add") {
             $class = new ormClass();
             $class->setParentId($_POST['obj_id']);
         }
     }
     $class->setName(system::POST('class_name'));
     $class->setSName(system::POST('sname'));
     $class->setSystem(system::POST('system'));
     $class->setIsList(system::POST('is_list'));
     if (isset($_POST['text'])) {
         $class->setPadej($_POST['text']);
     }
     if (isset($_POST['class_list'])) {
         $class->setBaseClass($_POST['class_list']);
     }
     $class_id = $class->save();
     if ($class_id === false) {
         $listError = '';
         $errors = $class->getErrorList();
         while (list($key, $text) = each($errors)) {
             $listError .= $text . '<br />';
         }
         system::savePostToSession();
         ui::MessageBox(lang::get('TEXT_MESSAGE_ERROR'), $listError);
         system::redirect('/constructor/class_' . substr(system::action(), -3) . '/' . $_POST['obj_id']);
     }
     if (isset($_POST['template_list1'])) {
         $class->setDefTemplate($_POST['template_list1'], 0);
     }
     if (isset($_POST['template_list2'])) {
         $class->setDefTemplate($_POST['template_list2'], 1);
     }
     if ($_POST['parram'] == 'apply') {
         system::redirect('/constructor/class_upd/' . $class_id);
     } else {
         system::redirect('/constructor/tree');
     }
 }
Esempio n. 26
0
 public function proc_addlist()
 {
     $count = 0;
     if (!empty($_POST['emails']) && !empty($_POST['subscribes'])) {
         preg_match_all("/[-0-9a-z_\\.]+@[-0-9a-z^\\.]+\\.[a-z]{2,4}/i", $_POST['emails'], $mas);
         while (list($num, $email) = each($mas[0])) {
             $id = mailingProcess::addEmail($email, $_POST['subscribes']);
             if ($id) {
                 $count++;
             }
         }
     }
     ui::MessageBox(lang::get('SUBSCRIBE_ADDED_EMAILS') . ruNumbers::decl($count, lang::get('SUBSCRIBE_AE')) . '.');
     system::redirect('/subscription/user/' . system::POST('parent_id', isInt));
 }
Esempio n. 27
0
 public function proc_upd()
 {
     $mini_action = substr(system::action(), -3);
     if (system::action() == "proc_upd") {
         // Говорим какой объект нужно изменить
         $obj = new ormObject(system::POST('obj_id'));
     } else {
         if (system::action() == "proc_add") {
             // Говорим какой объект нужно создать
             $obj = new ormObject();
             $obj->setClass('feedback_form');
         }
     }
     if ($obj->issetErrors()) {
         system::redirect('/feedback/settings');
     }
     $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());
         $class = $mini_action == 'add' ? '/' . system::POST('class_id') : '';
         system::redirect('/feedback/form_' . $mini_action . '/' . $_POST['obj_id']);
     }
     // Если данные изменились корректно перенаправляем на соответствующию страницу
     if ($_POST['parram'] == 'apply') {
         system::redirect('/feedback/form_upd/' . $obj_id);
     } else {
         system::redirect('/feedback/settings');
     }
 }
Esempio n. 28
0
 static function socialAuthConfirm()
 {
     if (user::isGuest() && isset($_SESSION['SOCIAL_AUTH_USER_INFO'])) {
         $confirm = system::POST('confirm', isBool);
         $email = system::POST('email', isEmail);
         $validate = true;
         if (empty($_SESSION['SOCIAL_AUTH_USER_INFO']['email'])) {
             if (reg::getKey('/users/ask_email') && empty($email)) {
                 $validate = false;
             } else {
                 if (!empty($email)) {
                     $_SESSION['SOCIAL_AUTH_USER_INFO']['email'] = $email;
                 }
             }
         }
         if (reg::getKey('/users/confirm') && !$confirm) {
             $validate = false;
         }
         if ($validate) {
             $user = self::createUserForSocial($_SESSION['SOCIAL_AUTH_USER_INFO']);
             if ($user && !$user->issetErrors()) {
                 user::authHim($user);
                 self::closeWindowAndOpen('/');
             } else {
                 echo $user->getErrorListText();
             }
             system::stop();
         }
     }
 }
Esempio n. 29
0
 private function checkFilterPost($fname, $field, $prefix)
 {
     if (system::POST('target') == $prefix) {
         if (isset($_POST[$fname])) {
             if (isset($_POST[$fname . '_FILTER_ABC'])) {
                 $value = array('val' => system::checkVar($_POST[$fname], isString), 'ABC' => true);
             } else {
                 if ($_POST[$fname] == '' || empty($_POST[$fname]) && ($field['f_type'] == 90 || $field['f_type'] == 95)) {
                     $value = '';
                 } else {
                     if ($field['f_type'] == 50 || $field['f_type'] > 69 && $field['f_type'] < 86) {
                         $value = system::checkVar($_POST[$fname], isInt);
                     } else {
                         if ($field['f_type'] == 90 || $field['f_type'] == 95) {
                             $value = system::checkVar($_POST[$fname], isInt);
                         } else {
                             $value = system::checkVar($_POST[$fname], isString);
                         }
                     }
                 }
             }
             $_SESSION['filters'][$prefix][$fname] = $value;
             if (isset($_POST[$fname . '2'])) {
                 if (empty($_POST[$fname . '2'])) {
                     $value2 = '';
                 } else {
                     if ($field['f_type'] > 24 && $field['f_type'] < 33) {
                         $value2 = system::checkVar($_POST[$fname . '2'], isString);
                     } else {
                         $value2 = system::checkVar($_POST[$fname . '2'], isInt);
                     }
                 }
                 $_SESSION['filters'][$prefix][$fname . '_2'] = $value2;
             }
         } else {
             $_SESSION['filters'][$prefix][$fname] = '';
         }
     }
 }
Esempio n. 30
0
 public function proc_upd()
 {
     if (system::action() == "proc_upd") {
         $obj = new ormField($_POST['obj_id']);
     } else {
         if (system::action() == "proc_add") {
             $obj = new ormField();
             $obj->setGroupId($_POST['obj_id']);
         }
     }
     $obj->setName(system::POST('fname'));
     $obj->setSName(system::POST('fsname'));
     $obj->setHint(system::POST('hint'));
     $obj->setType(system::POST('type'));
     $obj->setView(system::POST('view'));
     $obj->setSearch(system::POST('search'));
     $obj->setInherit(system::POST('inherit'));
     $obj->setFilter(system::POST('filter'));
     $obj->setRequired(system::POST('required'));
     $obj->setSystem(system::POST('system'));
     $obj->setUniqum(system::POST('uniqum'));
     $obj->setMaxSize(system::POST('max_size'));
     $obj->setQuickAdd(system::POST('quick_add'));
     $obj->setRelType(system::POST('reltype'));
     $obj->setSpec(system::POST('spec'));
     // Работа с привязанным справочником
     if (system::POST('type') == 95 || system::POST('type') == 90 || system::POST('type') == 97) {
         $list_id = system::POST('list_id');
         // Если не был указан справочник, то автоматически создаем новый
         if (empty($list_id)) {
             $class_name = 'list_' . system::POST('fsname', isVarName);
             if ($class = ormClasses::get($class_name)) {
                 $list_id = $class->id();
             } else {
                 $class = new ormClass();
                 $class->setParentId(29);
                 $class->setName('Для поля "' . system::POST('fname', isString) . '"');
                 $class->setSName($class_name);
                 $class->setSystem(0);
                 $class->setIsList(1);
                 $list_id = $class->save();
                 if ($list_id === false) {
                     $list_id = 0;
                 }
             }
         }
         $obj->setListId($list_id);
     } else {
         $obj->setListId(0);
     }
     $obj_id = $obj->save();
     if ($obj_id === false) {
         echo json_encode(array('error' => 1, 'data' => $obj->getErrorListText(' ')));
     } else {
         $tree = new ormFieldsTree();
         $forUpd = system::action() == "proc_add" ? 0 : 1;
         echo json_encode(array('error' => 0, 'data' => $tree->getFieldHTML($obj, $forUpd)));
     }
     system::stop();
 }