예제 #1
0
 /**
  * @return stirng
  * @param string $templ_name - Шаблон оформления
  * @desc МАКРОС: Выводит форму подписки на рассылки
  */
 function form($templ_name = 'default')
 {
     $templ_file = '/subscription/' . $templ_name . '.tpl';
     $TEMPLATE = page::getTemplate($templ_file);
     if (!is_array($TEMPLATE)) {
         return page::errorNotFound('subscription.form', $templ_file);
     }
     $list = '';
     $sel = new ormSelect('subscription');
     $sel->where('lang', '=', languages::curId());
     $sel->where('domain', '=', domains::curId());
     $sel->where('active', '=', 1);
     $num = 0;
     while ($obj = $sel->getObject()) {
         page::assign('obj.id', $obj->id);
         page::assign('obj.name', $obj->name);
         $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' : '');
         $list .= page::parse($TEMPLATE['list']);
     }
     // Парсим текст сообщения об ошибке
     page::parseError('subscription');
     if (empty($list)) {
         return page::parse($TEMPLATE['empty']);
     } else {
         page::assign('list', $list);
         return page::parse($TEMPLATE['frame']);
     }
 }
예제 #2
0
 public function defAction()
 {
     function getSubscribersCount($id, $obj)
     {
         $sel = new ormSelect('subscribe_user');
         $sel->where('parents', '=', $id);
         return $sel->getCount();
     }
     ui::newButton(lang::get('SUBSCRIBE_BTN_ADD'), '/subscription/subscribe_add');
     $sel = new ormSelect('subscription');
     $sel->where('lang', '=', languages::curId());
     $sel->where('domain', '=', domains::curId());
     $table = new uiTable($sel);
     $table->formatValues(true);
     $table->addColumn('name', lang::get('SUBSCRIBE_TT1'), 200);
     $table->addColumn('last_subscribe', lang::get('SUBSCRIBE_TT2'), 200);
     $table->addColumn('id', lang::get('SUBSCRIBE_TT3'), 200, 0, 1, 'getSubscribersCount');
     $table->defaultRight('msg');
     $table->addRight('msg', 'list', single);
     $table->addRight('user', 'users', single);
     $table->addRight('subscribe_upd', 'edit', single);
     $table->addRight('subscribe_history', 'history', single);
     $table->addRight('subscribe_del', 'drop', multi);
     $table->addRight('subscribe_act', 'active', multi);
     $table->setDelMessage(lang::get('SUBSCRIBE_DEL_TITLE2'), lang::get('SUBSCRIBE_DEL_TEXT2'));
     $table->setMultiDelMessage(lang::get('SUBSCRIBE_DEL_TITLE_MULTI2'), lang::get('SUBSCRIBE_DEL_TEXT_MULTI2'));
     return $table->getHTML();
 }
예제 #3
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');
     }
 }
예제 #4
0
 /**
 * @return array
 * @param boolean $type - Назначение шаблонов:
 		0	-	шаблон для страниц
 		1	-	шаблон для объектов
 * @desc Вернет все шаблоны для текущей языковой версии и текущего домена. Метод без кеширования результатов.
 */
 static function getByDestination($type = 0, $spec_name = false)
 {
     $type = $type ? 1 : 0;
     $select = $spec_name ? 't_id id, concat(t_name, " (", t_file, ")") name' : '*, t_id id';
     return db::q('SELECT ' . $select . ' FROM <<template>>
     			  WHERE t_type = "' . $type . '" and
     			  		t_lang_id = "' . languages::curId() . '" and
     					t_domain_id = "' . domains::curId() . '"
     			  ORDER BY t_name;', records);
 }
예제 #5
0
 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;
         }
     }
 }
예제 #6
0
 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>';
 }
예제 #7
0
파일: user.php 프로젝트: sunfun/Bagira.CMS
 /**
  * @return boolean
  * @param string $right - Имя права в панели администрирования
  * @param string $module - Системное имя модуля. Если не указанно, имя определяется исходя из текущего URL`a
  * @desc Проверяет существование указанного права для текущего модуля
  */
 static function issetRight($right, $module = 0)
 {
     if (!self::$isGuest) {
         if (empty($module)) {
             $module = system::url(0);
         }
         self::getRights();
         $right = str_replace('_proc_', '_', $right);
         if ($module == 'structure' && !strpos($right, ' ')) {
             $sitever = languages::curId() . ' ' . domains::curId();
             return isset(self::$right[$module]['rights'][$sitever][$right]) ? true : false;
         } else {
             return isset(self::$right[$module]['rights'][$right]) ? true : false;
         }
     } else {
         return false;
     }
 }
예제 #8
0
    public function restore()
    {
        $restore = parent::restore();
        if ($restore) {
            $parent_id = $this->getParentId();
            $s = empty($this->id) ? '' : 'p_obj_id <> "' . $this->id . '" and ';
            $s .= empty($parent_id) ? 'r_parent_id is NULL' : 'r_parent_id = "' . $parent_id . '"';
            $sql = 'SELECT count(p_obj_id) FROM <<pages>>, <<objects>>, <<rels>>
							WHERE pseudo_url = "' . $this->__get('pseudo_url') . '" and
								  lang_id = "' . languages::curId() . '" and
								  domain_id = "' . domains::curId() . '" and
								  r_children_id = p_obj_id and ' . $s . ' and
								  o_id = p_obj_id and
								  o_to_trash = 0;';
            $count = db::q($sql, value);
            if ($count > 0) {
                $pseudo_url = $this->__get('pseudo_url') . rand(100, 999);
                db::q('UPDATE <<pages>>
                      SET pseudo_url="' . $pseudo_url . '"
                      WHERE p_obj_id = "' . $this->id . '";');
                return true;
            }
        }
        return false;
    }
예제 #9
0
 /**
  * @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();
     }
 }
예제 #10
0
 private function getLangsAndDomains($TEMPLATE)
 {
     $sub_menu = '';
     $langs = languages::getAll();
     $domains = domains::getAll();
     page::assign('ldObjectLinks', '');
     if (count($langs) > 1 || count($domains) > 1) {
         $isMultiDom = count($domains) > 1 ? true : false;
         $sub_items = $curLD = '';
         $mas = array();
         $num = 0;
         while (list($num2, $domain) = each($domains)) {
             reset($langs);
             while (list($num1, $lang) = each($langs)) {
                 if (user::issetRight($lang['l_id'] . ' ' . $domain['d_id'], 'structure')) {
                     if ($isMultiDom) {
                         $lanver = $domain['d_name'];
                         if ($lang['l_id'] != $domain['d_def_lang']) {
                             $lanver .= '/' . $lang['l_prefix'];
                         }
                     } else {
                         $lanver = $lang['l_name'];
                     }
                     $link = ADMIN_URL;
                     if ($domain['d_id'] != domains::curSiteDomain()->id()) {
                         $link .= '/' . str_replace('.', '_', $domain['d_name']);
                     }
                     if ($lang['l_id'] != $domain['d_def_lang']) {
                         $link = '/' . $lang['l_prefix'] . $link;
                     }
                     if (domains::curId() == $domain['d_id'] && languages::curId() == $lang['l_id']) {
                         $curLD = $link;
                     }
                     page::assign('name', $lanver);
                     page::assign('url', $link);
                     $sub_items .= page::parse($TEMPLATE['langver']);
                     $mas[] = array('id' => $link, 'name' => $lanver);
                     $num++;
                 }
             }
         }
         if (!empty($sub_items) && $num > 1) {
             if ($isMultiDom) {
                 $lanver = domains::curDomain()->getName() . languages::pre();
             } else {
                 $lanver = languages::curLang()->getName();
             }
             page::assign('eshe', $lanver);
             page::assign('sub_items', $sub_items);
             $sub_menu = page::parse($TEMPLATE['sub_menu']);
             ui::SelectBox('ldObjectLinks', $mas, $curLD, 474, '', 'onSelectldObjectLinks()');
         }
     }
     return $sub_menu;
 }
예제 #11
0
 /**
  * @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('&nbsp;', '', 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;
 }
예제 #12
0
 protected function app_defaults()
 {
     $this->write_progress("\tRunning app_defaults");
     //set needed session settings
     $_SESSION["username"] = $this->admin_username;
     $_SESSION["domain_uuid"] = $this->global_settings->domain_uuid();
     require $this->config_php;
     require "resources/require.php";
     $_SESSION['event_socket_ip_address'] = $this->global_settings->event_host;
     $_SESSION['event_socket_port'] = $this->global_settings->event_port;
     $_SESSION['event_socket_password'] = $this->global_settings->event_password;
     //get the groups assigned to the user and then set the groups in $_SESSION["groups"]
     $sql = "SELECT * FROM v_group_users ";
     $sql .= "where domain_uuid=:domain_uuid ";
     $sql .= "and user_uuid=:user_uuid ";
     $prep_statement = $this->dbh->prepare(check_sql($sql));
     $prep_statement->bindParam(':domain_uuid', $this->global_settings->domain_uuid);
     $prep_statement->bindParam(':user_uuid', $this->admin_uuid);
     $prep_statement->execute();
     $result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
     $_SESSION["groups"] = $result;
     unset($sql, $row_count, $prep_statement);
     //get the permissions assigned to the groups that the user is a member of set the permissions in $_SESSION['permissions']
     $x = 0;
     $sql = "select distinct(permission_name) from v_group_permissions ";
     foreach ($_SESSION["groups"] as $field) {
         if (strlen($field['group_name']) > 0) {
             if ($x == 0) {
                 $sql .= "where (domain_uuid = '" . $this->global_settings->domain_uuid . "' and group_name = '" . $field['group_name'] . "') ";
             } else {
                 $sql .= "or (domain_uuid = '" . $this->global_settings->domain_uuid . "' and group_name = '" . $field['group_name'] . "') ";
             }
             $x++;
         }
     }
     $prep_statement_sub = $this->dbh->prepare($sql);
     $prep_statement_sub->execute();
     $_SESSION['permissions'] = $prep_statement_sub->fetchAll(PDO::FETCH_NAMED);
     unset($sql, $prep_statement_sub);
     //include the config.php
     $db_type = $this->global_settings->db_type();
     $db_path = $this->global_settings->db_path();
     $db_host = $this->global_settings->db_host();
     $db_port = $this->global_settings->db_port();
     $db_name = $this->global_settings->db_name();
     $db_username = $this->global_settings->db_username();
     $db_password = $this->global_settings->db_password();
     //add the database structure
     require_once "resources/classes/schema.php";
     $schema = new schema();
     echo $schema->schema();
     //run all app_defaults.php files
     $default_language = $this->install_language;
     $domain = new domains();
     $domain->upgrade();
     //synchronize the config with the saved settings
     save_switch_xml();
     //do not show the apply settings reminder on the login page
     $_SESSION["reload_xml"] = false;
     //clear the menu
     $_SESSION["menu"] = "";
 }
예제 #13
0
파일: page.php 프로젝트: sunfun/Bagira.CMS
 /**
  * @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();
 }
예제 #14
0
 /**
  * editAction
  * Get a record and populate the application form 
  * @return unknown_type
  */
 public function editAction()
 {
     $form = $this->getForm('/admin/domains/process');
     $this->view->title = $this->translator->translate("Domain Edit");
     $this->view->description = $this->translator->translate("Here you can edit your own domain parameters.");
     $id = $this->getRequest()->getParam('id');
     if (!empty($id) && is_numeric($id)) {
         // Create the buttons in the edit form
         $this->view->buttons = array(array("url" => "#", "label" => $this->translator->translate('Save'), "params" => array('css' => null, 'id' => 'submit')), array("url" => "/admin/domains/confirm/id/{$id}", "label" => $this->translator->translate('Delete'), "params" => array('css' => null)), array("url" => "/admin/domains/list", "label" => $this->translator->translate('List'), "params" => array('css' => null)), array("url" => "/admin/domains/new/", "label" => $this->translator->translate('New'), "params" => array('css' => null)), array("url" => "/admin/domains/newevent/id/{$id}", "label" => $this->translator->translate('Calendar Event'), "params" => array('css' => null)));
         try {
             $rs = $this->domains->find($id, null);
             if (!empty($rs[0])) {
                 $rs[0]['creation_date'] = Shineisp_Commons_Utilities::formatDateOut($rs[0]['creation_date']);
                 $rs[0]['expiring_date'] = Shineisp_Commons_Utilities::formatDateOut($rs[0]['expiring_date']);
                 $rs[0]['status_id'] = $rs[0]['Statuses']['status_id'];
                 // Domains NicHandles
                 $rs[0]['owner'] = DomainsNichandle::getProfile($id);
                 $rs[0]['admin'] = DomainsNichandle::getProfile($id, "admin");
                 $rs[0]['tech'] = DomainsNichandle::getProfile($id, "tech");
                 $rs[0]['billing'] = DomainsNichandle::getProfile($id, "billing");
                 $form->populate($rs[0]);
                 if (!empty($rs[0]['DomainsTlds']['WhoisServers'])) {
                     $this->view->title = $rs[0]['domain'] . "." . $rs[0]['DomainsTlds']['WhoisServers']['tld'];
                     $this->view->titlelink = "http://" . $rs[0]['domain'] . "." . $rs[0]['DomainsTlds']['WhoisServers']['tld'];
                     $this->view->icon = "fa fa-globe";
                 }
                 $this->view->owner_datagrid = domains::ownerGrid($id);
                 $this->view->actions = Registrars::getActions($rs[0]['registrars_id']);
             }
         } catch (Exception $e) {
             die($e->getMessage());
         }
         $this->view->id = $id;
         // Get all the messages attached to the domain
         $this->view->messages = Messages::getbyDomainId($id);
     }
     $this->view->mex = $this->getRequest()->getParam('mex');
     $this->view->mexstatus = $this->getRequest()->getParam('status');
     $this->view->dns_datagrid = Domains::dnsGrid();
     $this->view->form = $form;
     $this->view->services_datagrid = array('records' => domains::Services($id), 'edit' => array('controller' => 'services', 'action' => 'edit'));
     $this->view->orders_datagrid = array('records' => domains::Orders($id), 'edit' => array('controller' => 'orders', 'action' => 'edit'));
     $this->render('applicantform');
 }
예제 #15
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();
     }
 }
예제 #16
0
 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();
             }
         }
     }
 }
예제 #17
0
 public function add_procAction()
 {
     $answer = array();
     if (!reg::getKey('/users/reg')) {
         system::redirect('/');
     }
     if (!user::isGuest()) {
         system::redirect('/users/edit');
     }
     // Проверка капчи
     if (!system::validCapcha('random_image')) {
         $answer = array('msg' => lang::get('SITE_CAPHCA'), 'field' => 'captcha');
     }
     // Проверка согласия с условиями оферты
     if (reg::getKey('/users/confirm') && !system::POST('confirm', isBool)) {
         $answer = array('msg' => lang::get('USERS_COMFIRM'), 'field' => 'confirm');
     }
     // Добавляем объект
     if (empty($answer)) {
         $obj = new ormObject();
         $obj->setParent(41);
         // Устанавливаем группу "Пользователи сайта"
         $obj->setClass('user');
         $obj->tabuList('def_modul', 'active', 'last_visit', 'last_ip', 'groups');
         $obj->loadFromPost();
         $obj->active = 1;
         $obj->email = $obj->newVal('login');
         $max_tickets = reg::getKey('/booking/max_tickets');
         $obj->place_limit = $max_tickets == '' || $max_tickets == 0 ? 6 : $max_tickets;
         if ($obj->save()) {
             if (reg::getKey('/users/activation')) {
                 // Регистрация с проверкой
                 // Формируем временный ключ активации пользователя
                 $key = md5(date('d.m.Y') . 'activate' . $obj->id);
                 $obj->md5_flag = $key;
                 $obj->active = 0;
                 $obj->save();
                 // Отправляем письмо
                 $url_pre = 'http://' . domains::curDomain()->getName() . languages::pre();
                 page::assign('url', $url_pre . '/users/activate/' . $key);
                 page::assign('passw', system::POST('password'));
                 page::assign('login', $obj->login);
                 page::assign('name', $obj->name);
                 system::sendMail('/users/mails/activate.tpl', $obj->email);
                 $_SESSION['user_email'] = $obj->login;
             } else {
                 // Регистрация без проверки
                 // Отправляем письмо
                 page::assign('passw', system::POST('password'));
                 page::assign('login', $obj->login);
                 page::assign('name', $obj->name);
                 system::sendMail('/users/mails/registration.tpl', $obj->email);
                 // Автоматическая авторизация
                 user::authHim($obj);
             }
             // Все хорошо. Пользователь добавлен.
             if (system::isAjax()) {
                 system::json(array('ok' => 1));
             } else {
                 system::redirect('/users/ok');
             }
         } else {
             // Произошли ошибки
             if ($obj->issetErrors(32)) {
                 $answer = array('msg' => lang::get('USERS_ISSET'), 'field' => 'login');
             } else {
                 $tmp = $obj->getErrorFields();
                 $answer = array('msg' => $obj->getErrorListText(' '), 'field' => $tmp['focus']);
             }
         }
     }
     if (!system::isAjax()) {
         system::savePostToSession();
         system::saveErrorToSession('add_user', $answer);
         if (!empty($_POST['back_url'])) {
             system::redirect($_POST['back_url'], true);
         } else {
             system::redirect('/users/add');
         }
     } else {
         system::json($answer);
     }
 }
예제 #18
0
 /**
  * @return array
  * @param boolean $prinud - Если true, данные будут взяты не из кэша, а из БД.
  * @desc Вернет список всех доменов системы
  */
 static function getAll($prinud = false)
 {
     if (empty(self::$domains) || $prinud) {
         $mas = db::q('SELECT *, d_id id FROM <<domains>>;', records);
         if (db::issetError()) {
             die;
         }
         self::$domains = array();
         while (list($key, $domain) = each($mas)) {
             if (empty($domain['d_domain_id'])) {
                 self::$domains[$domain['d_id']] = $domain;
             }
             if (empty($domain['d_domain_id'])) {
                 self::$domains_rel[$domain['d_name']] = $domain['d_id'];
             } else {
                 self::$domains_rel[$domain['d_name']] = $domain['d_domain_id'];
             }
         }
     }
     return self::$domains;
 }
예제 #19
0
    static function indexPage($page)
    {
        if ($page instanceof ormPage) {
            if ($page->in_search) {
                /*
                	Пробегаем по всем полям, данные которых участвуют в поиске. Разбиваем их содержимое
                	на отдельные словоформы и ранжируем в соотвествии с настройками.
                */
                self::parseContent($page->name, 'name');
                $fields = $page->getClass()->loadFields();
                while (list($fname, $field) = each($fields)) {
                    if ($field['f_search']) {
                        self::parseContent($page->__get($fname), $fname);
                    }
                }
                // Сохраняем все найденные слова в БД
                while (list($word, $rank) = each(self::$words)) {
                    $word_id = self::getWordId(self::morphGetRoot($word));
                    db::q('INSERT INTO <<search_rankings>>
			        		SET sr_word_id = "' . $word_id . '",
			        			sr_rank = "' . $rank . '",
			        			sr_obj_id = "' . $page->id . '",
			        			sr_lang_id = "' . languages::curId() . '",
			        			sr_domain_id = "' . domains::curId() . '";');
                }
            }
        }
    }
예제 #20
0
    public function delete()
    {
        if (!empty($this->id) && $this->id != 1) {
            $is_ok = true;
            // Удаляем права, настройки и страницы связанные с данным языком
            $domain = domains::getAll();
            while (list($key, $val) = each($domain)) {
                // Удаление страниц
                $tmp = ormPages::delAllFor($val['id'], $this->id);
                if (!$tmp) {
                    $is_ok = $tmp;
                } else {
                    // Удаление настроек
                    reg::delKey('/structure/' . $val['id'] . '/' . $this->id);
                    // Удаление прав
                    db::q('DELETE FROM <<modules_rights>>
	    				   WHERE mr_name = "' . $this->id . ' ' . $val['id'] . '"
	    				   		 and mr_mod_id = "3";');
                }
            }
            // Удаляем сам язык
            if ($is_ok) {
                // У все доменов приязанных к текущему языку, меняем "язык по умолчанию".
                $domain = db::q('SELECT d_id FROM <<domains>> WHERE d_def_lang = "' . $this->id . '";', records);
                while (list($key, $val) = each($domain)) {
                    if (!empty($val['d_id'])) {
                        $domain = domains::get($val['d_id']);
                        if ($domain instanceof domain) {
                            $domain->setDefLang(1);
                            $domain->save();
                        }
                    }
                }
                $is_ok = db::q('DELETE FROM <<langs>> WHERE l_id = "' . $this->id . '";');
                if ($is_ok !== false) {
                    system::log('Удалена языковая версия сайта "' . $this->values['l_name'] . '" (id:' . $this->id . ')!', warning);
                    return true;
                } else {
                    system::log('Произошла ошибка при удалении языка "' . $this->values['l_name'] . '" (id:' . $this->id . ')!', error);
                    $this->newError(54, 'Произошла ошибка при удалении языка "' . $this->values['l_name'] . '"!');
                }
            } else {
                system::log('Пользователь пытался удалить языковую версию "' . $this->values['l_name'] . '" (id:' . $this->id . '), но у него не хватило прав на удаление всех страниц!', error);
                $this->newError(55, 'Вы не можете удалить язык сайта "' . $this->values['l_name'] . '", т.к. не имеете прав на удаление некоторых страниц!');
            }
        }
        return false;
    }
예제 #21
0
    /**
     * @return int ID шаблона
     * @param int $type - Тип шаблона. 0 - шаблон страницы, 1 - шаблон содержимого
     * @desc Возвращает id стандартного шаблона для класса с учетом текущего домена и языка, 0 - шаблон не выбран
     */
    public function getDefTemplate($type = 0)
    {
        $id = db::q('SELECT t_id
			   FROM <<template>>, <<template_def>> 
			   WHERE t_id = td_template_id AND td_class_id = ' . $this->id . ' AND t_type = ' . $type . ' AND t_lang_id = ' . languages::curId() . ' AND t_domain_id = ' . domains::curId() . ' 
			   LIMIT 1', value);
        return $id != '' ? $id : 0;
    }
예제 #22
0
 /**
  * @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);
     }
 }
예제 #23
0
 /**
  * @return NULL
  * @param integer $lang_id - ID языковой версии, если не указан используется текущая.
  * @param integer $domain_id - ID домена, если не указан используется текущий.
  * @desc Указывает что выборка будет производиться только по страницам.
  */
 public function findInPages($lang_id = 0, $domain_id = 0)
 {
     if (empty($lang_id)) {
         $this->cur_lang_id = languages::curId();
     }
     if (empty($domain_id)) {
         $this->cur_domain_id = domains::curId();
     }
     $this->find_page = 1;
 }
예제 #24
0
 /**
  * processAction
  * Update the record previously selected
  * @return unknown_type
  */
 public function processAction()
 {
     $request = $this->getRequest();
     try {
         // Check if we have a POST request
         if (!$request->isPost()) {
             return $this->_helper->redirector('index');
         }
         // Get our form and validate it
         $form = $this->getForm('/admin/domains/process');
         if (!$form->isValid($request->getPost())) {
             // Invalid entries
             $this->view->form = $form;
             $this->view->title = $this->translator->translate("Domain Process");
             $this->view->description = $this->translator->translate("Check all the information posted before saving them.");
             return $this->_helper->viewRenderer('customform');
             // re-render the login form
         }
         // Get the values posted
         $params = $form->getValues();
         // Get the id
         $id = $params['domain_id'];
         if (!empty($params['dnsform']['target']) && !empty($params['dnsform']['zones'])) {
             Dns_Zones::addDnsZone($id, $params['dnsform']['subdomain'], $params['dnsform']['target'], $params['dnsform']['zones']);
         }
         // Save the message note
         if (!empty($params['note'])) {
             Messages::addMessage($params['note'], $this->customer['customer_id'], $id);
             $isp = Shineisp_Registry::get('ISP');
             $placeholder['fullname'] = $this->customer['firstname'] . " " . $this->customer['lastname'];
             $placeholder['domain'] = domains::getDomainName($id);
             $placeholder['message'] = $params['note'];
             $placeholder['messagetype'] = $this->translator->translate('Domain');
             Messages::sendMessage("message_new", $this->customer['email'], $placeholder);
             Messages::sendMessage("message_admin", $isp->email, $placeholder);
         }
         Domains::setAuthInfo($id, $params['authinfocode']);
         Domains::setAutorenew($id, $params['autorenew']);
         $this->_helper->redirector('edit', 'domains', 'default', array('id' => $id, 'mex' => 'The task requested has been executed successfully.', 'status' => 'success'));
     } catch (Exception $e) {
         die($e->getMessage());
     }
 }
예제 #25
0
 static function pre()
 {
     self::init();
     if (self::$cur_lang->id() != domains::curDomain()->getDefLang()) {
         return '/' . self::$cur_lang->getPrefix();
     } else {
         return '';
     }
 }
예제 #26
0
 /**
  * @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;
 }
예제 #27
0
$text = $language->get();
//show the title
if ($format == 'text') {
    echo "\n";
    echo $text['label-upgrade'] . "\n";
    echo "-----------------------------------------\n";
    echo "\n";
    echo $text['label-database'] . "\n";
}
//make sure the database schema and installation have performed all necessary tasks
require_once "resources/classes/schema.php";
$obj = new schema();
echo $obj->schema("text");
//run all app_defaults.php files
require_once "resources/classes/domains.php";
$domain = new domains();
$domain->upgrade();
//show the content
if ($format == 'html') {
    echo "<div align='center'>\n";
    echo "<table width='40%'>\n";
    echo "<tr>\n";
    echo "<th align='left'>" . $text['header-message'] . "</th>\n";
    echo "</tr>\n";
    echo "<tr>\n";
    echo "<td class='row_style1'><strong>" . $text['message-upgrade'] . "</strong></td>\n";
    echo "</tr>\n";
    echo "</table>\n";
    echo "</div>\n";
    echo "<br />\n";
    echo "<br />\n";
예제 #28
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('subscription');
         }
     }
     // Если произошли ошибки, перенаправляем на главную страницу модуля
     if ($obj->issetErrors()) {
         system::redirect('/subscription');
     }
     // Присваиваем пришедшие значения полям в объекте
     $obj->loadFromPost($mini_action);
     $obj->lang = languages::curId();
     $obj->domain = domains::curId();
     // Сохраняем изменения
     $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/subscribe_' . $mini_action . '/' . $obj_id);
     }
     // Если данные изменились корректно перенаправляем на соответствующию страницу
     if ($_POST['parram'] == 'apply') {
         system::redirect('/subscription/subscribe_upd/' . $obj_id);
     } else {
         system::redirect('/subscription');
     }
 }
예제 #29
0
$fax_file_only = $fax_path['basename'];
$fax_file_name = $fax_path['filename'];
$dir_fax = $fax_path['dirname'];
//get the domain_uuid from the database
$sql = "select * from v_domains ";
$sql .= "where domain_name = '" . $domain_name . "' ";
$prep_statement = $db->prepare($sql);
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as &$row) {
    //set the domain variables
    $domain_uuid = $row["domain_uuid"];
    $_SESSION["domain_uuid"] = $row["domain_uuid"];
    $_SESSION["domain_name"] = $domain_name;
    //set the setting arrays
    $domain = new domains();
    $domain->db = $db;
    $domain->set();
}
unset($prep_statement);
//get the fax details from the database
$sql = "select * from v_fax ";
$sql .= "where domain_uuid = '" . $_SESSION["domain_uuid"] . "' ";
$sql .= "and fax_extension = '{$fax_extension}' ";
$prep_statement = $db->prepare($sql);
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_ASSOC);
foreach ($result as &$row) {
    //set database fields as variables
    //$fax_email = $row["fax_email"];
    $fax_uuid = $row["fax_uuid"];
예제 #30
0
 private function createTemplate($field_name)
 {
     $id = 0;
     $type = $field_name == 'template_id' ? 0 : 1;
     if (!empty($_POST[$field_name . '_new_val']) && !empty($_POST[$field_name . '_new_val2'])) {
         $templ = new template($id);
         $templ->setName($_POST[$field_name . '_new_val']);
         $templ->setFile($_POST[$field_name . '_new_val2']);
         $templ->setDestination($type);
         $templ->setLangId(languages::curId());
         $templ->setDomainId(domains::curId());
         $id = $templ->save();
     }
     if (!empty($id)) {
         $_POST[$field_name] = $id;
     }
 }