Exemple #1
0
    public function view()
    {
        if (user::issetRight('delete')) {
            ui::newButton(lang::get('BTN_CLEAR_JORNAL'), 'javascript:clearJornal();');
        }
        ui::addLeftButton('Системный журнал', 'system_view');
        ui::addLeftButton('Журнал БД', 'db_view');
        function getState($val)
        {
            if ($val == info) {
                return 'info';
            } else {
                if ($val == error) {
                    return 'error';
                } else {
                    if ($val == warning) {
                        return 'warning';
                    }
                }
            }
        }
        function getEditUser($val, $obj)
        {
            if (user::issetRight('user_upd', 'users')) {
                return '<a href="' . system::au() . '/users/user_upd/' . $obj['rev_user_id'] . '" target="_blank">' . $val . '</a>';
            } else {
                return $val;
            }
        }
        $count = db::q('SELECT count(rev_id) count FROM <<revue>>, <<objects>> WHERE rev_obj_id = o_id;', value);
        $max_count = uiTable::getMaxCount();
        if (uiTable::getCurPage() != 1) {
            $niz = empty($start_pos) ? uiTable::getCurPage() * $max_count - $max_count : 0;
            $limit = ' LIMIT ' . $niz . ', ' . $max_count;
        } else {
            $limit = ' LIMIT ' . $max_count;
        }
        $mas = db::q('SELECT rev_state, rev_user, rev_user_id, rev_datetime,
        			concat(rev_message, " <b>", o_name, "</b>") rev_msg, rev_ip
		        	FROM <<revue>>, <<objects>>
		        	WHERE rev_obj_id = o_id
		        	ORDER BY rev_datetime DESC ' . $limit, records);
        /*
          Сделать фильтры:
          	- важность
          	- пользователь
          	- тип данных
          	- периуд времени
          	- IP
        */
        $table = new uiTable($mas, $count);
        $table->addColumn('rev_state', 'Важность', 0, false, false, 'getState');
        $table->addColumn('rev_user', 'Пользователь', 0, false, false, 'getEditUser');
        $table->addColumn('rev_msg', 'Действие', 400);
        $table->addColumn('rev_datetime', 'Дата / Время', 0, false, false, 'viewDateTime2');
        $table->addColumn('rev_ip', 'IP');
        $table->emptyText('В журнале нет записей!');
        return $table->getHTML();
    }
Exemple #2
0
 public function view()
 {
     if (user::issetRight('delete')) {
         ui::newButton(lang::get('BTN_CLEAR_JORNAL'), 'javascript:clearJornal();');
     }
     ui::addLeftButton('Системный журнал', 'system_view');
     ui::addLeftButton('Журнал БД', 'db_view');
     function removeQuotes($val, $obj)
     {
         return substr($val, 1, strlen($val) - 2);
     }
     function rqDateTime($val, $obj)
     {
         return date('d.m.Y H:i:s', $val);
     }
     function sortByTime($a, $b)
     {
         if ($a[1] == $b[1]) {
             return 0;
         }
         return $a[1] > $b[1] ? -1 : 1;
     }
     $mas = array();
     $system_file = ROOT_DIR . '/revue.log';
     if (file_exists($system_file)) {
         // Читаем файл, формируем массив
         $tmp_mas = array();
         $file = file($system_file);
         while (list($key, $val) = each($file)) {
             $tmp = explode(Chr(9), $val);
             if (!empty($tmp[1])) {
                 $tmp[1] = strtotime(removeQuotes($tmp[1], $tmp[1]));
                 $tmp_mas[] = $tmp;
             }
         }
         // Сортиуем массив по времени
         usort($tmp_mas, 'sortByTime');
         // Выбераем часть массива в соотвествии с постраничной навигацией
         $count = count($tmp_mas);
         $max_count = uiTable::getMaxCount();
         if (uiTable::getCurPage() != 1) {
             $niz = empty($start_pos) ? uiTable::getCurPage() * $max_count - $max_count : 0;
             $mas = array_slice($tmp_mas, $niz, $max_count);
         } else {
             $mas = array_slice($tmp_mas, 0, $max_count);
         }
     } else {
         $count = 0;
     }
     $table = new uiTable($mas, $count);
     $table->emptyText('В системном журнале нет записей!');
     $table->addColumn('2', 'Важность', 0, false, false, 'removeQuotes');
     $table->addColumn('3', 'Пользователь', 0, false, false, 'removeQuotes');
     $table->addColumn('4', 'Действие', 400);
     $table->addColumn('1', 'Дата / Время', 0, false, false, 'rqDateTime');
     $table->addColumn('0', 'IP');
     return $table->getHTML();
 }
Exemple #3
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');
     }
 }
Exemple #4
0
 public function defAction()
 {
     ui::addLeftButton(lang::right('list'), 'list');
     ui::addLeftButton(lang::right('state'), 'state');
     ui::addLeftButton(lang::right('delivery'), 'delivery');
     ui::addLeftButton(lang::right('payment'), 'payment');
     ui::newButton(lang::get('ESHOP_ADD_STATE'), '/eshop/state_add');
     $sel = new ormSelect('eshop_status');
     //$sel->where('form_id', '<>', 0);
     $sel->orderBy('number', asc);
     $table = new uiTable($sel);
     $table->showFilters(true);
     $table->formatValues(true);
     $table->addColumn('number', '#', 10);
     $table->addColumn('name', 'Название', 200);
     $table->addColumn('notice', 'Описание', 400);
     $table->defaultRight('state_upd');
     $table->addRight('state_upd', 'edit', single);
     $table->addRight('state_del', 'drop', multi);
     return $table->getHTML();
 }
Exemple #5
0
 public function defAction()
 {
     if ($parent = ormObjects::get(system::url(2))) {
         ui::setNaviBar(lang::right('msg'));
         ui::setHeader($parent->name);
     } else {
         system::redirect('/subscription');
     }
     ui::setBackButton('/subscription');
     ui::newButton(lang::get('SUBSCRIBE_BTN_ADD2'), '/subscription/msg_add/' . system::url(2));
     function getState($date, $obj)
     {
         if ($obj->error_part_num > 0) {
             $time = time() - strtotime($obj->last_subscribe);
             if ($time > 4) {
                 return str_replace('%part%', $obj->error_part_num, lang::get('SUBSCRIBE_MSG', 1));
             } else {
                 return str_replace('%part%', $obj->error_part_num, lang::get('SUBSCRIBE_MSG', 2));
             }
         } else {
             if ($obj->part_count_awaiting > 0) {
                 page::assign('part1', $obj->part_count - $obj->part_count_awaiting);
                 page::assign('part2', $obj->part_count);
                 return page::parse(lang::get('SUBSCRIBE_MSG', 3));
             } else {
                 if ($obj->last_subscribe == '0000-00-00 00:00:00') {
                     return lang::get('SUBSCRIBE_MSG', 4);
                 } else {
                     return lang::get('SUBSCRIBE_MSG', 5) . ' ' . date('d.m.Y ' . lang::get('SUBSCRIBE_MSG', 6) . ' H:i', strtotime($obj->last_subscribe));
                 }
             }
         }
     }
     // Выводим список сообщений рассылки
     $sel = new ormSelect('subscribe_msg');
     $sel->fields('name, last_subscribe, part_count, part_count_awaiting, error_part_num');
     $sel->where('parents', '=', system::url(2));
     $sel->orderBy('create_date', desc);
     $table = new uiTable($sel);
     $table->formatValues(true);
     $table->addColumn('name', lang::get('SUBSCRIBE_MSG_TT1'), 300);
     $table->addColumn('last_subscribe', lang::get('SUBSCRIBE_MSG_TT2'), 300, 0, 1, 'getState');
     $table->defaultRight('msg_upd');
     $table->addRight('msg_upd', 'edit', single);
     $table->addRight('msg_del', 'drop', multi);
     return $table->getHTML();
 }
Exemple #6
0
 public function defAction()
 {
     ui::newButton(lang::get('FEEDBACK_BTN_ADD'), '/feedback/form_add');
     function getClassName($val, $obj)
     {
         if ($class = ormClasses::get($val)) {
             return $class->getName();
         }
     }
     function getAction($val, $obj)
     {
         $ret = '';
         if (!empty($val)) {
             $ret .= 'Отправка письма на почту';
         }
         if ($obj->any_sections || $obj->section != 0) {
             if (!empty($ret)) {
                 $ret .= ', ';
             }
             $ret .= 'Сохранение заявки в БД';
         }
         return $ret;
     }
     $sel = new ormSelect('feedback_form');
     $sel->fields('mailing_list, captcha, form_class, section');
     $table = new uiTable($sel);
     $table->formatValues(true);
     $table->addColumn('name', 'Название формы', 200);
     $table->addColumn('mailing_list', 'Выполняемое действие', 400, 0, 1, 'getAction');
     $table->addColumn('captcha', 'Защита от спама', 100);
     $table->addColumn('form_class', 'Тип', 120, 0, 1, 'getClassName');
     $table->defaultRight('form_upd');
     $table->addRight('form_upd', 'edit', single);
     $table->addRight('form_del', 'drop', multi);
     return $table->getHTML();
 }
Exemple #7
0
 public function defAction()
 {
     if (!system::issetUrl(2)) {
         system::redirect('/constructor');
     }
     $class = ormClasses::get(system::url(2));
     if (!$class->isInheritor('handbook') || $class->getSName() == 'handbook') {
         system::redirect('/constructor');
     }
     ui::setHeader(lang::get('CONSTR_LIST') . '"' . $class->getName() . '"');
     ui::setBackButton('/constructor');
     $count = 0;
     $fields = $class->loadFields();
     while (list($key, $field) = each($fields)) {
         if ($field['f_view'] == 1) {
             $count++;
         }
     }
     $sel = new ormSelect($class->getSName());
     if ($count > 3) {
         ui::newButton(lang::get('BTN_NEW_LIST'), '/constructor/list_add/' . system::url(2));
         //$objects = ormObjects::getObjectsByClass(system::url(2));
         $table = new uiTable($sel);
         $table->showSearch(true);
         $table->addColumn('name', 'Имя объекта');
         $table->defaultRight('list_upd');
         $table->addRight('list_upd', 'edit', single);
         $table->addRight('list_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->setRight('list_proc_upd');
         $form->moreParam(system::url(2));
         /*
         	       // $form->addColumn('name', '', 150, '', 0);
         	       // $form->addColumn('nositeli', '', 120, '', 0);
                     $form->addColumn('e_mail', '', 200, 'правпы', 1);
                     $form->addColumn('spiska', '', 150, '', 1);
                     $form->addColumn('url', '', 150, '', 1);
         
                     function email($val, $obj){
         	return '<a href="mailto:'.$val.'">'.$val.'</a>';
                     }
         */
         //$form->withoutAdditions();
         //$form->withoutRemoving();
         return $form->getHTML();
     }
Exemple #8
0
 public function defAction()
 {
     ui::addLeftButton(lang::right('list'), 'list');
     ui::addLeftButton(lang::right('state'), 'state');
     ui::addLeftButton(lang::right('delivery'), 'delivery');
     ui::addLeftButton(lang::right('payment'), 'payment');
     ui::newButton(lang::get('ESHOP_ADD_DELIVERY'), '/eshop/delivery_add');
     $sel = new ormSelect('eshop_delivery_method');
     $table = new uiTable($sel);
     $table->addColumn('name', 'Название', 500);
     $table->addColumn('price', 'Добавочная стоимость (руб.)', 300);
     $table->defaultRight('delivery_upd');
     $table->addRight('delivery_upd', 'edit', single);
     $table->addRight('delivery_del', 'drop', multi);
     return $table->getHTML();
 }
Exemple #9
0
 public function defAction()
 {
     function getUserName($val, $obj)
     {
         $name = $val . ' (' . $obj['c_email'] . ')';
         if (!empty($obj['c_user_id']) && user::issetRight('user_upd', 'users')) {
             $url = system::au() . '/users/user_upd/' . $obj['c_user_id'];
             $name = '<a href="' . $url . '" target="_blank">' . $name . '</a>';
         }
         return $name;
     }
     function getCommentText($val, $obj)
     {
         return strip_tags($val);
     }
     $count = db::q('SELECT count(c_id) count FROM <<comments>>;', value);
     $max_count = uiTable::getMaxCount();
     if (uiTable::getCurPage() != 1) {
         $niz = empty($start_pos) ? uiTable::getCurPage() * $max_count - $max_count : 0;
         $limit = 'LIMIT ' . $niz . ', ' . $max_count;
     } else {
         $limit = 'LIMIT ' . $max_count;
     }
     $sql = 'SELECT c_id id, c_active active, c_text, c_username, c_publ_date, c_email, c_user_id
         FROM <<comments>> ORDER BY c_publ_date DESC ' . $limit . ';';
     $mas = db::q($sql, records);
     $table = new uiTable($mas, $count);
     $table->addColumn('c_text', 'Текст', 500, 0, 1, 'getCommentText');
     $table->addColumn('c_username', 'Пользователь', 200, 0, 0, 'getUserName');
     $table->addColumn('c_publ_date', 'Дата создания', 200, 0, 1, 'viewDateTime');
     $table->defaultRight('comment_upd');
     $table->addRight('comment_upd', 'edit', single);
     $table->addRight('comment_act', 'active', multi);
     $table->addRight('comment_del', 'drop', multi);
     return $table->getHTML();
 }
Exemple #10
0
 public function defAction()
 {
     if (!system::issetUrl(2)) {
         system::redirect('/subscription');
     }
     if ($parent = ormObjects::get(system::url(2))) {
         ui::setNaviBar(lang::right('user'));
         ui::setHeader($parent->name);
     }
     ui::newButton(lang::get('SUBSCRIBE_BTN_ADD3'), '/subscription/user_add/' . system::url(2));
     ui::newButton(lang::get('SUBSCRIBE_BTN_ADD4'), '/subscription/user_addlist/' . system::url(2));
     ui::setBackButton('/subscription');
     $sel = new ormSelect('subscribe_user');
     $sel->where('parents', '=', system::url(2));
     $table = new uiTable($sel);
     $table->showSearch(true);
     $table->moreParam(system::url(2));
     $table->addColumn('name', lang::get('SUBSCRIBE_USER_TT1'), 300);
     $table->addColumn('second_name first_name', lang::get('SUBSCRIBE_USER_TT2'), 300);
     $table->defaultRight('user_upd');
     $table->addRight('user_upd', 'edit', single);
     $table->addRight('user_del', 'drop', multi);
     return $table->getHTML();
 }
Exemple #11
0
 public function defAction()
 {
     ui::addLeftButton(lang::right('list'), 'list');
     ui::addLeftButton(lang::right('state'), 'state');
     ui::addLeftButton(lang::right('delivery'), 'delivery');
     ui::addLeftButton(lang::right('payment'), 'payment');
     ui::newButton(lang::get('ESHOP_ADD_PAYMENT'), '/eshop/payment_add');
     $sel = new ormSelect('eshop_payment_method');
     $table = new uiTable($sel);
     $table->addColumn('name', 'Название', 500);
     $table->defaultRight('payment_upd');
     $table->addRight('payment_upd', 'edit', single);
     $table->addRight('payment_del', 'drop', multi);
     return $table->getHTML();
 }
Exemple #12
0
 public function defAction()
 {
     $list = array();
     if ($class = ormClasses::get('handbook')) {
         $mas = $class->getAllInheritors();
         while (list($id, $sname) = each($mas)) {
             if ($sname != 'handbook') {
                 $h = ormClasses::get($sname);
                 $list[] = array('id' => $id, 'empty' => '', 'name' => $h->getName(), 'sname' => $sname);
             }
         }
     }
     $table = new uiTable($list, 1);
     $table->addColumn('empty', '', 20);
     $table->addColumn('name', 'Название справочника', 300);
     $table->addColumn('sname', 'Системное назавание', 300, 0, 0);
     $table->defaultRight('values');
     $table->addRight('values', 'edit', single);
     return $table->getHTML();
 }
Exemple #13
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 .= '<li><a href="' . system::au() . '/users/user_add/0/' . $bclass->getSName() . '" >' . $bclass->getName() . '</a></li>';
         }
         $java = '<script> $("#usel").parent().css("width", "150px"); </script>';
         ui::newButton(lang::get('BTN_NEW_USER'), "/users/user_add", 'class_list', '<ul id="usel">' . $class_list . '</ul>' . $java);
     } else {
         ui::newButton(lang::get('BTN_NEW_USER'), "/users/user_add");
     }
     ui::newButton(lang::get('BTN_NEW_UGROUP'), "/users/group_add");
     $sel = new ormSelect('user_group');
     $sel->orderBy('name', asc);
     $table = new uiTable($sel);
     $table->showSearch(true);
     $table->addColumn('name', lang::get('USERS_TABLE_FIELD_5'), 0, true);
     $table->addColumn('children', lang::get('USERS_TABLE_FIELD_6'), 0, true, true, 'count');
     $table->defaultRight('userlist');
     $table->addRight('userlist', 'users', single);
     $table->addRight('group_upd', 'edit', single);
     $table->addRight('group_act', 'active', multi);
     $table->addRight('group_del', 'drop', multi);
     $table->setDelMessage(lang::get('USERS_DEL_TITLE2'), lang::get('USERS_DEL_TEXT2'));
     $table->setMultiDelMessage(lang::get('USERS_DEL_TITLE_MULTI2'), lang::get('USERS_DEL_TEXT_MULTI2'));
     return $table->getHTML();
 }
Exemple #14
0
 public function defAction()
 {
     function getClassName($val, $obj)
     {
         if ($obj = ormPages::get($val)) {
             return $obj->getClass()->getName();
         }
     }
     $sel = new ormSelect('feedback');
     $sel->findInPages();
     $sel->where('form_id', '<>', 0);
     $sel->orderBy('create_date', desc);
     $table = new uiTable($sel);
     $table->showSearch(true);
     $table->formatValues(true);
     $table->addColumn('content', 'Текст сообщения', 300);
     $table->addColumn('name', 'Имя пользователя', 120);
     $table->addColumn('email', 'E-mail', 120);
     $table->addColumn('create_date', 'Дата публикации', 120);
     $table->addColumn('id', 'Тип', 120, 0, 1, 'getClassName');
     $table->defaultRight('message_upd');
     $table->addRight('message_act', 'active', multi);
     $table->addRight('message_upd', 'edit', single);
     $table->addRight('message_del', 'drop', multi);
     return $table->getHTML();
 }
Exemple #15
0
 public function defAction()
 {
     $count = ormObjects::getCountTrashObjects();
     $max_count = uiTable::getMaxCount();
     if (uiTable::getCurPage() != 1) {
         $niz = empty($start_pos) ? uiTable::getCurPage() * $max_count - $max_count : 0;
         $objects = ormObjects::getTrashObjects($niz, $max_count);
     } else {
         $objects = ormObjects::getTrashObjects($max_count);
     }
     if (user::issetRight('object_del') && !empty($objects)) {
         ui::newButton(lang::get('BTN_NEW_CLEAК_TRASH'), 'javascript:clearTrash();');
     }
     $table = new uiTable($objects, $count);
     $table->addColumn('name', lang::get('TRASH_TABLE_1'), 400);
     $table->addColumn('class', lang::get('TRASH_TABLE_2'));
     $table->addColumn('date', lang::get('TRASH_TABLE_3'), 0, false, false, 'viewDateTime');
     $table->addColumn('user', lang::get('TRASH_TABLE_4'), 200);
     $table->addRight('object_restore', 'restore', multi, 'restoreObj(this)', lang::get('TRASH_TABLE_RESTORE'));
     $table->addRight('object_del', 'drop', multi);
     $table->setDelMessage(lang::get('TRASH_DEL_TITLE'), lang::get('TRASH_DEL_MSG'));
     $table->setMultiDelMessage(lang::get('TRASH_DEL_TITLE2'), lang::get('TRASH_DEL_MSG2'));
     $table->emptyText(lang::get('TRASH_EMPTY_MSG'));
     $html = '
     <script type="text/javascript" src="/css_mpanel/restore_objects.js"></script>
     <input id="clearTrashTitle" type="hidden" value="' . lang::get('TRASH_DEL_TITLE3') . '">
     <input id="clearTrashText" type="hidden" value="' . lang::get('TRASH_DEL_MSG3') . '">
     ';
     return $html . $table->getHTML();
 }
Exemple #16
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();
 }
Exemple #17
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();
    }
Exemple #18
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();
 }
Exemple #19
0
 public function defAction()
 {
     function getNumber($val, $obj)
     {
         return substr('00000', 0, 5 - strlen($val)) . $val;
     }
     $sel = new ormSelect('eshop_order');
     //$sel->where('form_id', '<>', 0);
     $sel->orderBy('date', desc);
     $table = new uiTable($sel);
     $table->showFilters(true);
     $table->formatValues(true);
     $table->addColumn('name', 'Номер', 100, false, true, 'getNumber');
     $table->addColumn('state', 'Статус', 300);
     $table->addColumn('date', 'Дата', 300);
     $table->addColumn('email', 'E-mail', 300);
     $table->defaultRight('order_view');
     $table->addRight('order_view', 'edit', single);
     $table->addRight('order_del', 'drop', multi);
     return $table->getHTML();
 }
Exemple #20
0
    static function getHistoryTable($obj_id)
    {
        $obj_id = system::checkVar($obj_id, isInt);
        function getState($val)
        {
            if ($val == info) {
                return 'info';
            } else {
                if ($val == error) {
                    return 'error';
                } else {
                    if ($val == warning) {
                        return 'warning';
                    }
                }
            }
        }
        function getEditUser($val, $obj)
        {
            if (user::issetRight('user_upd', 'users')) {
                return '<a href="' . system::au() . '/users/user_upd/' . $obj['rev_user_id'] . '" target="_blank">' . $val . '</a>';
            } else {
                return $val;
            }
        }
        $mas = db::q('SELECT rev_state, rev_user, rev_user_id, rev_datetime,
        			concat(rev_message, " <b>", o_name, "</b>") rev_msg, rev_ip
		        	FROM <<revue>>, <<objects>>
		        	WHERE rev_obj_id = "' . $obj_id . '" and
		        		rev_obj_id = o_id', records);
        $table = new uiTable($mas);
        $table->addColumn('rev_state', 'Важность', 0, false, false, 'getState');
        $table->addColumn('rev_user', 'Пользователь', 0, false, false, 'getEditUser');
        $table->addColumn('rev_msg', 'Действие', 600);
        $table->addColumn('rev_datetime', 'Дата / Время', 0, false, false, 'viewDateTime2');
        $table->addColumn('rev_ip', 'IP');
        $table->emptyText('В журнале нет записей!');
        return $table->getHTML();
    }