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 viewAction() { if (system::issetUrl(2)) { $_SESSION['voting_' . system::url(2)] = 1; echo page::macros('voting')->objView(system::url(2)); } system::stop(); }
static function getMailHTML($release_id) { if ($release = ormObjects::get($release_id)) { if ($release->isInheritor('subscribe_msg')) { $subscribe = $release->getParent(); page::$macros = 1; $mail = ''; if (file_exists(TEMPL_DIR . '/subscription/mails/' . $subscribe->template . '.tpl')) { include TEMPL_DIR . '/subscription/mails/' . $subscribe->template . '.tpl'; page::assign('domain_name', domains::curDomain()->getName()); page::assign('site_name', domains::curDomain()->getSiteName()); page::assign('base_email', domains::curDomain()->getEmail()); page::assign('subscribe.id', $subscribe->id); page::assign('release.id', $release->id); page::assign('release.name', $release->name); page::assign('release.message', $release->message); $sel = new ormSelect(); $sel->depends($release->id, 1462); $num = 0; $list = ''; while ($obj = $sel->getObject()) { $num++; page::assign('obj.num', $num); page::assign('class-first', $num == 1 ? 'first' : ''); page::assign('class-last', $num == $sel->getObjectCount() ? 'last' : ''); page::assign('class-odd', $num % 2 == 0 ? 'odd' : ''); page::assign('class-even', $num % 2 != 0 ? 'even' : ''); page::assign('class-third', $num % 3 == 0 ? 'third' : ''); page::assign('obj.id', $obj->id); page::assign('obj.url', $obj->url); $obj->parseAllFields(); $list .= page::parse($TEMPLATE['list']); } page::assign('list', $list); if (!empty($list)) { page::fParse('list', $TEMPLATE['frame_list']); } $mail = page::parse($TEMPLATE['frame']); } return $mail; } } }
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 rssAction() { if (!system::issetUrl(2)) { page::globalVar('h1', lang::get('RSS_TITLE')); page::globalVar('title', lang::get('RSS_TITLE')); return page::macros('structure')->rssList(); } else { header("content-type: text/xml; charset=UTF-8"); echo page::macros('structure')->rss(system::url(2)); system::stop(); } }
private static function checkSocialUser($user_info) { $sel = new ormSelect('user'); $sel->where($sel->val('social_identity', '=', $user_info['identity']), $sel->val('social_type', '=', $user_info['social_type'])); $sel->limit(1); if ($user = $sel->getObject()) { // Пользователь уже зарегистрирован $groups = $user->getParents(); $sel = new ormSelect('user_group'); $sel->where('id', '=', $groups, 'OR'); $sel->where('active', '=', 1); if (!$user->active || $sel->getCount() < 1) { // Ошибка: Пользователь или группа выключены, авторизация не возможна echo lang::get('USERS_DISABLE_AUTH'); die; } else { if (user::authHim($user)) { // Пользователь авторизован, закрываем дочернее окно и возвращаемся на сайт self::closeWindowAndOpen('/'); } } } else { // Пользователь еще не создан, регистрируем if (reg::getKey('/users/confirm') || reg::getKey('/users/ask_email') && empty($user_info['email'])) { // Запрашивает согласие с правилами или e-mail $_SESSION['SOCIAL_AUTH_USER_INFO'] = $user_info; echo page::macros('users')->socialAuthConfirm(); } else { // регистрируем $user = self::createUserForSocial($user_info); if ($user && !$user->issetErrors()) { user::authHim($user); self::closeWindowAndOpen('/'); } else { if ($user instanceof ormObject) { echo $user->getErrorListText(); } else { echo 'Unknown error'; } } } system::stop(); } }
static function get404() { page::disableCacheForThisPage(); page::globalVar('h1', lang::get('ERROR_404_TITLE')); page::globalVar('title', lang::get('ERROR_404_TITLE')); if (!($data = cache::get('error404'))) { $data = lang::get('ERROR_404_TEXT') . page::macros('structure')->menu('map'); cache::set('error404', $data); } return $data; }
private function sendStateMsg() { if (!empty($this->obj)) { if ($this->change_state && ($state = ormObjects::get($this->obj->state)) && $state->info) { page::assign('order.id', $this->obj->id); page::assign('order.number', $this->getNumber()); page::assign('order.cost', $this->getTotalCost()); // Информация о доставке page::assign('order.delivery', $this->obj->_delivery); page::assign('order.delivery_price', $this->getDeliveryPrice()); page::assign('order.name', $this->obj->delivery_name); page::assign('order.surname', $this->obj->delivery_surname); page::assign('order.phone', $this->obj->delivery_phone); page::assign('order.address', $this->obj->delivery_address); page::assign('username', user::get('surname') . ' ' . user::get('name')); page::assign('goods_list', page::macros('eshop')->goodsList($this->obj->id, 'goods_list_email')); $text = str_replace(array('{', '}'), '%', $state->email_msg); $title = str_replace(array('{', '}'), '%', $state->email_title); $mail = new phpmailer(); $mail->WordWrap = 50; $mail->IsHTML(true); $mail->From = domains::curDomain()->getEmail(); $mail->FromName = domains::curDomain()->getSiteName(); $mail->Subject = page::parse($title); $mail->Body = page::parse($text); // Отправляем письмо пользователю $mail->AddAddress($this->obj->email); $mail->Send(); // Отправляем письмо администратору if ($state->id == reg::getKey('/eshop/fisrt_state') && reg::getKey('/eshop/dubl_to_email')) { $mail->ClearAddresses(); $mail->AddAddress(domains::curDomain()->getEmail()); $mail->Send(); } } } }
public function change_passwordAction() { page::globalVar('h1', lang::get('USERS_CHANGE_PSW_H1')); page::globalVar('title', lang::get('USERS_CHANGE_PSW_H1')); return page::macros('users')->changePassword(); }
public function order_viewAction() { return page::macros('eshop')->orderView(system::url(2)); }