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(); } }
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); } }
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'); }
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'); } }
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'); }
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'); }
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(); }
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'); }
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('/'); } } }
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'); }
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'); } }
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'); } }
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(); }
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'); } }
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'); }
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); }
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'); }
// обработчик изменения объекта 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()); } }
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(); } }
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']); } } }
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]); } }
static function validCapcha($field_name) { $ret = system::POST($field_name) == $_SESSION['core_secret_number']; $_SESSION['core_secret_number'] = ''; return $ret; }
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); } }
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'); } }
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'); } }
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)); }
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'); } }
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(); } } }
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] = ''; } } }
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(); }