public function upd() { // Указываем для какого объекта строить форму if (system::action() == "upd") { // Если это редактирование $obj = ormObjects::get(system::url(2)); $right = 'subscribe_proc_upd'; } else { if (system::action() == "add") { // Если это добавление нового объекта $right = 'subscribe_proc_add'; $obj = new ormObject(); $obj->setClass('subscription'); $obj->back_email = domains::curDomain()->getEmail(); $obj->back_name = domains::curDomain()->getSiteName(); $obj->template = 'default'; $obj->active = 1; } } // Если произошли ошибки, перенаправляем на главную страницу модуля if ($obj->issetErrors()) { system::redirect('/subscription'); } // Устанавливаем кнопки для формы ui::setCancelButton('/subscription'); ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');"); ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');"); // Создаем форму и выводим ее на страницу $form = new ormEditForm($obj, $right); $form->replaceField('template', $this->templList('template', $obj->template)); $form->replaceField('name_format', ui::SelectBox('name_format', lang::get('SUBSCRIBE_NAMEFORMAT'), $obj->name_format, 440)); return $form->getHTML(); }
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 pre() { if ($this->id != domains::curDomain()->getDefLang()) { return '/' . $this->getPrefix(); } else { return ''; } }
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; } } }
static function getFileSiteMap() { self::init(); $cur_date = reg::getKey('/structure/' . domains::curId() . '/cur_date'); $text = ''; reset(self::$pages); foreach (self::$pages as $page) { if ($page['active'] && $page['in_index'] && empty($page['other_link'])) { $date = date('Y-m-d', strtotime($page['o_change_date'])); if ($cur_date) { $left = (time() - strtotime($page['o_change_date'])) / 86400; if ($left > 30) { $date = date('Y-m-d'); } } $url = self::getPageUrlById($page['o_id']); $priority = $page['is_home_page'] ? 1 : 1 - (count(explode('/', $url)) - 1) * 0.1; $tmp = ''; $tmp .= '<loc>http://' . domains::curDomain()->getName() . $url . '</loc>'; $tmp .= '<lastmod>' . $date . '</lastmod>'; $tmp .= '<priority>' . $priority . '</priority>'; $text .= '<url>' . $tmp . '</url>'; } } return '<?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">' . $text . '</urlset>'; }
/** * @return null * @param string $templ_name - Полный путь до шаблона письма, от папки /template * @param string $email - E-mail на который нужно отправить письмо. * @param string $from - E-mail от кого отправляется письмо * @param string $from_name - Имя автора письма * @desc Парсит письмо по указанному шаблону и отправляет его на указанный ящик. */ static function sendMail($templ_name, $email, $from = '', $from_name = '') { $TEMPLATE = page::getTemplate($templ_name); if (is_array($TEMPLATE)) { page::assign('domain', domains::curDomain()->getName()); page::assign('site_name', domains::curDomain()->getSiteName()); page::assign('base_email', domains::curDomain()->getEmail()); if (empty($from)) { $from = domains::curDomain()->getEmail(); } if (empty($from_name)) { $from_name = domains::curDomain()->getSiteName(); } // Отправляет письмо с инструкциями $mail = new phpmailer(); $mail->From = $from; $mail->FromName = $from_name; $mail->AddAddress($email); $mail->WordWrap = 50; $mail->IsHTML(true); $mail->Subject = page::parse($TEMPLATE['subject']); $mail->Body = page::parse($TEMPLATE['frame']); $mail->Send(); } }
/** * @return string * @param integer $section - ID объекта с которого начинается построение дерева * @param array $parse - Шаблон оформления * @desc Рекурсивная функция строит дерево н-го уровня */ private function build_menu($section_id, $parse, $with_frame = true) { $items = ''; while ($obj = $this->getTreeObject($section_id)) { if (isset($_SESSION['TREE_OPEN_NODES'][$obj->id]) && $obj->issetChildren()) { $sub_items = $this->build_menu($obj->id, $parse); } page::assign('item.id', $obj->id); page::assign('item.parent_id', $section_id); page::assign('item.url', $this->rightEdit . '/' . $obj->id); $pach = '/css_mpanel/tree/images/'; $ico = 'file1.gif'; if ($obj->getClass()->issetField('active')) { page::assign('item.active', $obj->active); if (!$obj->active) { $ico = 'file0.gif'; } else { $ico = 'classes/' . $obj->getClass()->getSName() . '.png'; if (!file_exists(ROOT_DIR . $pach . $ico)) { $ico = 'file1.gif'; } } } else { page::assign('item.active', 1); } page::assign('obj.ico', $pach . $ico); page::assign('obj.sname', $obj->getClass()->getSName()); //определяем иконку класса, если нету присваем пустой листик $active_ico = 'classes/' . $obj->getClass()->getSName() . '.png'; if (!file_exists(ROOT_DIR . $pach . $active_ico)) { $active_ico = 'file1.gif'; } page::assign('obj.active_ico', $active_ico); page::assign('item.name', $obj->name); if (!empty($this->funct_name) && function_exists($this->funct_name)) { $notice = call_user_func($this->funct_name, $obj); } else { $notice = ''; } page::assign('item.notice', $notice); page::assign('obj.url', 'http://' . domains::curDomain()->getName() . $obj->_url); if (isset($_SESSION['TREE_OPEN_NODES'][$obj->id]) && $obj->issetChildren()) { page::assign('close', ' open'); page::assign('sub_items', $sub_items); } else { page::assign('close', $obj->issetChildren() ? ' closed' : ''); page::assign('sub_items', ''); } $items .= page::parse($parse['items']); } if (!empty($items) && $with_frame) { page::assign('items', $items); $items = page::parse($parse['frame_items']); } return $items; }
public function proc() { // ****************** Основные настройки *************************** reg::setKey(ormPages::getPrefix() . '/title_prefix', system::POST('title_prefix')); reg::setKey(ormPages::getPrefix() . '/keywords', system::POST('keywords')); reg::setKey(ormPages::getPrefix() . '/description', system::POST('description')); reg::setKey('/structure/' . domains::curId() . '/cur_date', system::POST('cur_date', isBool)); reg::setKey(ormPages::getPrefix() . '/no_view_no_edit', system::POST('no_view_no_edit', isBool)); reg::setKey(ormPages::getPrefix() . '/view_as_tree', system::POST('view_as_tree', isBool)); reg::setKey(ormPages::getPrefix('search') . '/auto_index', system::POST('auto_index', isBool)); // Сохраняем информацию о части файла Robots.txt if (isset($_POST['robots'])) { $file = ROOT_DIR . '/robots_part_' . domains::curDomain()->getName() . '.txt'; if (empty($_POST['robots']) && file_exists($file)) { unlink($file); } else { if (!empty($_POST['robots'])) { $f = fopen($file, "w"); fwrite($f, $_POST['robots']); fclose($f); } } } // Управление отображением reg::delKey(ormPages::getPrefix() . '/no_view'); if (isset($_POST['no_view_classes'])) { while (list($num, $val) = each($_POST['no_view_classes'])) { if (!empty($val)) { reg::setKey(ormPages::getPrefix() . '/no_view/' . $num, $val); } } } reg::delKey(ormPages::getPrefix() . '/no_edit'); if (isset($_POST['no_edit_classes'])) { while (list($num, $val) = each($_POST['no_edit_classes'])) { if (!empty($val)) { reg::setKey(ormPages::getPrefix() . '/no_edit/' . $num, $val); } } } // ****************** Сохранение шаблонов *************************** function changeTempl($id, $obj, $form_name) { $type = $form_name == 'page_tpl' ? 0 : 1; $templ = new template($id); $templ->setName($obj['t_name']); $templ->setFile($obj['t_file']); $templ->setDestination($type); $templ->setLangId(languages::curId()); $templ->setDomainId(domains::curId()); $templ->save(); return true; } function delTempl($id) { $templ = new template($id); $templ->delete(); } $form = new uiMultiForm('page_tpl'); $form->process('changeTempl', 'delTempl'); $form = new uiMultiForm('obj_tpl'); $form->process('changeTempl', 'delTempl'); ormPages::clearCache(); if ($_POST['parram'] == 'apply') { system::redirect('/structure/settings'); } else { if ($_SESSION['STRUCTURE_LIST_FLAG']) { system::redirect('/structure/list'); } else { system::redirect('/structure/tree'); } } }
static function pre() { self::init(); if (self::$cur_lang->id() != domains::curDomain()->getDefLang()) { return '/' . self::$cur_lang->getPrefix(); } else { return ''; } }
public function add_procAction() { $answer = array(); if (!reg::getKey('/users/reg')) { system::redirect('/'); } if (!user::isGuest()) { system::redirect('/users/edit'); } // Проверка капчи if (!system::validCapcha('random_image')) { $answer = array('msg' => lang::get('SITE_CAPHCA'), 'field' => 'captcha'); } // Проверка согласия с условиями оферты if (reg::getKey('/users/confirm') && !system::POST('confirm', isBool)) { $answer = array('msg' => lang::get('USERS_COMFIRM'), 'field' => 'confirm'); } // Добавляем объект if (empty($answer)) { $obj = new ormObject(); $obj->setParent(41); // Устанавливаем группу "Пользователи сайта" $obj->setClass('user'); $obj->tabuList('def_modul', 'active', 'last_visit', 'last_ip', 'groups'); $obj->loadFromPost(); $obj->active = 1; $obj->email = $obj->newVal('login'); $max_tickets = reg::getKey('/booking/max_tickets'); $obj->place_limit = $max_tickets == '' || $max_tickets == 0 ? 6 : $max_tickets; if ($obj->save()) { if (reg::getKey('/users/activation')) { // Регистрация с проверкой // Формируем временный ключ активации пользователя $key = md5(date('d.m.Y') . 'activate' . $obj->id); $obj->md5_flag = $key; $obj->active = 0; $obj->save(); // Отправляем письмо $url_pre = 'http://' . domains::curDomain()->getName() . languages::pre(); page::assign('url', $url_pre . '/users/activate/' . $key); page::assign('passw', system::POST('password')); page::assign('login', $obj->login); page::assign('name', $obj->name); system::sendMail('/users/mails/activate.tpl', $obj->email); $_SESSION['user_email'] = $obj->login; } else { // Регистрация без проверки // Отправляем письмо page::assign('passw', system::POST('password')); page::assign('login', $obj->login); page::assign('name', $obj->name); system::sendMail('/users/mails/registration.tpl', $obj->email); // Автоматическая авторизация user::authHim($obj); } // Все хорошо. Пользователь добавлен. if (system::isAjax()) { system::json(array('ok' => 1)); } else { system::redirect('/users/ok'); } } else { // Произошли ошибки if ($obj->issetErrors(32)) { $answer = array('msg' => lang::get('USERS_ISSET'), 'field' => 'login'); } else { $tmp = $obj->getErrorFields(); $answer = array('msg' => $obj->getErrorListText(' '), 'field' => $tmp['focus']); } } } if (!system::isAjax()) { system::savePostToSession(); system::saveErrorToSession('add_user', $answer); if (!empty($_POST['back_url'])) { system::redirect($_POST['back_url'], true); } else { system::redirect('/users/add'); } } else { system::json($answer); } }
/** * @return stirng - Контент * @param string $templ_name - имя шаблона * @desc МАКРОС: Возвращает пропарсенный шаблон из папки /template/structure */ function include_templ($templ_name) { $site_prefix = domains::curId() == 1 && languages::curId() == 1 ? '' : '/__' . str_replace('.', '_', domains::curDomain()->getName()) . '_' . languages::curPrefix(); $file = TEMPL_DIR . $site_prefix . '/structure/' . $templ_name . '.tpl'; if (!file_exists($file)) { return str_replace('%name%', $templ_name, 'Указанный шаблон (%name%.tpl) не найден!'); } else { $file_tpl = implode('', file($file)); return page::parse($file_tpl); } }
/** * @return null * @param string $filename - Путь к файлу шаблона * @param boolean $absolut - Если true - путь считается абсолютным и вычисляется от корневой папки, в которой находится движок * @desc Обрабатывает указанный файл шаблона и выводит его на страницу */ static function parseIt($filename, $absolut = false, $withoutCache = false) { if (!system::$isAdmin && !$absolut) { $site_prefix = domains::curId() == 1 && languages::curId() == 1 ? '' : '/__' . str_replace('.', '_', domains::curDomain()->getName()) . '_' . languages::curPrefix(); if (file_exists(TEMPL_DIR . $site_prefix . $filename)) { $filename = TEMPL_DIR . $site_prefix . $filename; } else { if (file_exists(TEMPL_DIR . $site_prefix . '/structure/default.tpl')) { $filename = TEMPL_DIR . $site_prefix . '/structure/default.tpl'; } else { echo lang::get('ERROR_TEMPL2'); system::stop(); } } } while (list($key, $val) = each(self::$page_mas)) { self::assign($key, $val); } self::$arr = self::parse(file($filename)); // Сохраняем страницу в кэш if (!$withoutCache && self::isCashePage()) { $page = array('html' => self::$arr, 'page_id' => ormPages::getCurPageId(), 'page_url' => system::getCurrentUrlPN(), 'active_pages' => ormPages::getActiveId(), 'host' => $_SERVER['HTTP_HOST']); cache::set(system::getCurrentUrlPN(), $page); } // Вторично обрабатывает шаблон self::$arr = self::parse(self::parse(self::$arr, 2), 2); // Выводит обработанный шаблон на печать //echo str_replace('`%`', '%', self::$arr); echo self::$arr; self::freshAll(); }
/** * @return HTML * @param int $section_id - ID новостной ленты, для которой необходимо построить RSS-ленту * @param string $templ_name - Шаблон оформления, по которому будет строится RSS-лента * @desc МАКРОС: Выводит содержимое RSS-ленты. */ public function rss($section_id, $templ_name = 'rss') { $templ_file = '/structure/rss/' . $templ_name . '.tpl'; $TEMPLATE = page::getTemplate($templ_file); if (!is_array($TEMPLATE)) { return page::errorNotFound('structure.rss', $templ_file); } $cur_domain = 'http://' . domains::curDomain()->getName(); page::assign('channel.url', $cur_domain); page::assign('channel.date', date('r')); page::assign('channel.notice', ''); // Определяем из каких категорий выводить ленту новостей $sections = array(); if ($section_id == 'all') { // Из нескольких $sel = new ormSelect('news_feed'); $sel->findInPages(); $sel->fields('id'); $sel->where('rss_export', '=', 1); $sel->where('active', '=', 1); while ($obj = $sel->getObject()) { $sections[] = $obj->id; } page::assign('channel.title', domains::curDomain()->getSiteName()); } else { // Из одной $section_id = system::checkVar($section_id, isInt); if (empty($section_id)) { return ''; } $sections[] = $section_id; if ($sect = ormPages::get($section_id)) { page::assign('channel.title', $sect->name); } } // Формируем выборку объектов $sel = new ormSelect(); $sel->findInPages(); $sel->fields('name, notice, publ_date'); $sel->where('parents', '=', $sections, 'OR'); $sel->where('active', '=', 1); $sel->orderBy('publ_date', desc); $sel->limit(3); // Формируем список $list = ''; while ($obj = $sel->getObject()) { $num = $sel->getObjectNum() + 1; page::assign('obj.num', $num); page::assign('obj.id', $obj->id); page::assign('obj.url', $cur_domain . $obj->_url); page::assign('obj.name', $obj->name); $notice = str_replace(' ', '', strip_tags($obj->notice)); page::assign('obj.notice', $notice); $date = date('r', strtotime($obj->publ_date)); page::assign('obj.date', $date); /* if ($obj->podkast != '') { page::assign('obj.media_url', $cur_domain.$obj->podkast); page::fParse('media', $TEMPLATE['media']); } else page::assign('media', ''); */ if (isset($TEMPLATE['list'])) { $list .= page::parse($TEMPLATE['list']); } else { return page::errorBlock('structure.rss', $templ_file, 'list'); } } if (!empty($list)) { page::assign('list', $list); if (isset($TEMPLATE['frame_list'])) { $list = page::parse($TEMPLATE['frame_list']); } else { return page::errorBlock('structure.rss', $templ_file, 'frame_list'); } } return $list; }
private function getPageInfo($obj, $form) { if ($obj->id != 0) { $domain = system::isLocalhost() ? domains::curDomain()->getUrl() : ''; $form->addInBottomTabs('param', ' <div class="clear"></div><div class="otstup"></div> <div class="fieldBox"><label><b></b>' . lang::get('STRUCTURE_PAGE_URL') . '</label> <a href="' . $domain . $obj->_url . '">' . $obj->_url . '</a></div> <div class="fieldBox"><label><b></b>' . lang::get('STRUCTURE_PAGE_URL') . '</label> ' . $obj->id . '</div> '); } }
private static function sendMailBlock($user) { page::assign('domain', 'http://' . domains::curDomain()->getName() . languages::pre()); page::assign('login', $user->login); page::assign('name', $user->name); system::sendMail('/users/mails/block.tpl', $user->email); }
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(); } }
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(); } } } }
private function getLangsAndDomains($TEMPLATE) { $sub_menu = ''; $langs = languages::getAll(); $domains = domains::getAll(); page::assign('ldObjectLinks', ''); if (count($langs) > 1 || count($domains) > 1) { $isMultiDom = count($domains) > 1 ? true : false; $sub_items = $curLD = ''; $mas = array(); $num = 0; while (list($num2, $domain) = each($domains)) { reset($langs); while (list($num1, $lang) = each($langs)) { if (user::issetRight($lang['l_id'] . ' ' . $domain['d_id'], 'structure')) { if ($isMultiDom) { $lanver = $domain['d_name']; if ($lang['l_id'] != $domain['d_def_lang']) { $lanver .= '/' . $lang['l_prefix']; } } else { $lanver = $lang['l_name']; } $link = ADMIN_URL; if ($domain['d_id'] != domains::curSiteDomain()->id()) { $link .= '/' . str_replace('.', '_', $domain['d_name']); } if ($lang['l_id'] != $domain['d_def_lang']) { $link = '/' . $lang['l_prefix'] . $link; } if (domains::curId() == $domain['d_id'] && languages::curId() == $lang['l_id']) { $curLD = $link; } page::assign('name', $lanver); page::assign('url', $link); $sub_items .= page::parse($TEMPLATE['langver']); $mas[] = array('id' => $link, 'name' => $lanver); $num++; } } } if (!empty($sub_items) && $num > 1) { if ($isMultiDom) { $lanver = domains::curDomain()->getName() . languages::pre(); } else { $lanver = languages::curLang()->getName(); } page::assign('eshe', $lanver); page::assign('sub_items', $sub_items); $sub_menu = page::parse($TEMPLATE['sub_menu']); ui::SelectBox('ldObjectLinks', $mas, $curLD, 474, '', 'onSelectldObjectLinks()'); } } return $sub_menu; }
private static function getConfig($TEMPLATE) { $cModul = ''; if (!empty(self::$newLink)) { // Настройки в виде списка while (list($num, $link) = each(self::$newLink)) { if (user::issetRight($link['link'])) { $anchor = !empty($link['anchor']) ? '#' . $link['anchor'] : ''; page::assign('url', system::au() . '/' . system::url(0) . '/' . $link['link'] . $anchor); page::assign('title', $link['title']); $cModul .= page::parse($TEMPLATE['config_item']); } } if (!empty($cModul)) { page::assign('config_items', $cModul); page::assign('text.settings', lang::get('TEXT_SETTINGS')); $cModul = page::parse($TEMPLATE['config_frame']); } } else { if (user::issetRight('settings')) { // Обычные настройки page::assign('url_settings', system::au() . '/' . system::url(0) . '/settings'); page::assign('text.settings', lang::get('TEXT_SETTINGS')); $cModul = page::parse($TEMPLATE['config_module']); } } page::assign('settings', $cModul); // Ссылка "Помощь" page::assign('text.help', lang::get('TEXT_HELP')); page::fParse('help_link', $TEMPLATE['help_link']); // Ссылка "На сайт" page::assign('url_site', domains::curDomain()->getName() . languages::pre()); page::assign('text.to_site', lang::get('TEXT_TOSITE')); page::fParse('to_site', $TEMPLATE['to_site']); // Аккаунт пользователя и кнопка выход page::assign('username', user::get('name')); page::assign('user_url', user::issetRight('profile', 'core') ? system::au() . '/core/profile' : '#'); page::assign('url_exit', system::au() . '/logout'); page::assign('text.exit', lang::get('TEXT_URL_EXIT')); page::fParse('mpanel_config', $TEMPLATE['account']); // Формируем цепочку-заголовок page::assign("title", lang::module(system::url(0))); page::assign("link", system::au() . '/' . system::url(0)); $cep = page::parse($TEMPLATE['navibar_link']); for ($i = 0; $i < count(self::$pageNavibar); $i++) { page::assign("title", substr(self::$pageNavibar[$i]['title'], 0, 100)); page::assign("link", system::au() . self::$pageNavibar[$i]['link']); $t = empty(self::$pageNavibar[$i]['link']) ? '' : '_link'; $cep .= page::parse($TEMPLATE['navibar' . $t]); } page::assign('navibar', $cep); page::fParse('navibar', $TEMPLATE['navibar_frame']); }