Esempio n. 1
0
 public function restore()
 {
     if (system::issetUrl(2) && is_numeric(system::url(2))) {
         // Одиночное востановление
         $obj = new ormObject(system::url(2));
         if ($obj->isInheritor('section')) {
             $obj = new ormPage(system::url(2));
         }
         $obj->restore();
         echo 'delete';
     } else {
         if (isset($_POST['objects'])) {
             // Множественное востановление
             while (list($id, $val) = each($_POST['objects'])) {
                 if (is_numeric($id)) {
                     $obj = new ormObject($id);
                     if ($obj->isInheritor('section')) {
                         $obj = new ormPage($id);
                     }
                     $obj->restore();
                 }
             }
             echo 'delete';
         }
     }
     ormPages::clearCache();
     system::stop();
 }
Esempio n. 2
0
 private static function init()
 {
     if (empty(self::$cur_lang)) {
         $lang_id = reg::getKey('/core/cur_lang/id');
         if (!empty($lang_id)) {
             // Если язык в системе один, загружаем его данные из реестра
             $lang_prefix = reg::getKey('/core/cur_lang/prefix');
             self::$langs[$lang_id] = array('l_id' => $lang_id, 'l_name' => reg::getKey('/core/cur_lang/name'), 'l_prefix' => $lang_prefix, 'id' => $lang_id);
             self::$langs_rel[$lang_prefix] = $lang_id;
         } else {
             // Языков много, определяем язык по URL`y
             if (system::issetUrl(0) && strlen(system::url(0)) < 6) {
                 self::$cur_lang = self::get(system::url(0));
                 if (self::$cur_lang instanceof language) {
                     system::clipUrl();
                     self::$isCliped = true;
                 }
             }
         }
         if (!self::$cur_lang instanceof language) {
             self::$cur_lang = self::get(domains::curDomain()->getDefLang());
         }
         if (!self::$cur_lang instanceof language) {
             die('не могу определить язык');
         }
     }
 }
Esempio n. 3
0
 public function proc_upd()
 {
     if (system::issetUrl(2)) {
         $obj = new ormField();
         $obj->setGroupId(system::url(2));
     } else {
         if (system::action() == "proc_upd") {
             $obj = new ormField($_POST['obj_id']);
         } else {
             if (system::action() == "proc_add") {
                 $obj = new ormField();
                 $obj->setGroupId($_POST['obj_id']);
             }
         }
     }
     if (!empty($_POST['fname'])) {
         $obj->setName($_POST['fname']);
     }
     if (!empty($_POST['max_size'])) {
         $obj->setMaxSize($_POST['max_size']);
     } else {
         $obj->setMaxSize(0);
     }
     $obj->setType(0);
     $obj->setInherit(1);
     $obj_id = $obj->save();
     if ($obj_id === false) {
         echo json_encode(array('error' => 1, 'data' => $obj->getErrorListText(' ')));
     } else {
         $tree = new ormFieldsTree();
         $forUpd = system::action() == "proc_add" ? 0 : 1;
         echo json_encode(array('error' => 0, 'data' => $tree->getFieldHTML($obj, $forUpd)));
     }
     system::stop();
 }
Esempio n. 4
0
 public function to_basketAction()
 {
     if ($goods = ormPages::get(system::url(2), 'goods')) {
         $count = system::issetUrl(3) ? system::url(3) : 1;
         basket::addGoods($goods, $count);
     }
     system::redirect('/eshop/basket');
 }
Esempio n. 5
0
 public function viewAction()
 {
     if (system::issetUrl(2)) {
         $_SESSION['voting_' . system::url(2)] = 1;
         echo page::macros('voting')->objView(system::url(2));
     }
     system::stop();
 }
Esempio n. 6
0
 public function unsubscribeAction()
 {
     if (system::issetUrl(2) && system::issetUrl(3)) {
         if (($obj = ormObjects::get(system::url(2))) && $obj->isInheritor('subscription')) {
             mailingProcess::delEmailById(system::url(3), $obj->id);
             page::assign('name', $obj->name);
             return page::parse(lang::get('SUBSCRIPTION_MSG2'));
         }
     }
     return ormPages::get404();
 }
Esempio n. 7
0
 public function defAction()
 {
     if (!system::issetUrl(2)) {
         system::redirect('/reference');
     }
     if ($class = ormClasses::get(system::url(2))) {
         if (!$class->isInheritor('handbook') || $class->getSName() == 'handbook') {
             system::redirect('/reference');
         }
         ui::setNaviBar(lang::right('values'));
         ui::setHeader($class->getName());
         ui::setBackButton('/reference');
         if (user::issetRight('val_upd')) {
             $count = 0;
             $fields = $class->loadFields();
             foreach ($fields as $field) {
                 if ($field['f_view'] == 1) {
                     $count++;
                 }
             }
         } else {
             $count = 4;
         }
         $sel = new ormSelect($class->getSName());
         if ($count > 5) {
             ui::newButton(lang::get('BTN_NEW_LIST'), '/reference/val_add/' . system::url(2));
             $table = new uiTable($sel);
             $table->showSearch(true);
             $table->addColumn('name', 'Имя объекта');
             $table->addColumn('id', '#', 200);
             $table->defaultRight('val_upd');
             $table->addRight('val_upd', 'edit', single);
             $table->addRight('val_del', 'drop', multi);
             return $table->getHTML();
         } else {
             ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');");
             ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');");
             $form = new ormMultiForm('change');
             $form->setData($sel);
             $form->showColumnID();
             $form->setRight('val_proc_upd');
             $form->moreParam(system::url(2));
             if (!user::issetRight('val_upd') || !user::issetRight('val_add')) {
                 $form->withoutAdditions();
             }
             if (!user::issetRight('val_del')) {
                 $form->withoutRemoving();
             }
             return $form->getHTML();
         }
     } else {
         system::redirect('/reference');
     }
 }
Esempio n. 8
0
 public function defAction()
 {
     // Определяем какие кнопки будут
     $types = ormClasses::get('user')->getAllInheritors();
     if (count($types) > 1) {
         $class_list = '';
         while (list($id, $name) = each($types)) {
             $bclass = ormClasses::get($id);
             $class_list .= '<a href="' . system::au() . '/users/user_add/' . system::url(2) . '/' . $bclass->getSName() . '" style="line-height:17px;">' . $bclass->getName() . '</a><br />';
         }
         ui::newButton(lang::get('BTN_NEW_USER'), "/users/user_add/" . system::url(2), 'class_list', $class_list);
     } else {
         ui::newButton(lang::get('BTN_NEW_USER'), "/users/user_add/" . system::url(2));
     }
     ui::setBackButton('/users');
     // Заголовок страницы
     if ($group = ormObjects::get(system::url(2))) {
         ui::setNaviBar($group->name);
         ui::setHeader(lang::right('userlist'));
     }
     // Выбираем пользователей
     $sel = new ormSelect('user');
     if (system::issetUrl(2) && system::url(2) != 0) {
         $sel->where('parents', '=', system::url(2));
     }
     $sel->orderBy('create_date', desc);
     // Строим таблицу
     $table = new uiTable($sel);
     $table->formatValues(true);
     $table->showSearch(true);
     $table->addColumn('login', lang::get('USERS_TABLE_FIELD_1'), 0, true);
     $table->addColumn('surname name', lang::get('USERS_TABLE_FIELD_2'), 0, true);
     $table->addColumn('create_date', lang::get('USERS_TABLE_FIELD_7'), 0, true, true, '', 1);
     $table->addColumn('last_visit', lang::get('USERS_TABLE_FIELD_3'), 0, true, true, '', 1);
     $table->addColumn('parents', lang::get('USERS_TABLE_FIELD_4'), 0, false, true);
     $table->defaultRight('user_upd');
     $table->addRight('user_upd', 'edit', single);
     $table->addRight('user_act', 'active', multi);
     $table->addRight('user_del', 'drop', multi);
     $table->setDelMessage(lang::get('USERS_DEL_TITLE'), lang::get('USERS_DEL_TEXT'));
     $table->setMultiDelMessage(lang::get('USERS_DEL_TITLE_MULTI'), lang::get('USERS_DEL_TEXT_MULTI'));
     return $table->getHTML();
 }
Esempio n. 9
0
 public function act()
 {
     if (system::issetUrl(2) && is_numeric(system::url(2))) {
         if ($obj = comments::get(system::url(2))) {
             $obj->setActive(!$obj->isActive());
             $obj->save();
             echo $obj->isActive() ? 'active' : 'no_active';
         }
     } else {
         if (isset($_POST['objects'])) {
             while (list($id, $val) = each($_POST['objects'])) {
                 if ($obj = comments::get($val)) {
                     $obj->setActive(!$obj->isActive());
                     $obj->save();
                 }
             }
             echo 'invert';
         }
     }
     system::stop();
 }
Esempio n. 10
0
 public function upd()
 {
     if (file_exists(MODUL_DIR . '/constructor/template/fgroup.tpl')) {
         include MODUL_DIR . '/constructor/template/fgroup.tpl';
     }
     if (system::action() == "upd") {
         // форма обновления информации
         $group = new ormFieldsGroup(system::url(2));
         if ($group->id() == '') {
             system::stop();
         }
         page::assign('obj.group_name', $group->getName());
         page::assign('obj.group_sname', $group->getSName());
         page::assign('obj.id', $group->id());
         $view = $group->getView();
         $system = $group->getSystem();
         page::assign('right', 'fgroup_proc_upd');
     } else {
         if (system::action() == "add") {
             // форма добавления информации
             if (system::issetUrl(2)) {
                 // Проверяем существует ли родитель?
                 $class = new ormClass(system::url(2));
                 if ($class->id() == '') {
                     system::stop();
                 }
             }
             $view = 1;
             $system = 0;
             page::assign('obj.id', system::url(2));
             page::assign('right', 'fgroup_proc_add');
         }
     }
     page::assignArray(lang::get('CONSTR_FORM_FIELD2'));
     page::assignSavingPost();
     ui::CheckBox('group_view', 1, $view, lang::get('CONSTR_FORM_FIELD2', 3));
     ui::CheckBox('group_system', 1, $system, lang::get('CONSTR_FORM_FIELD2', 4));
     echo page::parse($TEMPLATE['frame'], 1);
     system::stop();
 }
Esempio n. 11
0
 public function proc()
 {
     if (system::isAjax() && system::issetUrl(2)) {
         if (system::url(2) == 'start') {
             searchIndex::clear();
             reg::setKey(ormPages::getPrefix('search') . '/index_date', date('d.m.Y'));
             $sel = new ormSelect();
             $sel->fields('name');
             $sel->findInPages();
             $sel->where('active', '=', 1);
             $sel->where('in_search', '=', 1);
             echo $sel->getCount();
         } else {
             if (system::url(2) == 'info') {
                 $data = reg::getKey(ormPages::getPrefix('search') . '/index_date');
                 if (empty($data)) {
                     $data = '-';
                 }
                 system::json(array('pages' => searchIndex::getCountPages(), 'words' => searchIndex::getCountWords(), 'data' => $data));
             } else {
                 $sel = new ormSelect();
                 $sel->findInPages();
                 $sel->where('active', '=', 1);
                 $sel->where('in_search', '=', 1);
                 $sel->limit(system::url(2), 1);
                 searchIndex::indexPage($sel->getObject());
                 echo 'ok';
             }
         }
         system::stop();
     }
     if (system::POST('parram') == 'clear') {
         searchIndex::clear();
     }
     system::redirect('/search/index');
 }
Esempio n. 12
0
 public function del()
 {
     set_time_limit(600);
     if (system::issetUrl(2) && is_numeric(system::url(2))) {
         // Одиночное удаление
         if ($obj = ormPages::get(system::url(2))) {
             $obj->toTrash();
             echo 'delete';
         }
     } else {
         if (isset($_POST['objects'])) {
             // Множественное удаление
             while (list($id, $val) = each($_POST['objects'])) {
                 if (is_numeric($id)) {
                     if ($obj = ormPages::get($id)) {
                         $obj->toTrash();
                     }
                 }
             }
             echo 'delete';
         }
     }
     system::stop();
 }
Esempio n. 13
0
 // удаление объекта
 public function del()
 {
     if (system::issetUrl(2) && is_numeric(system::url(2))) {
         // Одиночное удаление
         ormObjects::get(system::url(2))->toTrash();
         echo 'delete';
     } else {
         if (isset($_POST['objects'])) {
             // Множественное удаление
             while (list($id, $val) = each($_POST['objects'])) {
                 ormObjects::get($id)->toTrash();
             }
             echo 'delete';
         }
     }
     system::stop();
Esempio n. 14
0
 public function del()
 {
     if (system::issetUrl(2) && is_numeric(system::url(2))) {
         // Одиночное удаление
         if ($obj = eShopOrder::get(system::url(2))) {
             $obj->delete();
             echo 'delete';
         }
     } else {
         if (isset($_POST['objects'])) {
             // Множественное удаление
             while (list($id, $val) = each($_POST['objects'])) {
                 if ($obj = eShopOrder::get($val)) {
                     $obj->delete();
                 }
             }
             echo 'delete';
         }
     }
     system::stop();
 }
Esempio n. 15
0
    public function defAction()
    {
        $_SESSION['STRUCTURE_LIST_FLAG'] = 1;
        // Если страниц нет, предлагаем добавить новую
        if (ormPages::getCountOfSection(0) == 0) {
            ui::MessageBox(lang::get('STRUCTURE_PAGE_NOT_FOUND'), lang::get('STRUCTURE_PAGE_NOT_FOUND2'));
            system::redirect('/structure/page_add');
        }
        $obj_id = system::issetUrl(2) ? system::url(2) : 0;
        function getPageNotice($page)
        {
            $notice = '';
            if ($page->is_home_page) {
                $notice = lang::get('STRUCTURE_TREE_TEXT12');
            }
            if ($page->other_link != '') {
                $notice = lang::get('STRUCTURE_TREE_TEXT32');
            }
            if (!$page->view_in_menu) {
                if (!empty($notice)) {
                    $notice .= ', ';
                }
                $notice .= lang::get('STRUCTURE_TREE_TEXT22');
            }
            if (!empty($notice)) {
                return '(' . $notice . ')';
            } else {
                return '';
            }
        }
        // Вывод дерева объектов
        $tree = new ormTree(328, 57);
        $tree->setClass('ormPage');
        $tree->setRoot(0, reg::getKey(ormPages::getPrefix() . '/title_prefix'), 'list/0');
        $tree->setNotice('getPageNotice');
        $tree->setRightEdit('list');
        $tree->setRightActive('page_proc_act');
        $tree->setRightRemove('page_proc_moveto');
        $tree->setRightAjaxLoad('list');
        $tree->setDelMessage(lang::get('STRUCTURE_DEL_TITLE'), lang::get('STRUCTURE_DEL_TEXT'));
        $tree->addRight('page_upd', lang::right('page_upd'), 'compose_image');
        $tree->addRight('page_add', lang::right('page_add'), 'add_image');
        //, 'class_list', $class_list
        ui::setLeftPanel($tree->getHTML());
        // Заголовок страницы
        ui::setHeader(lang::right('tree'));
        if (!empty($obj_id) && ($obj = ormPages::get($obj_id))) {
            ui::setNaviBar(lang::right('list'));
            ui::setHeader($obj->name);
            ui::setBackButton('/structure/list/' . $obj->getParentId());
        } else {
            $obj_id = 0;
        }
        // Формируем список классов для быстрого добавления
        $class_name = ormPages::getPopularClass($obj_id);
        $class = ormClasses::get($class_name);
        $types = ormClasses::get('section')->getAllInheritors();
        $no_edit = reg::getList(ormPages::getPrefix() . '/no_edit');
        $elem_list = $cat_list = '';
        while (list($id, $name) = each($types)) {
            if (!in_array($id, $no_edit)) {
                $bc = ormClasses::get($id);
                $pach = '/css_mpanel/tree/images/';
                $ico = 'classes/' . $bc->getSName() . '.png';
                if (!file_exists(ROOT_DIR . $pach . $ico)) {
                    $ico = 'file1.gif';
                }
                if ($bc->isInheritor('category') || $bc->getSName() == 'section') {
                    $cat_list .= '
			    	<li><img src="' . $pach . $ico . '">
			    	<a href="' . system::au() . '/structure/page_add/' . $obj_id . '/' . $bc->getSName() . '">' . $bc->getName() . '</a></li>';
                } else {
                    $elem_list .= '
			    	<li ><img src="' . $pach . $ico . '">
			    	<a href="' . system::au() . '/structure/page_add/' . $obj_id . '/' . $bc->getSName() . '">' . $bc->getName() . '</a></li>';
                }
            }
        }
        $class_list = '<ul>' . $cat_list . '</ul><ul>' . $elem_list . '</ul>';
        ui::newButton(lang::get('PANEL_BTN_ADD_PART') . $class->getPadej(0), "/structure/page_add/" . $obj_id, 'class_list', $class_list);
        // Формируем выборку страниц для таблицы
        $sel = new ormSelect();
        $sel->findInPages();
        $sel->where('parents', '=', $obj_id);
        // Определяем способ сортировки списка
        $order_by = !empty($obj_id) ? $obj->order_by : '';
        if (!empty($order_by)) {
            $pos = strpos($order_by, ' ');
            if ($pos) {
                $parram = substr($order_by, $pos + 1);
                $order_by = substr($order_by, 0, $pos);
            } else {
                $parram = '';
            }
            $sel->orderBy($order_by, $parram);
        } else {
            $sel->orderBy(position, asc);
        }
        // Вывод таблицы
        $table = new uiTable($sel);
        $table->formatValues(true);
        $table->showSearch(true);
        $table->hideEmptyColumns(true);
        $table->addColumn('name', lang::get('STRUCTURE_TABLE_FIELD_1'), 500, true);
        $table->addColumn('image', lang::get('STRUCTURE_TABLE_FIELD_2'), 400, false, false);
        $table->addColumn('price', lang::get('STRUCTURE_TABLE_FIELD_3'), 400);
        $table->addColumn('publ_date', lang::get('STRUCTURE_TABLE_FIELD_4'), 400);
        $table->defaultRight('page_upd');
        $table->addRight('page_upd', 'edit', single);
        $table->addRight('list', 'list', single);
        $table->addRight('page_history', 'history', single);
        $table->addRight('page_proc_act', 'active', multi);
        $table->addRight('page_del', 'drop', multi);
        $table->setDelMessage(lang::get('STRUCTURE_DEL_TITLE'), lang::get('STRUCTURE_DEL_TITLE'));
        $table->setMultiDelMessage(lang::get('STRUCTURE_DEL_TITLE_MULTI'), lang::get('STRUCTURE_DEL_TEXT_MULTI'));
        return $table->getHTML();
    }
Esempio n. 16
0
 public function del()
 {
     if (system::issetUrl(2) && is_numeric(system::url(2))) {
         // Одиночное удаление
         $obj = ormObjects::get(system::url(2));
         if ($obj->isInheritor('user') && $obj->id != user::get('id')) {
             $this->sendMailDel($obj);
             cache::delete('user' . $obj->id);
             $obj->toTrash();
             echo 'delete';
         }
     } else {
         if (isset($_POST['objects'])) {
             // Множественное удаление
             while (list($id, $val) = each($_POST['objects'])) {
                 if (is_numeric($id)) {
                     $obj = ormObjects::get($id);
                     if ($obj->isInheritor('user') && $obj->id != user::get('id')) {
                         $this->sendMailDel($obj);
                         cache::delete('user' . $obj->id);
                         $obj->toTrash();
                     }
                 }
             }
             echo 'delete';
         }
     }
     system::stop();
 }
Esempio n. 17
0
 public function del()
 {
     if (!isset($_POST['objects']) && system::issetUrl(2) && is_numeric(system::url(2))) {
         // Одиночное удаление
         $obj = ormObjects::get(system::url(2));
         if ($obj->isInheritor('user_group') && $obj->id != 32 && $obj->id != 48) {
             $obj->toTrash();
             echo 'delete';
         }
     } else {
         if (isset($_POST['objects'])) {
             // Множественное удаление
             while (list($id, $val) = each($_POST['objects'])) {
                 if (is_numeric($id)) {
                     $obj = ormObjects::get($id);
                     if ($obj->isInheritor('user_group') && $obj->id != 32 && $obj->id != 48) {
                         $obj->toTrash();
                     }
                 }
             }
             echo 'delete';
         }
     }
     system::stop();
 }
Esempio n. 18
0
 function getHTML($templ_name = 'orm_tree')
 {
     if (file_exists(MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl')) {
         include MODUL_DIR . '/mpanel/template/' . $templ_name . '.tpl';
         $main_url = system::au() . '/' . system::url(0) . '/';
         page::assign('main_url', $main_url);
         page::assign('plus_table', $this->plus_table);
         // Помечаем веточку закрытой
         if (system::isAjax() && (system::url(2) == 'close' || system::url(2) == 'open') && system::issetUrl(3)) {
             if (system::url(2) == 'open' && is_numeric(system::url(3))) {
                 $_SESSION['TREE_OPEN_NODES'][system::url(3)] = 1;
             } else {
                 if (isset($_SESSION['TREE_OPEN_NODES'][system::url(3)])) {
                     unset($_SESSION['TREE_OPEN_NODES'][system::url(3)]);
                 }
             }
             system::stop();
         } else {
             // По POST запросу формируем ветку дерева
             if (isset($_POST['id'])) {
                 if (!empty($_POST['id'])) {
                     //system::log($_POST['id']);
                     $_POST['id'] = str_replace('phtml_', '', $_POST['id']);
                     $pos = strpos($_POST['id'], '_');
                     $_POST['id'] = substr($_POST['id'], 0, strlen($_POST['id']) - (strlen($_POST['id']) - $pos));
                     //system::log($_POST['id']);
                 }
                 $_SESSION['TREE_OPEN_NODES'][$_POST['id']] = 1;
                 ormPages::init(array($_POST['id'] => 1));
                 // Строим одни уровень дерева
                 $tmp = $this->build_menu($_POST['id'], $TEMPLATE, false);
                 //echo str_replace('`%`', '%', $tmp);
                 echo $tmp;
                 system::stop();
             }
         }
         // Парсим дерево разделов
         if (isset($_SESSION['TREE_OPEN_NODES'])) {
             ormPages::init($_SESSION['TREE_OPEN_NODES']);
         }
         $subm = $this->build_menu($this->root_id, $TEMPLATE);
         page::assign('sub_items', $subm);
         page::assign('item.id', $this->root_id);
         page::assign('item.parent_id', '');
         page::assign('item.url', $this->root_url);
         page::assign('item.active', 1);
         page::assign('item.name', $this->root_title);
         page::assign('item.notice', '');
         page::assign('obj.ico', '/css_mpanel/tree/images/classes/core.png');
         page::assign('obj.url', '');
         page::assign('close', empty($subm) ? '' : ' open');
         page::fParse('items', $TEMPLATE['items']);
         page::fParse('frame_items', $TEMPLATE['frame_items']);
         // Выводим список прав для веточек
         $item = '';
         $zagl_width = 0;
         while (list($key, $right) = each($this->rights)) {
             if ($right['java'] == 1) {
                 $zagl_width += 20;
             }
             if ($right == 'empty' || !user::issetRight($right['name']) && $right['name'] != 'getUrl()') {
                 $item .= $right != 'empty' ? '' : page::parse($TEMPLATE['item_right_null']);
             } else {
                 page::assign('title', $right['title']);
                 page::assign('image_style', $right['class']);
                 page::assign('url', $main_url . $right['name'] . '/');
                 page::assign('hide_in_root', $right['show_in_root'] ? '' : ' hide_in_root');
                 if ($right['name'] == 'getUrl()') {
                     $templ = 'item_right_url';
                 } else {
                     $templ = $right['java'] == 1 ? 'item_right_del' : 'item_right';
                 }
                 if (!empty($right['list'])) {
                     $templ = 'item_right_list';
                     page::assign('list_id', $right['list']);
                     page::assign('list_html', $right['list_html']);
                     page::fParse('tree_list', $TEMPLATE['tree_list']);
                 }
                 $item .= page::parse($TEMPLATE[$templ]);
             }
         }
         page::assign('rights', $item);
         page::assign('act_link', $this->rightActive);
         page::assign('remove_link', $this->rightRemove);
         page::assign('load_link', $this->ajaxLink);
         page::assign('root_id', $this->root_id);
         page::assign('zagl_width', $zagl_width);
         // Текст сообщения об удалении элементов
         if (empty($this->del_title) || empty($this->del_text)) {
             $this->del_title = lang::get('TABLE_DROP_TITLE');
             $this->del_text = lang::get('TABLE_DROP_TEXT');
         }
         page::assign('del_title', $this->del_title);
         page::assign('del_text', $this->del_text);
         page::assign('width', $this->width);
         page::assign('width2', $this->width2);
         page::assign('left', $this->width - $this->width2);
         page::assign('style_prefix', $this->miniStyle ? '_mini' : '');
         page::assign('isEditable', $this->rightEdit ? 1 : 0);
         page::assign('isChangeActive', $this->rightActive ? 1 : 0);
         page::assign('isDragged', $this->rightRemove ? 1 : 0);
         page::assign('isShowRight', empty($this->rights) ? 0 : 1);
         return page::parse($TEMPLATE['main']);
     }
 }
Esempio n. 19
0
 public function act()
 {
     if (system::issetUrl(2) && is_numeric(system::url(2))) {
         // Одиночное изменение
         $obj = ormObjects::get(system::url(2));
         if ($obj->isInheritor('subscription')) {
             $obj->active = $obj->active ? false : true;
             $obj->save();
             if (!$obj->issetErrors()) {
                 echo $obj->active ? 'active' : 'no_active';
             }
         }
     } else {
         if (isset($_POST['objects'])) {
             // Множественное изменение
             $invert = true;
             while (list($id, $val) = each($_POST['objects'])) {
                 if (is_numeric($id)) {
                     $obj = ormObjects::get($id);
                     if ($obj->isInheritor('subscription')) {
                         $obj->active = $obj->active ? false : true;
                         $obj->save();
                         if ($obj->issetErrors()) {
                             $invert = false;
                         }
                     }
                 }
             }
             if ($invert) {
                 echo 'invert';
             }
         }
     }
     system::stop();
 }
Esempio n. 20
0
 private function changeDomainInfo($TEMPLATE)
 {
     if (system::issetUrl(2) && system::url(2) == 'edit') {
         if (isset($_POST['error_msg']) && isset($_POST['offline_msg'])) {
             // Обработчик изменения свойств домена
             $domain = new domain(system::url(3));
             $domain->setErrorMsg($_POST['error_msg']);
             $domain->setOfflineMsg($_POST['offline_msg']);
             $domain->save();
             $form = new uiMultiForm('mirrors');
             function changeMirror($id, $data, $form_name, $domain)
             {
                 return $domain->changeMirror($data['d_name'], $id);
             }
             function delMirror($id, $form_name, $domain)
             {
                 $domain->delMirror($id);
             }
             $form->process('changeMirror', 'delMirror', $domain);
         } else {
             // Форма редактирования домена
             $domain = new domain(system::url(3));
             page::assign('error_msg', $domain->getErrorMsg());
             page::assign('offline_msg', $domain->getOfflineMsg());
             $form = new uiMultiForm('mirrors');
             $form->insideForm();
             $form->setData($domain->getMirrors());
             $form->addColumn('d_name', lang::get('CONFIG_FORM_FIELD', 31), 260);
             page::assign('mirrors_list', $form->getHTML());
             echo page::parse($TEMPLATE['domain_frame']);
         }
         die;
     }
 }
Esempio n. 21
0
 private static function getMacrosContent($post_parram = 0)
 {
     $macros = self::macros(system::url(1));
     $parram = array();
     if (!empty($post_parram) && is_array($post_parram)) {
         while (list($key, $val) = each($post_parram)) {
             $parram[] = system::checkVar($val, isString);
         }
     } else {
         $num = 3;
         while (system::issetUrl($num)) {
             $parram[] = system::url($num);
             $num++;
         }
     }
     if (method_exists($macros, system::url(2))) {
         $html = call_user_func_array(array($macros, system::url(2)), $parram);
     } else {
         $html = 'Указанный макрос не существует "' . system::url(1) . '.' . system::url(2) . '()"<br>';
     }
     return $html;
 }
Esempio n. 22
0
 public function upd()
 {
     if (file_exists(MODUL_DIR . '/constructor/template/field.tpl')) {
         include MODUL_DIR . '/constructor/template/field.tpl';
     }
     if (system::action() == "upd") {
         // форма обновления информации
         $obj = new ormField(system::url(2));
         if ($obj->id() == '') {
             system::stop();
         }
         page::assign('obj.fname', $obj->getName());
         page::assign('obj.fsname', $obj->getSName());
         page::assign('obj.hint', $obj->getHint());
         page::assign('obj.max_size', $obj->getMaxSize());
         page::assign('obj.id', $obj->id());
         $view = $obj->getView();
         $inherit = $obj->getInherit();
         $search = $obj->getSearch();
         $filter = $obj->getFilter();
         $required = $obj->getRequired();
         $system = $obj->getSystem();
         $type = $obj->getType();
         $list_id = $obj->getListId();
         $uniqum = $obj->getUniqum();
         $quick_add = $obj->getQuickAdd();
         $relation = $obj->getRelType();
         $spec = $obj->getSpec();
         $fr = $obj->getSName() == 'name' ? '_name' : '';
         page::assign('right', 'field_proc_upd');
     } else {
         if (system::action() == "add") {
             // форма добавления информации
             if (system::issetUrl(2)) {
                 // Проверяем существует ли родитель?
                 $group = new ormFieldsGroup(system::url(2));
                 if ($group->id() == '') {
                     system::stop();
                 }
             }
             $view = $inherit = 1;
             $search = $filter = $required = $system = $type = $list_id = $uniqum = $spec = $quick_add = $relation = 0;
             $fr = '';
             page::assign('obj.id', system::url(2));
             page::assign('right', 'field_proc_add');
         }
     }
     page::assignArray(lang::get('CONSTR_FORM_FIELD3'));
     page::assignSavingPost();
     ui::CheckBox('view', 1, $view, lang::get('CONSTR_FORM_FIELD3', 6));
     ui::CheckBox('inherit', 1, $inherit, lang::get('CONSTR_FORM_FIELD3', 7));
     ui::CheckBox('search', 1, $search, lang::get('CONSTR_FORM_FIELD3', 8));
     ui::CheckBox('filter', 1, $filter, lang::get('CONSTR_FORM_FIELD3', 9));
     ui::CheckBox('required', 1, $required, lang::get('CONSTR_FORM_FIELD3', 10));
     ui::CheckBox('system', 1, $system, lang::get('CONSTR_FORM_FIELD3', 11));
     ui::CheckBox('uniqum', 1, $uniqum, lang::get('CONSTR_FORM_FIELD3', 13));
     ui::CheckBox('quick_add', 1, $quick_add, lang::get('CONSTR_FORM_FIELD3', 14));
     ui::CheckBox('spec', 1, $spec, lang::get('CONSTR_FORM_FIELD3', 16));
     ui::SelectBox('reltype', lang::get('CONSTR_RELTYPE'), $relation, 300);
     ui::SelectBox('type', lang::get('CONSTR_TYPE_LIST' . $fr), $type, 300);
     $list = ormClasses::getHandbooks();
     ui::SelectBox('list_id', $list, $list_id, 300, '&nbsp;');
     page::assign('sh', !empty($list_id) ? '' : 'style="display:none;"');
     page::assign('sh2', $type > 69 && $type < 86 ? '' : 'style="display:none;"');
     page::assign('sh3', $type == 90 || $type == 95 || $type == 100 ? '' : 'style="display:none;"');
     page::assign('sh4', $type == 55 || $type == 60 ? '' : 'style="display:none;"');
     echo page::parse($TEMPLATE['frame' . $fr], 1);
     system::stop();
 }
Esempio n. 23
0
 public function del()
 {
     if (system::issetUrl(2) && is_numeric(system::url(2))) {
         // Одиночное удаление
         if (mailingProcess::delEmailById(system::url(2), system::url(3))) {
         }
         echo 'delete';
     } else {
         if (isset($_POST['objects'])) {
             // Множественное удаление
             while (list($id, $val) = each($_POST['objects'])) {
                 mailingProcess::delEmailById($id, system::url(3));
             }
             echo 'delete';
         }
     }
     system::stop();
 }
Esempio n. 24
0
 public function upd()
 {
     $is_page = false;
     if (file_exists(MODUL_DIR . '/constructor/template/class.tpl')) {
         include MODUL_DIR . '/constructor/template/class.tpl';
     }
     if (system::action() == "upd") {
         // форма обновления информации
         $class = new ormClass(system::url(2));
         if ($class->id() == '') {
             system::redirect('/constructor/tree');
         }
         page::assign('obj.class_name', $class->getName());
         page::assign('obj.sname', $class->getSName());
         page::assign('obj.text', $class->getPadej());
         page::assign('obj.id', $class->id());
         $system = $class->isSystem();
         $is_list = $class->isList();
         $is_page = $class->isPage();
         $is_user = $class->isInheritor('user');
         $base_class = $class->getBaseClass();
         page::assign('right', 'class_proc_upd');
         // Выводим дерево для отображения структуры класса
         $tree = new ormFieldsTree();
         page::assign('fields', $tree->getHTML($class));
     } else {
         if (system::action() == "add") {
             // форма добавления информации
             $system = $is_list = $uniqum = $base_class = 0;
             // Проверяем существует ли родитель?
             if (system::issetUrl(2)) {
                 $parent = new ormClass(system::url(2));
                 if ($parent->id() == '') {
                     system::redirect('/constructor/tree');
                 }
                 $is_list = $parent->isList();
                 $is_page = $parent->isPage();
                 $is_user = $parent->isInheritor('user');
             } else {
                 $is_user = false;
             }
             page::assign('obj.id', system::url(2));
             page::assign('right', 'class_proc_add');
         }
     }
     if ($is_page) {
         ui::SelectBox('class_list', ormClasses::getPagesClassList(), $base_class, 400, '&nbsp;');
         ui::SelectBox('template_list1', templates::getByDestination(0, true), isset($class) ? $class->getDefTemplate(0) : 0, 400, '&nbsp;');
         ui::SelectBox('template_list2', templates::getByDestination(1, true), isset($class) ? $class->getDefTemplate(1) : 0, 400, '&nbsp;');
         page::fParse('page_fields', $TEMPLATE['page_fields']);
     } else {
         if ($is_user) {
             page::fParse('page_fields', $TEMPLATE['user_fields']);
         } else {
             page::assign('page_fields', '');
         }
     }
     if (system::action() == "add" || !$class->isSystem()) {
         ui::newButton(lang::get('BTN_SAVE'), "javascript:sendForm('save');");
         ui::newButton(lang::get('BTN_APPLY'), "javascript:sendForm('apply');");
         ui::setCancelButton('/constructor');
     } else {
         ui::setBackButton('/constructor');
     }
     page::assignArray(lang::get('CONSTR_FORM_FIELD'));
     page::assignSavingPost();
     ui::CheckBox('system', 1, $system, lang::get('CONSTR_FORM_FIELD', 3));
     ui::CheckBox('is_list', 1, $is_list, lang::get('CONSTR_FORM_FIELD', 4));
     return page::parse($TEMPLATE['frame'], 1);
 }
Esempio n. 25
0
 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();
     }
 }
Esempio n. 26
0
 public function del()
 {
     if (system::issetUrl(2) && is_numeric(system::url(2))) {
         // Одиночное удаление
         if ($obj = ormObjects::get(system::url(2))) {
             if ($obj->isInheritor('subscribe_msg')) {
                 $obj->toTrash();
             }
         }
         echo 'delete';
     } else {
         if (isset($_POST['objects'])) {
             // Множественное удаление
             while (list($id, $val) = each($_POST['objects'])) {
                 if ($obj = ormObjects::get($id)) {
                     if ($obj->isInheritor('subscribe_msg')) {
                         $obj->toTrash();
                     }
                 }
             }
             echo 'delete';
         }
     }
     system::stop();
 }
Esempio n. 27
0
    public function defAction()
    {
        // Устанавливаем статус системы "в режиме администрирования".
        system::$isAdmin = true;
        page::$macros = 0;
        // Попытка авторизации
        if (!empty($_POST['enter'])) {
            if (!user::auth($_POST['login'], $_POST['passw'])) {
                $this->showAuthForm(1);
            } else {
                header("Location: " . $_SERVER["HTTP_REFERER"]);
            }
        }
        // Если пользователь не админ, показываем форму авторизации
        if (!user::isAdmin()) {
            $this->showAuthForm();
        }
        // Определяем текущий домен
        domains::curDomain();
        // Выход из системы
        if (system::issetUrl(0) && system::url(0) == 'logout') {
            user::logout();
        }
        if (system::url(0) == 'showhide') {
            $_SESSION['SH_FIELDS'] = system::url(1) == 0 ? 'hide' : 'show';
            system::stop();
        }
        // Обработка запросов от поля ObjectLinks
        ui::checkObjectLinks();
        system::$defTemplate = MODUL_DIR . '/mpanel/template/default.tpl';
        // Определяем модуль
        if (!system::issetUrl(0)) {
            system::setUrl(0, user::getDefModul());
        }
        // Если есть ссылка на обработчик формы
        if (!empty($_POST['right'])) {
            system::setUrl(1, system::POST('right', isVarName));
        }
        // Определяем право
        if (system::issetUrl(1)) {
            // Проверяем существует ли указанное право
            if (user::issetRight(system::url(1))) {
                $currRight = system::url(1);
            } else {
                if (user::issetRight(str_replace('_proc', '', system::url(1)))) {
                    $currRight = system::url(1);
                }
            }
        } else {
            // Пытаемся найти право по умолчанию
            $def_right = user::getDefaultRight(system::url(0));
            if ($def_right) {
                $currRight = $def_right;
                system::setUrl(1, $def_right);
            }
        }
        $this->getMenu();
        page::assign('current_url', system::getCurrentUrl());
        page::assign('admin_url', system::au());
        if (!empty($currRight)) {
            // Определяем имя и метод контролера
            $pos = strpos($currRight, '_');
            if ($pos) {
                $class_name = '__' . substr($currRight, 0, $pos);
                $action_name = substr($currRight, $pos + 1, strlen($currRight) - $pos);
            } else {
                $class_name = '__' . $currRight;
                $action_name = 'defAction';
            }
            $mod_name = MODUL_DIR . '/' . system::url(0) . '/' . $class_name . '.php';
            // Пытаемся подгрузить модуль
            if (file_exists($mod_name)) {
                include $mod_name;
                if (file_exists(MODUL_DIR . '/' . system::url(0) . '/lang-ru.php')) {
                    include MODUL_DIR . '/' . system::url(0) . '/lang-ru.php';
                }
                ui::setHeader(lang::right($currRight));
                if (class_exists($class_name)) {
                    eval('$c = new ' . $class_name . '();');
                    if (ui::$stop) {
                        $content = '.';
                    } else {
                        if (method_exists($c, $action_name)) {
                            $content = call_user_func(array($c, $action_name));
                        }
                    }
                }
            }
            if (empty($content)) {
                $msg = lang::get('TEXT_PROC_NOTFOUND2') . '<br />' . system::getCurrentUrl() . '<br /><br />
	                        ' . lang::get('TEXT_PROC_NOTFOUND3') . '<br />' . $mod_name . '<br /><br />
	                        ' . lang::get('TEXT_PROC_NOTFOUND4');
                system::log(lang::get('TEXT_PROC_NOTFOUND') . ' ' . system::getCurrentUrl());
                ui::MessageBox(lang::get('TEXT_PROC_NOTFOUND'), $msg);
                system::redirect('/');
            }
        } else {
            system::log(lang::get('TEXT_ERROR_RIGHT_LOG') . system::getCurrentUrl());
            ui::MessageBox(lang::get('TEXT_ERROR_RIGHT'), lang::get('TEXT_ERROR_RIGHT2'));
            system::redirect('/');
        }
        //Производим сжатие страницы
        if (reg::getKey('/config/gzip')) {
            $PREFER_DEFLATE = false;
            $FORCE_COMPRESSION = false;
            $AE = isset($_SERVER['HTTP_ACCEPT_ENCODING']) ? $_SERVER['HTTP_ACCEPT_ENCODING'] : $_SERVER['HTTP_TE'];
            $support_gzip = strpos($AE, 'gzip') !== FALSE || $FORCE_COMPRESSION;
            $support_deflate = strpos($AE, 'deflate') !== FALSE || $FORCE_COMPRESSION;
            if ($support_gzip && $support_deflate) {
                $support_deflate = $PREFER_DEFLATE;
            }
            if ($support_deflate) {
                header("Content-Encoding: deflate");
                ob_start("compress_output_deflate");
            } else {
                if ($support_gzip) {
                    header("Content-Encoding: gzip");
                    ob_start("compress_output_gzip");
                } else {
                    ob_start();
                }
            }
        }
        return ui::getMainHTML($content);
    }
Esempio n. 28
0
 public function tagAction()
 {
     $templ_file = '/search/gettag.tpl';
     $TEMPLATE = page::getTemplate($templ_file);
     if (!is_array($TEMPLATE)) {
         return page::errorNotFound('search.getTag', $templ_file);
     }
     if (system::issetUrl(2) && ($tag = tags::infoTag(system::url(2)))) {
         $msg = lang::get('SEARCH_H1_TAGS') . ' "' . $tag['name'] . '"';
         page::globalVar('h1', $msg);
         page::globalVar('title', $msg);
         // Получаем список классов
         $classes_filter = array();
         if (!empty($_POST['classes'])) {
             $tmp = explode(",", $_POST['classes']);
             $classes_filter = array();
             foreach ($tmp as $v) {
                 $v = trim($v);
                 if (!empty($v)) {
                     $classes_filter[] = $v;
                 }
             }
         }
         $max_count = reg::getKey(ormPages::getPrefix('search') . '/max_count');
         $start = (system::getCurrentNavNum() - 1) * $max_count;
         $result = tags::find(array($tag['id']), $max_count, $start, $classes_filter);
         $list = '';
         while (list($num, $val) = each($result['pages'])) {
             if ($page = ormPages::get($val['page_id'])) {
                 page::assign('obj.id', $page->id);
                 page::assign('obj.num', $num + $start + 1);
                 page::assign('obj.name', $page->name);
                 page::assign('obj.url', $page->_url);
                 //page::assign('obj.content', $page->content);
                 $cn = $page->getClass()->getSName();
                 $block_name = isset($TEMPLATE['list_' . $cn]) ? 'list_' . $cn : 'list';
                 $list .= page::parse($TEMPLATE[$block_name]);
             }
         }
         page::assign('count_page', ceil($result['count'] / $max_count));
     } else {
         $list = '';
         $msg = lang::get('SEARCH_H1_TAGS2');
         page::globalVar('h1', $msg);
         page::globalVar('title', $msg);
     }
     if (!empty($list)) {
         page::assign('list', $list);
         page::fParse('list', $TEMPLATE['frame_list']);
     } else {
         page::fParse('list', $TEMPLATE['not_found']);
     }
     return page::parse($TEMPLATE['frame']);
 }
Esempio n. 29
0
 public function del()
 {
     if (system::issetUrl(2) && is_numeric(system::url(2))) {
         // Одиночное удаление
         if ($obj = ormObjects::get(system::url(2), 'eshop_delivery_method')) {
             $obj->toTrash();
             echo 'delete';
         }
     } else {
         if (isset($_POST['objects'])) {
             // Множественное удаление
             while (list($id, $val) = each($_POST['objects'])) {
                 if ($obj = ormObjects::get($val, 'eshop_delivery_method')) {
                     $obj->toTrash();
                 }
             }
             echo 'delete';
         }
     }
     system::stop();
 }
Esempio n. 30
0
 private static function init()
 {
     if (!self::$isAdmin && system::$isAdmin) {
         // Определяем домен для панели управления
         // Определяем домен по УРЛу
         if (system::issetUrl(0)) {
             $tmp_domain = self::get(str_replace('_', '.', system::url(0)));
             if ($tmp_domain instanceof domain) {
                 self::$cur_domain = $tmp_domain;
                 system::clipUrl();
                 languages::setCurLang(self::$cur_domain->getDefLang());
             }
         }
         // Проверяем, имеет ли пользователь доступ к данному домену
         if (!user::issetRight(languages::curId() . ' ' . self::$cur_domain->id(), 'structure')) {
             //echo languages::curId().' '.self::$cur_domain->id();
             $langs = languages::getAll();
             $domains = domains::getAll();
             if (count($langs) > 1 || count($domains) > 1) {
                 while (list($num2, $domain) = each($domains)) {
                     reset($langs);
                     while (list($num1, $lang) = each($langs)) {
                         if (user::issetRight($lang['l_id'] . ' ' . $domain['d_id'], 'structure')) {
                             $link = ADMIN_URL;
                             if ($domain['d_id'] != 1) {
                                 $link .= '/' . str_replace('.', '_', $domain['d_name']);
                             }
                             if ($lang['l_id'] != 1) {
                                 $link = '/' . $lang['l_prefix'] . $link;
                             }
                             system::redirect($link, true);
                         }
                     }
                 }
             }
         }
         self::$isAdmin = true;
     } else {
         if (empty(self::$cur_domain)) {
             // Опеделяем домен для сайта
             $domain_id = reg::getKey('/core/cur_domain/id');
             if (!empty($domain_id)) {
                 // Если домен в системе один, загружаем его данные из реестра
                 $domain_name = reg::getKey('/core/cur_domain/name');
                 self::$domains[$domain_id] = array('d_id' => $domain_id, 'd_name' => $domain_name, 'd_domain_id' => '', 'd_def_lang' => reg::getKey('/core/cur_domain/def_lang'), 'd_sitename' => reg::getKey('/core/cur_domain/sitename'), 'd_email' => reg::getKey('/core/cur_domain/email'), 'd_online' => reg::getKey('/core/cur_domain/online'), 'd_offline_msg' => reg::getKey('/core/cur_domain/offline_msg'), 'd_error_msg' => reg::getKey('/core/cur_domain/error_msg'), 'id' => $domain_id);
                 self::$domains_rel[$domain_name] = $domain_id;
             } else {
                 $serv_name = $_SERVER['HTTP_HOST'];
                 if (substr($serv_name, 0, 4) == 'www.') {
                     $serv_name = substr($serv_name, 4, strlen($serv_name) - 4);
                 }
                 self::$cur_domain = self::get($serv_name);
             }
             if (!self::$cur_domain instanceof domain) {
                 self::$cur_domain = self::get(1);
             }
             if (!self::$cur_domain instanceof domain) {
                 die('не могу определить домен');
             }
             self::$cur_site_domain = self::$cur_domain;
         }
     }
 }