diff --git a/upload/install/theme/header.html b/upload/install/theme/header.html
index aecd01d..26eddd1 100644
--- a/upload/install/theme/header.html
+++ b/upload/install/theme/header.html
@@ -1,10 +1,10 @@
-
+
-
+
\ No newline at end of file
diff --git a/upload/install/theme/step_1.html b/upload/install/theme/step_1.html
index 31bb2cd..98641c8 100644
--- a/upload/install/theme/step_1.html
+++ b/upload/install/theme/step_1.html
@@ -80,7 +80,7 @@
- lng_m['read_write']; ?> | uploads/cloaks/ |
+ lng_m['read_write']; ?> | cfg->main['cloak_path']; ?> |
|
@@ -90,12 +90,12 @@
- lng_m['read_write']; ?> | uploads/skins/ |
+ lng_m['read_write']; ?> | cfg->main['skin_path']; ?> |
|
- lng_m['read_write']; ?> | uploads/skins/interface/ |
+ lng_m['read_write']; ?> | cfg->main['skin_path']; ?>interface/ |
|
diff --git a/upload/language/ru_RU/admin.php b/upload/language/ru_RU/admin.php
index 75c4ba9..194165e 100644
--- a/upload/language/ru_RU/admin.php
+++ b/upload/language/ru_RU/admin.php
@@ -2,561 +2,6 @@
$lng = array(
'mod_name' => 'Панель управления',
- 'action' => 'Действие',
-
- 'empty_panel_menu_group' => 'Нет доступного меню',
- 'empty_panel_menu_list' => 'Нет доступных пунктов меню',
-
- 'comments' => 'Комментарии',
- 'com_not_selected' => 'Не выбрано ни одного пункта',
- 'com_del_elements' => 'Удалено элементов: ',
- 'com_without_news' => 'Без новости',
- 'com_add' => 'Добавление',
- 'com_edit' => 'Редактирование',
- 'com_empty' => 'Не заполнено поле "Комментарий"',
- 'com_incorrect' => 'Не верно заполнено поле "Комментарий"',
- 'com_add_success' => 'Комментарий успешно добавлен',
- 'com_add_page_name' => 'Добавление комментария',
- 'com_add_btn' => 'Добавить',
- 'com_edit_success' => 'Комментарий успешно изменен',
- 'com_edit_page_name' => 'Редактирование комментария',
- 'com_edit_btn' => 'Сохранить',
- 'com_not_exist' => 'Нет доступных комментариев',
- 'com_col_comment' => 'Комментарий',
- 'com_col_news' => 'Новость',
- 'com_col_user' => 'Пользователь',
- 'com_action' => 'Действие с комментариями',
- 'com_accept' => 'Вы уверены, что хотите удалить выбранные комментарии',
- 'com_text' => 'Текст комментария',
- 'log_del_com' => 'Удаление комментариев',
- 'log_com' => 'в ПУ',
- 'log_add_com' => 'Добавление комментария',
- 'log_edit_com' => 'Редактирование комментария',
-
- 'groups' => 'Группы пользователей',
- 'grp_not_selected' => 'Не выбрано ни одного пункта',
- 'grp_del_msg1' => 'Удалено элементов: ',
- 'grp_def_val' => 'Значение по умолчанию',
- 'grp_del_success' => 'Группа пользователей успешно добавлена',
- 'grp_add' => 'Добавление',
- 'grp_add_btn' => 'Добавить',
- 'grp_add_page_name' => 'Добавление группы',
- 'grp_edit' => 'Редактирование',
- 'grp_edit_success' => 'Группа пользователей успешно изменена',
- 'grp_edit_page_name' => 'Редактирование группы',
- 'grp_edit_btn' => 'Сохранить',
- 'grp_e_color_format' => 'Неверный формат цвета',
- 'grp_empty' => 'Нет доступных групп пользователей',
- 'grp_field_name' => 'Название',
- 'grp_field_desc' => 'Описание',
- 'grp_field_act' => 'Действие',
- 'grp_field_perm' => 'Привилегии',
- 'grp_action' => 'Действие с группами',
- 'grp_accept' => 'Удаление групп приведет к удалению всех входящих в них пользователей. Вы уверены, что хотите удалить выбранные элементы?',
- 'log_add_grp' => 'Добавление группы пользователей',
- 'log_del_grp' => 'Удаление групп пользователей',
- 'log_edit_grp' => 'Редактирование группы пользователей',
- 'log_grp' => 'в ПУ',
-
- 'info' => 'Информация',
- 'info_ext' => 'Дополнения',
- 'info_stats' => 'Статистика',
- 'info_and_stats' => 'Информация и статистика',
- 'info_news' => 'Новости',
- 'info_eng_ver' => 'Версия движка',
- 'info_eng_ver_now' => 'Текущая версия',
- 'info_eng_ver_last' => 'Последняя стабильная версия',
- 'info_eng_ver_git' => 'Версия на GitHub',
- 'info_eng_ver_dev' => 'Dev версия',
- 'info_news_stats' => 'Статистика новостей',
- 'info_count_news' => 'Новостей',
- 'info_count_views' => 'Просмотров',
- 'info_count_votes' => 'Голосов',
- 'info_count_cats' => 'Категорий',
- 'info_count_coms' => 'Комментариев',
- 'info_users_stats' => 'Статистика пользователей',
- 'info_count_users' => 'Всего пользователей',
- 'info_count_groups' => 'Всего групп',
- 'info_other' => 'Разное',
- 'info_count_statics' => 'Статических страниц',
- 'info_count_perms' => 'Привилегий',
- 'logs' => 'Лог действий',
- 'logs_views' => 'Просмотров',
- 'logs_user' => 'Пользователь',
- 'logs_date' => 'Дата',
- 'logs_action' => 'Действие',
- 'logs_empty' => 'Нет доступных логов',
-
- 'menu' => 'Меню сайта',
- 'menu_top_lvl' => 'Верхний уровень',
- 'menu_not_selected' => 'Не выбрано ни одного пункта',
- 'menu_del_elements' => 'Удалено элементов: ',
- 'menu_add' => 'Добавление',
- 'menu_edit' => 'Редактирование',
- 'menu_edit_btn' => 'Сохранить',
- 'menu_add_btn' => 'Добавить',
- 'menu_perm_not_exist' => 'Привилегия не существует',
- 'menu_add_success' => 'Пункт меню успешно добавлен',
- 'menu_edit_success' => 'Пункт меню успешно изменен',
- 'menu_add_page_name' => 'Добавление меню',
- 'menu_edit_page_name' => 'Редактирование меню',
- 'menu_field_name' => 'Название',
- 'menu_field_link' => 'Ссылка',
- 'menu_field_pos' => 'Позиция',
- 'menu_field_parent' => 'Родитель',
- 'menu_field_action' => 'Действие',
- 'menu_field_action2' => 'Действие с меню',
- 'menu_field_target' => 'Открытие',
- 'menu_target_self' => 'В текущей вкладке',
- 'menu_target_blank' => 'В новой вкладке',
- 'menu_field_access' => 'Уровень доступа',
- 'menu_accept' => 'Удаление пунктов меню приведет к удалению всех входящих в них пунктов. Вы уверены, что хотите удалить выбранные элементы?',
- 'menu_empty' => 'Нет доступных пунктов меню',
- 'log_add_menu' => 'Добавление пунктов меню сайта',
- 'log_del_menu' => 'Удаление пунктов меню сайта',
- 'log_edit_menu' => 'Редактирование пунктов меню сайта',
- 'log_menu' => 'в ПУ',
-
- 'manucp' => 'Меню ПУ',
- 'mcp_not_selected' => 'Не выбрано ни одного пункта',
- 'mcp_del_elements' => 'Удалено элементов: ',
- 'mcp_add' => 'Добавление',
- 'mcp_edit' => 'Редактирование',
- 'mcp_perm_not_exist' => 'Привилегия не существует',
- 'mcp_add_success' => 'Пункт меню успешно добавлен',
- 'mcp_edit_success' => 'Пункт меню успешно изменен',
- 'mcp_add_page_name' => 'Добавление меню',
- 'mcp_edit_page_name' => 'Редактирование меню',
- 'mcp_edit_btn' => 'Сохранить',
- 'mcp_add_btn' => 'Добавить',
- 'mcp_top_lvl' => 'Верхний уровень',
- 'mcp_field_name' => 'Название',
- 'mcp_field_group' => 'Группа',
- 'mcp_field_link' => 'Ссылка',
- 'mcp_field_desc' => 'Описание',
- 'mcp_field_priority' => 'Приоритет',
- 'mcp_field_icon' => 'Иконка',
- 'mcp_field_action' => 'Действие',
- 'mcp_field_action2' => 'Действие с меню',
- 'mcp_field_target' => 'Открытие',
- 'mcp_target_self' => 'В текущей вкладке',
- 'mcp_target_blank' => 'В новой вкладке',
- 'mcp_field_access' => 'Уровень доступа',
- 'mcp_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
- 'mcp_empty' => 'Нет доступных пунктов меню',
- 'log_add_mcp' => 'Добавление пункта меню панели управления',
- 'log_del_mcp' => 'Удаление пунктов меню панели управления',
- 'log_edit_mcp' => 'Редактирование пункта меню в панели управления',
- 'log_mcp' => 'в ПУ',
-
- 'menugrp' => 'Группы меню ПУ',
- 'mgrp_not_selected' => 'Не выбрано ни одного пункта',
- 'mgrp_del_elements' => 'Удалено элементов: ',
- 'mgrp_add' => 'Добавление',
- 'mgrp_edit' => 'Редактирование',
- 'mgrp_perm_not_exist' => 'Привилегия не существует',
- 'mgrp_add_success' => 'Группа меню успешно добавлена',
- 'mgrp_edit_success' => 'Группа меню успешно изменена',
- 'mgrp_add_page_name' => 'Добавление группы',
- 'mgrp_edit_page_name' => 'Редактирование группы',
- 'mgrp_edit_btn' => 'Сохранить',
- 'mgrp_add_btn' => 'Добавить',
- 'mgrp_field_name' => 'Название',
- 'mgrp_field_desc' => 'Описание',
- 'mgrp_field_priority' => 'Приоритет',
- 'mgrp_field_access' => 'Уровень доступа',
- 'mgrp_field_perm' => 'Привилегии',
- 'mgrp_field_action' => 'Действие',
- 'mgrp_field_action2' => 'Действие с меню',
- 'mgrp_accept' => 'Удаление групп меню приведет к удалению всех входящих в них элементов меню. Вы уверены, что хотите удалить выбранные элементы?',
- 'mgrp_empty' => 'Нет доступных групп меню',
- 'log_add_mgrp' => 'Добавление группы меню панели управления',
- 'log_del_mgrp' => 'Удаление групп меню панели управления',
- 'log_edit_mgrp' => 'Редактирование группы меню панели управления',
- 'log_mgrp' => 'в ПУ',
-
- 'menuicons' => 'Иконки',
- 'mi_not_selected' => 'Не выбрано ни одного пункта',
- 'mi_del_elements' => 'Удалено элементов: ',
- 'mi_add' => 'Добавление',
- 'mi_edit' => 'Редактирование',
- 'mi_perm_not_exist' => 'Привилегия не существует',
- 'mi_add_success' => 'Иконка меню успешно добавлена',
- 'mi_edit_success' => 'Иконка меню успешно изменена',
- 'mi_add_page_name' => 'Добавление иконки',
- 'mi_edit_page_name' => 'Редактирование иконки',
- 'mi_edit_btn' => 'Сохранить',
- 'mi_add_btn' => 'Добавить',
- 'mi_field_name' => 'Название',
- 'mi_field_img' => 'Изображение',
- 'mi_field_action' => 'Действие',
- 'mi_field_action2' => 'Действие с иконками',
- 'mi_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
- 'mi_empty' => 'Нет доступных иконок',
- 'log_add_mi' => 'Добавление группы меню панели управления',
- 'log_del_mi' => 'Удаление иконок',
- 'log_edit_mi' => 'Редактирование иконки',
- 'log_mi' => 'в ПУ',
-
- 'modules' => 'Модули',
- 'mod_cfg_not_found' => 'Конфигурация модуля не найдена',
- 'mod_cfg_incorrect' => 'Конфигурация модуля задана неверно',
- 'mod_cfg_unsave' => 'Конфигурация не сохранена',
- 'mod_edit' => 'Редактирование',
- 'mod_edit_success' => 'Модуль успешно изменен',
- 'mod_edit_page_name' => 'Редактирование модуля',
- 'mod_new_version' => 'Есть новая версия -',
- 'mod_download' => 'Скачать',
- 'mod_not_check' => '(Не удалось проверить версию)',
- 'mod_last_version' => '(У вас установлена последняя версия)',
- 'mod_on' => 'Включен',
- 'mod_off' => 'Выключен',
- 'mod_on1' => 'Включены',
- 'mod_off1' => 'Выключены',
- 'mod_edit_btn' => 'Сохранить',
- 'mod_field_name' => 'Название',
- 'mod_field_status' => 'Статус',
- 'mod_field_author' => 'Автор',
- 'mod_field_site' => 'Сайт',
- 'mod_field_email' => 'E-Mail',
- 'mod_field_ver' => 'Версия',
- 'mod_field_upd' => 'Обновления',
- 'mod_field_url' => 'Источник обновлений',
- 'mod_field_action' => 'Действие',
- 'mod_field_action2' => 'Действие с модулями',
- 'mod_empty' => 'Нет доступных модулей',
- 'log_add_mi' => 'Добавление группы меню панели управления',
- 'log_del_mi' => 'Удаление иконок',
- 'log_edit_mod' => 'Редактирование модуля',
- 'log_mod' => 'в ПУ',
-
- 'monitoring' => 'Мониторинг серверов',
- 'mon_not_selected' => 'Не выбрано ни одного пункта',
- 'mon_del_elements' => 'Удалено элементов: ',
- 'mon_add' => 'Добавление',
- 'mon_edit' => 'Редактирование',
- 'mon_perm_not_exist' => 'Привилегия не существует',
- 'mon_add_success' => 'Сервер успешно добавлен',
- 'mon_edit_success' => 'Сервер успешно изменен',
- 'mon_add_page_name' => 'Добавление сервера',
- 'mon_edit_page_name' => 'Редактирование сервера',
- 'mon_edit_btn' => 'Сохранить',
- 'mon_add_btn' => 'Добавить',
- 'mon_field_name' => 'Название',
- 'mon_field_desc' => 'Описание',
- 'mon_field_ip' => 'IP адрес',
- 'mon_field_port' => 'Порт',
- 'mon_field_addr' => 'Адрес',
- 'mon_field_type' => 'Тип',
- 'mon_field_error' => 'Последняя ошибка',
- 'mon_field_cache' => 'Время кэша (сек.)',
- 'mon_field_action' => 'Действие',
- 'mon_field_action2' => 'Действие с серверами',
- 'mon_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
- 'mon_empty' => 'Нет доступных серверов в мониторинге',
- 'log_add_mon' => 'Добавление сервера в мониторинг',
- 'log_del_mon' => 'Удаление серверов из мониторинга',
- 'log_edit_mon' => 'Редактирование сервера в мониторинг',
- 'log_mon' => 'в ПУ',
-
- 'news' => 'Новости',
- 'news_not_selected' => 'Не выбрано ни одного пункта',
- 'news_del_elements' => 'Удалено элементов: ',
- 'news_add' => 'Добавление',
- 'news_edit' => 'Редактирование',
- 'news_add_success' => 'Новость успешно добавлена',
- 'news_edit_success' => 'Новость успешно изменена',
- 'news_add_page_name' => 'Добавление новости',
- 'news_edit_page_name' => 'Редактирование новости',
- 'news_prew_page_name' => 'Предварительный просмотр',
- 'news_edit_btn' => 'Сохранить',
- 'news_add_btn' => 'Добавить',
- 'news_wo_cats' => 'Без категории',
- 'news_e_desc' => 'Не заполнено поле "Полное описание"',
- 'news_e_cat_not_exist' => 'Категория не существует',
- 'news_e_sdesc' => 'Не заполнено поле "Краткое описание"',
- 'news_field_name' => 'Название',
- 'news_field_cat' => 'Категория',
- 'news_field_desc' => 'Полное описание',
- 'news_field_sdesc' => 'Краткое описание',
- 'news_field_vote' => 'Включить голосования',
- 'news_field_com' => 'Включить комметарии',
- 'news_field_attach' => 'Закрепить',
- 'news_preview' => 'Предпросмотр',
- 'news_field_cdate' => 'Дата создания',
- 'news_field_tdate' => 'Время создания',
- 'news_go_home' => 'На главную',
- 'news_field_views' => 'Просмотров',
- 'news_field_action' => 'Действие',
- 'news_field_action2' => 'Действие с новостями',
- 'news_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
- 'news_empty' => 'Нет доступных новостей',
- 'log_add_news' => 'Добавление новости',
- 'log_del_news' => 'Удаление новостей',
- 'log_edit_news' => 'Редактирование новости',
- 'log_news' => 'в ПУ',
-
- 'categories' => 'Категории новостей',
- 'cn_not_selected' => 'Не выбрано ни одного пункта',
- 'cn_del_elements' => 'Удалено элементов: ',
- 'cn_del_elements4' => 'Выбранные элементы успешно удалены',
- 'cn_del_elements5' => 'голосов -',
- 'cn_add' => 'Добавление',
- 'cn_edit' => 'Редактирование',
- 'cn_add_success' => 'Категория успешно добавлена',
- 'cn_edit_success' => 'Категория успешно изменена',
- 'cn_add_page_name' => 'Добавление категории',
- 'cn_edit_page_name' => 'Редактирование категории',
- 'cn_edit_btn' => 'Сохранить',
- 'cn_add_btn' => 'Добавить',
- 'cn_field_name' => 'Название',
- 'cn_field_desc' => 'Описание',
- 'cn_field_action' => 'Действие',
- 'cn_field_action2' => 'Действие с категориями',
- 'cn_accept' => 'Удаление категорий приведет к удалению всех новостей в выбранных категориях. Вы уверены, что хотите удалить выбранные элементы?',
- 'cn_empty' => 'Нет доступных категорий',
- 'log_add_cn' => 'Добавление категории новостей',
- 'log_del_cn' => 'Удаление категорий новостей',
- 'log_edit_cn' => 'Редактирование категории новостей',
- 'log_cn' => 'в ПУ',
-
- 'views' => 'Просмотры',
- 'nv_not_selected' => 'Не выбрано ни одного пункта',
- 'nv_news_deleted' => 'Новость удалена',
- 'nv_del_elements' => 'Удалено элементов: ',
- 'nv_field_news' => 'Новость',
- 'nv_field_user' => 'Пользователь',
- 'nv_field_date' => 'Дата',
- 'nv_field_action' => 'Действие',
- 'nv_field_action2' => 'Действие с просмотрами',
- 'nv_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
- 'nv_empty' => 'Нет доступных просмотров',
- 'log_del_nv' => 'Удаление просмотров',
- 'log_nv' => 'в ПУ',
-
- 'votes' => 'Голоса',
- 'nvt_not_selected' => 'Не выбрано ни одного пункта',
- 'nvt_news_deleted' => 'Новость удалена',
- 'nvt_del_elements' => 'Удалено элементов: ',
- 'nvt_field_news' => 'Новость',
- 'nvt_field_user' => 'Пользователь',
- 'nvt_field_value' => 'Значение',
- 'nvt_field_date' => 'Дата',
- 'nvt_field_action' => 'Действие',
- 'nvt_field_action2' => 'Действие с голосами',
- 'nvt_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
- 'nvt_empty' => 'Нет доступных голосов',
- 'log_del_nvt' => 'Удаление голосов',
- 'log_nvt' => 'в ПУ',
-
- 'permissions' => 'Привилегии',
- 'perm_not_selected' => 'Не выбрано ни одного пункта',
- 'perm_del_elements' => 'Удалено элементов: ',
- 'perm_add' => 'Добавление',
- 'perm_edit' => 'Редактирование',
- 'perm_add_success' => 'Привилегия успешно добавлена',
- 'perm_edit_success' => 'Привилегия успешно изменена',
- 'perm_add_page_name' => 'Добавление привилегии',
- 'perm_edit_page_name' => 'Редактирование привилегии',
- 'perm_edit_btn' => 'Сохранить',
- 'perm_add_btn' => 'Добавить',
- 'perm_change_system' => 'Запрещено менять тип и значение системных привилегий',
- 'perm_def_value' => 'Значение по умолчанию',
- 'perm_boolean' => 'Булевое значение',
- 'perm_integer' => 'Целое число',
- 'perm_float' => 'Число с плавающей точкой',
- 'perm_string' => 'Строка',
- 'perm_system' => 'Системный элемент',
- 'perm_field_name' => 'Название',
- 'perm_field_desc' => 'Описание',
- 'perm_field_value' => 'Значение',
- 'perm_field_type' => 'Тип',
- 'perm_field_default' => 'По умолчанию',
- 'perm_field_action' => 'Действие',
- 'perm_field_action2' => 'Действие с привилегиями',
- 'perm_accept' => 'Удаление привилегий может повлиять на работу некоторых модулей. Вы уверены, что хотите удалить выбранные элементы?',
- 'perm_empty' => 'Нет доступных привилегий',
- 'log_add_perm' => 'Добавление привилегии',
- 'log_del_perm' => 'Удаление привилегий групп',
- 'log_edit_perm' => 'Редактирование привилегии',
- 'log_perm' => 'в ПУ',
-
- 'statics' => 'Статические страницы',
- 'stc_perm_not_exist' => 'ОТСУТСТВУЕТ',
- 'stc_not_selected' => 'Не выбрано ни одного пункта',
- 'stc_del_elements' => 'Удалено элементов: ',
- 'stc_add' => 'Добавление',
- 'stc_edit' => 'Редактирование',
- 'stc_add_success' => 'Статическая страница успешно добавлена',
- 'stc_edit_success' => 'Статическая страница успешно изменена',
- 'stc_add_page_name' => 'Добавление статической страницы',
- 'stc_edit_page_name' => 'Редактирование статической страницы',
- 'stc_edit_btn' => 'Сохранить',
- 'stc_add_btn' => 'Добавить',
- 'stc_e_text_empty' => 'Не заполнено поле "Текст страницы"',
- 'stc_e_text_incorrect' => 'Не верно заполнено поле "Текст страницы"',
- 'stc_field_name' => 'Название',
- 'stc_field_uniq' => 'Идентификатор',
- 'stc_field_access' => 'Уровень доступа',
- 'stc_field_text' => 'Текст страницы',
- 'stc_field_preview' => 'Предпросмотр',
- 'stc_field_perm' => 'Привилегии',
- 'stc_field_action' => 'Действие',
- 'stc_field_action2' => 'Действие со страницами',
- 'stc_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
- 'stc_empty' => 'Нет доступных статических страниц',
- 'stc_preview' => 'Предварительный просмотр',
- 'stc_go_home' => 'На главную',
- 'log_add_stc' => 'Добавление статической страницы',
- 'log_del_stc' => 'Удаление статических страниц',
- 'log_edit_stc' => 'Редактирование статической страницы',
- 'log_stc' => 'в ПУ',
-
- 'users' => 'Пользователи',
- 'user_ban' => 'забанены',
- 'user_unban' => 'разбанены',
- 'user_not_selected' => 'Не выбрано ни одного пункта',
- 'user_del_elements' => 'Удалено элементов: ',
- 'user_add' => 'Добавление',
- 'user_edit' => 'Редактирование',
- 'user_add_success' => 'Пользователь успешно добавлен',
- 'user_edit_success' => 'Пользователь успешно изменен',
- 'user_add_page_name' => 'Добавление пользователя',
- 'user_edit_page_name' => 'Редактирование пользователя',
- 'user_edit_btn' => 'Сохранить',
- 'user_add_btn' => 'Добавить',
- 'user_e_color_format' => 'Неверный формат цвета',
- 'user_success' => 'Выбранные пользователи успешно',
- 'user_not_found' => 'Пользователи не найдены',
- 'user_e_incorrect_fname' => 'Имя может состоять только из букв',
- 'user_e_incorrect_lname' => 'Фамилия может состоять только из букв',
- 'user_e_incorrect_bday' => 'Неверный формат даты рождения',
- 'user_group_not_found' => 'Группа не существует',
- 'user_e_reg_pass_length' => 'Пароль должен быть не менее 6-ти символов',
- 'user_e_skin_name' => 'Не удалось изменить название скина',
- 'user_e_cloak_name' => 'Не удалось изменить название плаща',
- 'user_field_action' => 'Действие',
- 'user_field_action2' => 'Действие с пользователями',
- 'user_accept' => 'Удаление пользователей приведет к удалению всей информации о них. Вы уверены, что хотите удалить выбранные элементы?',
- 'user_accept2' => 'Вы действительно хотите забанить выбранных пользователей на сервере?',
- 'user_accept3' => 'Вы действительно хотите разбанить выбранных пользователей на сервере?',
- 'user_empty' => 'Нет доступных пользователей',
- 'log_add_user' => 'Добавление нового пользователя',
- 'log_del_user' => 'Удаление пользователей',
- 'log_ban_user' => 'Изменение статуса бана пользователей',
- 'log_edit_user' => 'Редактирование пользователя',
- 'log_user' => 'в ПУ',
-
- 'settings' => 'Настройки',
- 'set_theme_incorrect' => 'Шаблон указан некорректно',
- 'set_captcha_incorrect' => 'Капча указана некорректно',
- 'set_e_cfg_save' => 'Не удалось сохранить файл конфигурации',
- 'set_save_success' => 'Настройки успешно сохранены',
- 'set_e_hash' => 'Неверная хэш-сумма полей',
- 'set_main' => 'Основные',
- 'set_pagin' => 'Постраничная навигация',
- 'set_mail' => 'Почта',
- 'set_search' => 'Поиск',
- 'set_func' => 'Функции',
- 'set_base' => 'База',
- 'set_base_host' => 'Адрес сервера',
- 'set_base_host_ph' => 'Адрес сервера баз данных',
- 'set_base_port' => 'Порт',
- 'set_base_port_ph' => 'Порт сервера',
- 'set_base_base' => 'Имя базы',
- 'set_base_base_ph' => 'Имя базы данных',
- 'set_base_user' => 'Пользователь',
- 'set_base_user_ph' => 'Пользователь баз данных',
- 'set_base_pass' => 'Пароль',
- 'set_base_pass_ph' => 'Пароль пользователя баз данных',
- 'set_base_type' => 'Тип',
- 'set_base_type_mysql' => 'MySQL',
- 'set_base_type_mysqli' => 'MySQLi (Рекомендуется)',
- 'set_base_type_pdo' => 'PDO (Не поддерживается)',
- 'set_func_advice' => 'Выводить советы',
- 'set_funt_bc' => 'Выводить хлебные крошки',
- 'set_funt_close' => 'Технические работы',
- 'set_funt_close_time' => 'Время до конца тех. работ',
- 'set_mail_from' => 'От кого',
- 'set_mail_from_ph' => 'От кого было отправлено сообщение',
- 'set_mail_from_name' => 'Имя отправителя',
- 'set_mail_from_name_ph' => 'Имя отправителя',
- 'set_mail_reply' => 'E-Mail ответа',
- 'set_mail_reply_ph' => 'E-Mail отправителя',
- 'set_mail_reply_name' => 'Имя отправителя ответа',
- 'set_mail_reply_name_ph' => 'Имя отправителя ответа',
- 'set_mail_smtp' => 'Настройки SMTP',
- 'set_mail_smtp_use' => 'Использовать SMTP',
- 'set_mail_smtp_host' => 'SMTP сервер',
- 'set_mail_smtp_host_ph' => 'Адрес SMTP сервера',
- 'set_mail_smtp_user' => 'Имя пользователя',
- 'set_mail_smtp_user_ph' => 'Имя пользователя SMTP сервера',
- 'set_mail_smtp_pass' => 'Пароль',
- 'set_mail_smtp_pass_ph' => 'Пароль пользователя SMTP сервера',
- 'set_main_sitename' => 'Название сайта',
- 'set_main_sitedesc' => 'Описание сайта',
- 'set_main_sitekeys' => 'Ключевые слова',
- 'set_main_start' => 'Начальная страница',
- 'set_main_theme' => 'Шаблон',
- 'set_main_log' => 'Лог ошибок',
- 'set_main_debug' => 'Отладка',
- 'set_main_montype' => 'Тип мониторинга',
- 'set_main_reg' => 'Подтверждение регистрации',
- 'set_main_captcha' => 'Капча',
- 'set_main_key_public' => 'Публичный ключ',
- 'set_main_key_private' => 'Приватный ключ',
- 'set_main_sockets' => 'Через сокеты',
- 'set_main_mtapi' => 'Через API MineTools',
- 'set_pagin_user_sect' => 'Пользовательская часть',
- 'set_pagin_arrows' => 'Кол-во стрелок',
- 'set_pagin_arrows_ph' => 'Кол-во стрелок с каждой стороны',
- 'set_pagin_news' => 'Новости',
- 'set_pagin_news_ph' => 'Кол-во новостей на одну страницу',
- 'set_pagin_comments' => 'Комментарии',
- 'set_pagin_comments_ph' => 'Кол-во комментариев на одну страницу',
- 'set_pagin_search_n' => 'Поиск по новостям',
- 'set_pagin_search_n_ph' => 'Кол-во новостей на одну страницу в поиске',
- 'set_pagin_search_c' => 'Поиск по комментариям',
- 'set_pagin_search_c_ph' => 'Кол-во комментариев на одну страницу в поиске',
- 'set_pagin_cp_sect' => 'Панель управления',
- 'set_pagin_cp_news' => 'Новости',
- 'set_pagin_cp_news_ph' => 'Кол-во новостей в ПУ',
- 'set_pagin_cp_coms' => 'Комментарии',
- 'set_pagin_cp_coms_ph' => 'Кол-во комментариев в ПУ',
- 'set_pagin_cp_cats' => 'Категории новостей',
- 'set_pagin_cp_cats_ph' => 'Кол-во категорий новостей в ПУ',
- 'set_pagin_cp_views' => 'Просмотров новости',
- 'set_pagin_cp_views_ph' => 'Кол-во просмотров новостей в ПУ',
- 'set_pagin_cp_votes' => 'Голосов новости',
- 'set_pagin_cp_votes_ph' => 'Кол-во голосов новостей в ПУ',
- 'set_pagin_cp_menu' => 'Пунктов меню',
- 'set_pagin_cp_menu_ph' => 'Кол-во пунктов меню сайта в ПУ',
- 'set_pagin_cp_menu_cp' => 'Пункты меню ПУ',
- 'set_pagin_cp_menu_cp_ph' => 'Кол-во пункты меню ПУ в ПУ',
- 'set_pagin_cp_mgroups' => 'Группы меню',
- 'set_pagin_cp_mgroups_ph' => 'Кол-во групп меню в ПУ',
- 'set_pagin_cp_icons' => 'Иконки меню',
- 'set_pagin_cp_icons_ph' => 'Кол-во иконок меню в ПУ',
- 'set_pagin_cp_users' => 'Пользователи',
- 'set_pagin_cp_users_ph' => 'Кол-во пользователей в ПУ',
- 'set_pagin_cp_mon' => 'Мониторинг',
- 'set_pagin_cp_mon_ph' => 'Кол-во серверов в мониторинге в ПУ',
- 'set_pagin_cp_groups' => 'Группы пользователей',
- 'set_pagin_cp_groups_ph' => 'Кол-во групп пользователей в ПУ',
- 'set_pagin_cp_prems' => 'Привилегии',
- 'set_pagin_cp_prems_ph' => 'Кол-во привилегий в ПУ',
- 'set_pagin_cp_stc' => 'Статические страницы',
- 'set_pagin_cp_stc_ph' => 'Кол-во статических страниц в ПУ',
- 'set_pagin_cp_logs' => 'Логи',
- 'set_pagin_cp_logs_ph' => 'Кол-во логов в ПУ',
- 'set_srch_name' => 'Название',
- 'set_srch_lvl' => 'Уровень доступа',
- 'log_set_main_save' => 'Редактирование основных настроек в ПУ',
- 'log_set_pagin_save' => 'Редактирование настроек постраничной навигации в ПУ',
- 'log_set_mail_save' => 'Редактирование настроек почты в ПУ',
- 'log_set_search_save' => 'Редактирование настроек поиска в ПУ',
- 'log_set_func_save' => 'Редактирование настроек функций в ПУ',
- 'log_set_base_save' => 'Редактирование настроек базы в ПУ',
);
?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/blocks.php b/upload/language/ru_RU/admin/blocks.php
new file mode 100644
index 0000000..3175fec
--- /dev/null
+++ b/upload/language/ru_RU/admin/blocks.php
@@ -0,0 +1,39 @@
+ 'Панель управления',
+ 'blocks' => 'Блоки',
+ 'block_cfg_not_found' => 'Конфигурация блока не найдена',
+ 'block_cfg_incorrect' => 'Конфигурация блока задана неверно',
+ 'block_cfg_unsave' => 'Конфигурация не сохранена',
+ 'block_edit' => 'Редактирование',
+ 'block_edit_success' => 'Блок успешно изменен',
+ 'block_edit_page_name' => 'Редактирование блока',
+ 'block_new_version' => 'Есть новая версия -',
+ 'block_download' => 'Скачать',
+ 'block_not_check' => '(Не удалось проверить версию)',
+ 'block_last_version' => '(У вас установлена последняя версия)',
+ 'block_on' => 'Включен',
+ 'block_off' => 'Выключен',
+ 'block_on1' => 'Включены',
+ 'block_off1' => 'Выключены',
+ 'block_edit_btn' => 'Сохранить',
+ 'block_field_name' => 'Название',
+ 'block_field_pos' => 'Позиция',
+ 'block_field_status' => 'Статус',
+ 'block_field_author' => 'Автор',
+ 'block_field_site' => 'Сайт',
+ 'block_field_email' => 'E-Mail',
+ 'block_field_ver' => 'Версия',
+ 'block_field_upd' => 'Обновления',
+ 'block_field_url' => 'Источник обновлений',
+ 'block_field_action' => 'Действие',
+ 'block_field_action2' => 'Действие с блоками',
+ 'block_empty' => 'Нет доступных блоков',
+ 'log_add_bi' => 'Добавление группы меню панели управления',
+ 'log_del_bi' => 'Удаление иконок',
+ 'log_edit_block' => 'Редактирование блока',
+ 'log_block' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/comments.php b/upload/language/ru_RU/admin/comments.php
new file mode 100644
index 0000000..410f482
--- /dev/null
+++ b/upload/language/ru_RU/admin/comments.php
@@ -0,0 +1,33 @@
+ 'Панель управления',
+ 'comments' => 'Комментарии',
+ 'com_not_selected' => 'Не выбрано ни одного пункта',
+ 'com_del_elements' => 'Удалено элементов: ',
+ 'com_without_news' => 'Без новости',
+ 'com_add' => 'Добавление',
+ 'com_edit' => 'Редактирование',
+ 'com_empty' => 'Не заполнено поле "Комментарий"',
+ 'com_incorrect' => 'Не верно заполнено поле "Комментарий"',
+ 'com_add_success' => 'Комментарий успешно добавлен',
+ 'com_add_page_name' => 'Добавление комментария',
+ 'com_add_btn' => 'Добавить',
+ 'com_edit_success' => 'Комментарий успешно изменен',
+ 'com_edit_page_name' => 'Редактирование комментария',
+ 'com_edit_btn' => 'Сохранить',
+ 'com_not_exist' => 'Нет доступных комментариев',
+ 'com_col_comment' => 'Комментарий',
+ 'com_col_news' => 'Новость',
+ 'com_col_user' => 'Пользователь',
+ 'com_action' => 'Действие с комментариями',
+ 'com_accept' => 'Вы уверены, что хотите удалить выбранные комментарии',
+ 'com_text' => 'Текст комментария',
+ 'log_del_com' => 'Удаление комментариев',
+ 'log_com' => 'в ПУ',
+ 'log_add_com' => 'Добавление комментария',
+ 'log_edit_com' => 'Редактирование комментария',
+ 'action' => 'Действие',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/groups.php b/upload/language/ru_RU/admin/groups.php
new file mode 100644
index 0000000..1740a97
--- /dev/null
+++ b/upload/language/ru_RU/admin/groups.php
@@ -0,0 +1,31 @@
+ 'Панель управления',
+ 'groups' => 'Группы пользователей',
+ 'grp_not_selected' => 'Не выбрано ни одного пункта',
+ 'grp_del_msg1' => 'Удалено элементов: ',
+ 'grp_def_val' => 'Значение по умолчанию',
+ 'grp_del_success' => 'Группа пользователей успешно добавлена',
+ 'grp_add' => 'Добавление',
+ 'grp_add_btn' => 'Добавить',
+ 'grp_add_page_name' => 'Добавление группы',
+ 'grp_edit' => 'Редактирование',
+ 'grp_edit_success' => 'Группа пользователей успешно изменена',
+ 'grp_edit_page_name' => 'Редактирование группы',
+ 'grp_edit_btn' => 'Сохранить',
+ 'grp_e_color_format' => 'Неверный формат цвета',
+ 'grp_empty' => 'Нет доступных групп пользователей',
+ 'grp_field_name' => 'Название',
+ 'grp_field_desc' => 'Описание',
+ 'grp_field_act' => 'Действие',
+ 'grp_field_perm' => 'Привилегии',
+ 'grp_action' => 'Действие с группами',
+ 'grp_accept' => 'Удаление групп приведет к удалению всех входящих в них пользователей. Вы уверены, что хотите удалить выбранные элементы?',
+ 'log_add_grp' => 'Добавление группы пользователей',
+ 'log_del_grp' => 'Удаление групп пользователей',
+ 'log_edit_grp' => 'Редактирование группы пользователей',
+ 'log_grp' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/info.php b/upload/language/ru_RU/admin/info.php
new file mode 100644
index 0000000..c509e71
--- /dev/null
+++ b/upload/language/ru_RU/admin/info.php
@@ -0,0 +1,29 @@
+ 'Панель управления',
+ 'info' => 'Информация',
+ 'info_ext' => 'Дополнения',
+ 'info_stats' => 'Статистика',
+ 'info_and_stats' => 'Информация и статистика',
+ 'info_news' => 'Новости',
+ 'info_eng_ver' => 'Версия движка',
+ 'info_eng_ver_now' => 'Текущая версия',
+ 'info_eng_ver_last' => 'Последняя стабильная версия',
+ 'info_eng_ver_git' => 'Версия на GitHub',
+ 'info_eng_ver_dev' => 'Dev версия',
+ 'info_news_stats' => 'Статистика новостей',
+ 'info_count_news' => 'Новостей',
+ 'info_count_views' => 'Просмотров',
+ 'info_count_votes' => 'Голосов',
+ 'info_count_cats' => 'Категорий',
+ 'info_count_coms' => 'Комментариев',
+ 'info_users_stats' => 'Статистика пользователей',
+ 'info_count_users' => 'Всего пользователей',
+ 'info_count_groups' => 'Всего групп',
+ 'info_other' => 'Разное',
+ 'info_count_statics' => 'Статических страниц',
+ 'info_count_perms' => 'Привилегий',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/logs.php b/upload/language/ru_RU/admin/logs.php
new file mode 100644
index 0000000..eef4f8c
--- /dev/null
+++ b/upload/language/ru_RU/admin/logs.php
@@ -0,0 +1,14 @@
+ 'Панель управления',
+ 'logs' => 'Лог действий',
+ 'logs_views' => 'Просмотров',
+ 'logs_user' => 'Пользователь',
+ 'logs_date' => 'Дата',
+ 'logs_action' => 'Действие',
+ 'logs_empty' => 'Нет доступных логов',
+ 'user_deleted' => 'Пользователь удален',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/menu.php b/upload/language/ru_RU/admin/menu.php
new file mode 100644
index 0000000..cf21be9
--- /dev/null
+++ b/upload/language/ru_RU/admin/menu.php
@@ -0,0 +1,36 @@
+ 'Панель управления',
+ 'menu' => 'Меню сайта',
+ 'menu_top_lvl' => 'Верхний уровень',
+ 'menu_not_selected' => 'Не выбрано ни одного пункта',
+ 'menu_del_elements' => 'Удалено элементов: ',
+ 'menu_add' => 'Добавление',
+ 'menu_edit' => 'Редактирование',
+ 'menu_edit_btn' => 'Сохранить',
+ 'menu_add_btn' => 'Добавить',
+ 'menu_perm_not_exist' => 'Привилегия не существует',
+ 'menu_add_success' => 'Пункт меню успешно добавлен',
+ 'menu_edit_success' => 'Пункт меню успешно изменен',
+ 'menu_add_page_name' => 'Добавление меню',
+ 'menu_edit_page_name' => 'Редактирование меню',
+ 'menu_field_name' => 'Название',
+ 'menu_field_link' => 'Ссылка',
+ 'menu_field_pos' => 'Позиция',
+ 'menu_field_parent' => 'Родитель',
+ 'menu_field_action' => 'Действие',
+ 'menu_field_action2' => 'Действие с меню',
+ 'menu_field_target' => 'Открытие',
+ 'menu_target_self' => 'В текущей вкладке',
+ 'menu_target_blank' => 'В новой вкладке',
+ 'menu_field_access' => 'Уровень доступа',
+ 'menu_accept' => 'Удаление пунктов меню приведет к удалению всех входящих в них пунктов. Вы уверены, что хотите удалить выбранные элементы?',
+ 'menu_empty' => 'Нет доступных пунктов меню',
+ 'log_add_menu' => 'Добавление пунктов меню сайта',
+ 'log_del_menu' => 'Удаление пунктов меню сайта',
+ 'log_edit_menu' => 'Редактирование пунктов меню сайта',
+ 'log_menu' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/menu_adm.php b/upload/language/ru_RU/admin/menu_adm.php
new file mode 100644
index 0000000..37624d5
--- /dev/null
+++ b/upload/language/ru_RU/admin/menu_adm.php
@@ -0,0 +1,38 @@
+ 'Панель управления',
+ 'manucp' => 'Меню ПУ',
+ 'mcp_not_selected' => 'Не выбрано ни одного пункта',
+ 'mcp_del_elements' => 'Удалено элементов: ',
+ 'mcp_add' => 'Добавление',
+ 'mcp_edit' => 'Редактирование',
+ 'mcp_perm_not_exist' => 'Привилегия не существует',
+ 'mcp_add_success' => 'Пункт меню успешно добавлен',
+ 'mcp_edit_success' => 'Пункт меню успешно изменен',
+ 'mcp_add_page_name' => 'Добавление меню',
+ 'mcp_edit_page_name' => 'Редактирование меню',
+ 'mcp_edit_btn' => 'Сохранить',
+ 'mcp_add_btn' => 'Добавить',
+ 'mcp_top_lvl' => 'Верхний уровень',
+ 'mcp_field_name' => 'Название',
+ 'mcp_field_group' => 'Группа',
+ 'mcp_field_link' => 'Ссылка',
+ 'mcp_field_desc' => 'Описание',
+ 'mcp_field_priority' => 'Приоритет',
+ 'mcp_field_icon' => 'Иконка',
+ 'mcp_field_action' => 'Действие',
+ 'mcp_field_action2' => 'Действие с меню',
+ 'mcp_field_target' => 'Открытие',
+ 'mcp_target_self' => 'В текущей вкладке',
+ 'mcp_target_blank' => 'В новой вкладке',
+ 'mcp_field_access' => 'Уровень доступа',
+ 'mcp_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
+ 'mcp_empty' => 'Нет доступных пунктов меню',
+ 'log_add_mcp' => 'Добавление пункта меню панели управления',
+ 'log_del_mcp' => 'Удаление пунктов меню панели управления',
+ 'log_edit_mcp' => 'Редактирование пункта меню в панели управления',
+ 'log_mcp' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/menu_groups.php b/upload/language/ru_RU/admin/menu_groups.php
new file mode 100644
index 0000000..5a455e9
--- /dev/null
+++ b/upload/language/ru_RU/admin/menu_groups.php
@@ -0,0 +1,32 @@
+ 'Панель управления',
+ 'menugrp' => 'Группы меню ПУ',
+ 'mgrp_not_selected' => 'Не выбрано ни одного пункта',
+ 'mgrp_del_elements' => 'Удалено элементов: ',
+ 'mgrp_add' => 'Добавление',
+ 'mgrp_edit' => 'Редактирование',
+ 'mgrp_perm_not_exist' => 'Привилегия не существует',
+ 'mgrp_add_success' => 'Группа меню успешно добавлена',
+ 'mgrp_edit_success' => 'Группа меню успешно изменена',
+ 'mgrp_add_page_name' => 'Добавление группы',
+ 'mgrp_edit_page_name' => 'Редактирование группы',
+ 'mgrp_edit_btn' => 'Сохранить',
+ 'mgrp_add_btn' => 'Добавить',
+ 'mgrp_field_name' => 'Название',
+ 'mgrp_field_desc' => 'Описание',
+ 'mgrp_field_priority' => 'Приоритет',
+ 'mgrp_field_access' => 'Уровень доступа',
+ 'mgrp_field_perm' => 'Привилегии',
+ 'mgrp_field_action' => 'Действие',
+ 'mgrp_field_action2' => 'Действие с меню',
+ 'mgrp_accept' => 'Удаление групп меню приведет к удалению всех входящих в них элементов меню. Вы уверены, что хотите удалить выбранные элементы?',
+ 'mgrp_empty' => 'Нет доступных групп меню',
+ 'log_add_mgrp' => 'Добавление группы меню панели управления',
+ 'log_del_mgrp' => 'Удаление групп меню панели управления',
+ 'log_edit_mgrp' => 'Редактирование группы меню панели управления',
+ 'log_mgrp' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/menu_icons.php b/upload/language/ru_RU/admin/menu_icons.php
new file mode 100644
index 0000000..8501255
--- /dev/null
+++ b/upload/language/ru_RU/admin/menu_icons.php
@@ -0,0 +1,29 @@
+ 'Панель управления',
+ 'menuicons' => 'Иконки',
+ 'mi_not_selected' => 'Не выбрано ни одного пункта',
+ 'mi_del_elements' => 'Удалено элементов: ',
+ 'mi_add' => 'Добавление',
+ 'mi_edit' => 'Редактирование',
+ 'mi_perm_not_exist' => 'Привилегия не существует',
+ 'mi_add_success' => 'Иконка меню успешно добавлена',
+ 'mi_edit_success' => 'Иконка меню успешно изменена',
+ 'mi_add_page_name' => 'Добавление иконки',
+ 'mi_edit_page_name' => 'Редактирование иконки',
+ 'mi_edit_btn' => 'Сохранить',
+ 'mi_add_btn' => 'Добавить',
+ 'mi_field_name' => 'Название',
+ 'mi_field_img' => 'Изображение',
+ 'mi_field_action' => 'Действие',
+ 'mi_field_action2' => 'Действие с иконками',
+ 'mi_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
+ 'mi_empty' => 'Нет доступных иконок',
+ 'log_add_mi' => 'Добавление группы меню панели управления',
+ 'log_del_mi' => 'Удаление иконок',
+ 'log_edit_mi' => 'Редактирование иконки',
+ 'log_mi' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/modules.php b/upload/language/ru_RU/admin/modules.php
new file mode 100644
index 0000000..3217fe9
--- /dev/null
+++ b/upload/language/ru_RU/admin/modules.php
@@ -0,0 +1,38 @@
+ 'Панель управления',
+ 'modules' => 'Модули',
+ 'mod_cfg_not_found' => 'Конфигурация модуля не найдена',
+ 'mod_cfg_incorrect' => 'Конфигурация модуля задана неверно',
+ 'mod_cfg_unsave' => 'Конфигурация не сохранена',
+ 'mod_edit' => 'Редактирование',
+ 'mod_edit_success' => 'Модуль успешно изменен',
+ 'mod_edit_page_name' => 'Редактирование модуля',
+ 'mod_new_version' => 'Есть новая версия -',
+ 'mod_download' => 'Скачать',
+ 'mod_not_check' => '(Не удалось проверить версию)',
+ 'mod_last_version' => '(У вас установлена последняя версия)',
+ 'mod_on' => 'Включен',
+ 'mod_off' => 'Выключен',
+ 'mod_on1' => 'Включены',
+ 'mod_off1' => 'Выключены',
+ 'mod_edit_btn' => 'Сохранить',
+ 'mod_field_name' => 'Название',
+ 'mod_field_status' => 'Статус',
+ 'mod_field_author' => 'Автор',
+ 'mod_field_site' => 'Сайт',
+ 'mod_field_email' => 'E-Mail',
+ 'mod_field_ver' => 'Версия',
+ 'mod_field_upd' => 'Обновления',
+ 'mod_field_url' => 'Источник обновлений',
+ 'mod_field_action' => 'Действие',
+ 'mod_field_action2' => 'Действие с модулями',
+ 'mod_empty' => 'Нет доступных модулей',
+ 'log_add_mi' => 'Добавление группы меню панели управления',
+ 'log_del_mi' => 'Удаление иконок',
+ 'log_edit_mod' => 'Редактирование модуля',
+ 'log_mod' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/monitoring.php b/upload/language/ru_RU/admin/monitoring.php
new file mode 100644
index 0000000..148970f
--- /dev/null
+++ b/upload/language/ru_RU/admin/monitoring.php
@@ -0,0 +1,35 @@
+ 'Панель управления',
+ 'monitoring' => 'Мониторинг серверов',
+ 'mon_not_selected' => 'Не выбрано ни одного пункта',
+ 'mon_del_elements' => 'Удалено элементов: ',
+ 'mon_add' => 'Добавление',
+ 'mon_edit' => 'Редактирование',
+ 'mon_perm_not_exist' => 'Привилегия не существует',
+ 'mon_add_success' => 'Сервер успешно добавлен',
+ 'mon_edit_success' => 'Сервер успешно изменен',
+ 'mon_add_page_name' => 'Добавление сервера',
+ 'mon_edit_page_name' => 'Редактирование сервера',
+ 'mon_edit_btn' => 'Сохранить',
+ 'mon_add_btn' => 'Добавить',
+ 'mon_field_name' => 'Название',
+ 'mon_field_desc' => 'Описание',
+ 'mon_field_ip' => 'IP адрес',
+ 'mon_field_port' => 'Порт',
+ 'mon_field_addr' => 'Адрес',
+ 'mon_field_type' => 'Тип',
+ 'mon_field_error' => 'Последняя ошибка',
+ 'mon_field_cache' => 'Время кэша (сек.)',
+ 'mon_field_action' => 'Действие',
+ 'mon_field_action2' => 'Действие с серверами',
+ 'mon_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
+ 'mon_empty' => 'Нет доступных серверов в мониторинге',
+ 'log_add_mon' => 'Добавление сервера в мониторинг',
+ 'log_del_mon' => 'Удаление серверов из мониторинга',
+ 'log_edit_mon' => 'Редактирование сервера в мониторинг',
+ 'log_mon' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/news.php b/upload/language/ru_RU/admin/news.php
new file mode 100644
index 0000000..45d9474
--- /dev/null
+++ b/upload/language/ru_RU/admin/news.php
@@ -0,0 +1,43 @@
+ 'Панель управления',
+ 'news' => 'Новости',
+ 'news_not_selected' => 'Не выбрано ни одного пункта',
+ 'news_del_elements' => 'Удалено элементов: ',
+ 'news_add' => 'Добавление',
+ 'news_edit' => 'Редактирование',
+ 'news_add_success' => 'Новость успешно добавлена',
+ 'news_edit_success' => 'Новость успешно изменена',
+ 'news_add_page_name' => 'Добавление новости',
+ 'news_edit_page_name' => 'Редактирование новости',
+ 'news_prew_page_name' => 'Предварительный просмотр',
+ 'news_edit_btn' => 'Сохранить',
+ 'news_add_btn' => 'Добавить',
+ 'news_wo_cats' => 'Без категории',
+ 'news_e_desc' => 'Не заполнено поле "Полное описание"',
+ 'news_e_cat_not_exist' => 'Категория не существует',
+ 'news_e_sdesc' => 'Не заполнено поле "Краткое описание"',
+ 'news_field_name' => 'Название',
+ 'news_field_cat' => 'Категория',
+ 'news_field_desc' => 'Полное описание',
+ 'news_field_sdesc' => 'Краткое описание',
+ 'news_field_vote' => 'Включить голосования',
+ 'news_field_com' => 'Включить комметарии',
+ 'news_field_attach' => 'Закрепить',
+ 'news_preview' => 'Предпросмотр',
+ 'news_field_cdate' => 'Дата создания',
+ 'news_field_tdate' => 'Время создания',
+ 'news_go_home' => 'На главную',
+ 'news_field_views' => 'Просмотров',
+ 'news_field_action' => 'Действие',
+ 'news_field_action2' => 'Действие с новостями',
+ 'news_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
+ 'news_empty' => 'Нет доступных новостей',
+ 'log_add_news' => 'Добавление новости',
+ 'log_del_news' => 'Удаление новостей',
+ 'log_edit_news' => 'Редактирование новости',
+ 'log_news' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/news_cats.php b/upload/language/ru_RU/admin/news_cats.php
new file mode 100644
index 0000000..36a1f40
--- /dev/null
+++ b/upload/language/ru_RU/admin/news_cats.php
@@ -0,0 +1,30 @@
+ 'Панель управления',
+ 'categories' => 'Категории новостей',
+ 'cn_not_selected' => 'Не выбрано ни одного пункта',
+ 'cn_del_elements' => 'Удалено элементов: ',
+ 'cn_del_elements4' => 'Выбранные элементы успешно удалены',
+ 'cn_del_elements5' => 'голосов -',
+ 'cn_add' => 'Добавление',
+ 'cn_edit' => 'Редактирование',
+ 'cn_add_success' => 'Категория успешно добавлена',
+ 'cn_edit_success' => 'Категория успешно изменена',
+ 'cn_add_page_name' => 'Добавление категории',
+ 'cn_edit_page_name' => 'Редактирование категории',
+ 'cn_edit_btn' => 'Сохранить',
+ 'cn_add_btn' => 'Добавить',
+ 'cn_field_name' => 'Название',
+ 'cn_field_desc' => 'Описание',
+ 'cn_field_action' => 'Действие',
+ 'cn_field_action2' => 'Действие с категориями',
+ 'cn_accept' => 'Удаление категорий приведет к удалению всех новостей в выбранных категориях. Вы уверены, что хотите удалить выбранные элементы?',
+ 'cn_empty' => 'Нет доступных категорий',
+ 'log_add_cn' => 'Добавление категории новостей',
+ 'log_del_cn' => 'Удаление категорий новостей',
+ 'log_edit_cn' => 'Редактирование категории новостей',
+ 'log_cn' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/news_views.php b/upload/language/ru_RU/admin/news_views.php
new file mode 100644
index 0000000..c927ada
--- /dev/null
+++ b/upload/language/ru_RU/admin/news_views.php
@@ -0,0 +1,20 @@
+ 'Панель управления',
+ 'views' => 'Просмотры',
+ 'nv_not_selected' => 'Не выбрано ни одного пункта',
+ 'nv_news_deleted' => 'Новость удалена',
+ 'nv_del_elements' => 'Удалено элементов: ',
+ 'nv_field_news' => 'Новость',
+ 'nv_field_user' => 'Пользователь',
+ 'nv_field_date' => 'Дата',
+ 'nv_field_action' => 'Действие',
+ 'nv_field_action2' => 'Действие с просмотрами',
+ 'nv_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
+ 'nv_empty' => 'Нет доступных просмотров',
+ 'log_del_nv' => 'Удаление просмотров',
+ 'log_nv' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/news_votes.php b/upload/language/ru_RU/admin/news_votes.php
new file mode 100644
index 0000000..d201940
--- /dev/null
+++ b/upload/language/ru_RU/admin/news_votes.php
@@ -0,0 +1,21 @@
+ 'Панель управления',
+ 'votes' => 'Голоса',
+ 'nvt_not_selected' => 'Не выбрано ни одного пункта',
+ 'nvt_news_deleted' => 'Новость удалена',
+ 'nvt_del_elements' => 'Удалено элементов: ',
+ 'nvt_field_news' => 'Новость',
+ 'nvt_field_user' => 'Пользователь',
+ 'nvt_field_value' => 'Значение',
+ 'nvt_field_date' => 'Дата',
+ 'nvt_field_action' => 'Действие',
+ 'nvt_field_action2' => 'Действие с голосами',
+ 'nvt_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
+ 'nvt_empty' => 'Нет доступных голосов',
+ 'log_del_nvt' => 'Удаление голосов',
+ 'log_nvt' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/panel_menu.php b/upload/language/ru_RU/admin/panel_menu.php
new file mode 100644
index 0000000..7222487
--- /dev/null
+++ b/upload/language/ru_RU/admin/panel_menu.php
@@ -0,0 +1,9 @@
+ 'Панель управления',
+ 'empty_panel_menu_group' => 'Нет доступного меню',
+ 'empty_panel_menu_list' => 'Нет доступных пунктов меню',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/permissions.php b/upload/language/ru_RU/admin/permissions.php
new file mode 100644
index 0000000..559e3e3
--- /dev/null
+++ b/upload/language/ru_RU/admin/permissions.php
@@ -0,0 +1,38 @@
+ 'Панель управления',
+ 'permissions' => 'Привилегии',
+ 'perm_not_selected' => 'Не выбрано ни одного пункта',
+ 'perm_del_elements' => 'Удалено элементов: ',
+ 'perm_add' => 'Добавление',
+ 'perm_edit' => 'Редактирование',
+ 'perm_add_success' => 'Привилегия успешно добавлена',
+ 'perm_edit_success' => 'Привилегия успешно изменена',
+ 'perm_add_page_name' => 'Добавление привилегии',
+ 'perm_edit_page_name' => 'Редактирование привилегии',
+ 'perm_edit_btn' => 'Сохранить',
+ 'perm_add_btn' => 'Добавить',
+ 'perm_change_system' => 'Запрещено менять тип и значение системных привилегий',
+ 'perm_def_value' => 'Значение по умолчанию',
+ 'perm_boolean' => 'Булевое значение',
+ 'perm_integer' => 'Целое число',
+ 'perm_float' => 'Число с плавающей точкой',
+ 'perm_string' => 'Строка',
+ 'perm_system' => 'Системный элемент',
+ 'perm_field_name' => 'Название',
+ 'perm_field_desc' => 'Описание',
+ 'perm_field_value' => 'Значение',
+ 'perm_field_type' => 'Тип',
+ 'perm_field_default' => 'По умолчанию',
+ 'perm_field_action' => 'Действие',
+ 'perm_field_action2' => 'Действие с привилегиями',
+ 'perm_accept' => 'Удаление привилегий может повлиять на работу некоторых модулей. Вы уверены, что хотите удалить выбранные элементы?',
+ 'perm_empty' => 'Нет доступных привилегий',
+ 'log_add_perm' => 'Добавление привилегии',
+ 'log_del_perm' => 'Удаление привилегий групп',
+ 'log_edit_perm' => 'Редактирование привилегии',
+ 'log_perm' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/settings.php b/upload/language/ru_RU/admin/settings.php
new file mode 100644
index 0000000..789e325
--- /dev/null
+++ b/upload/language/ru_RU/admin/settings.php
@@ -0,0 +1,117 @@
+ 'Панель управления',
+ 'settings' => 'Настройки',
+ 'set_theme_incorrect' => 'Шаблон указан некорректно',
+ 'set_captcha_incorrect' => 'Капча указана некорректно',
+ 'set_e_cfg_save' => 'Не удалось сохранить файл конфигурации',
+ 'set_save_success' => 'Настройки успешно сохранены',
+ 'set_e_hash' => 'Неверная хэш-сумма полей',
+ 'set_main' => 'Основные',
+ 'set_pagin' => 'Постраничная навигация',
+ 'set_mail' => 'Почта',
+ 'set_search' => 'Поиск',
+ 'set_func' => 'Функции',
+ 'set_base' => 'База',
+ 'set_base_host' => 'Адрес сервера',
+ 'set_base_host_ph' => 'Адрес сервера баз данных',
+ 'set_base_port' => 'Порт',
+ 'set_base_port_ph' => 'Порт сервера',
+ 'set_base_base' => 'Имя базы',
+ 'set_base_base_ph' => 'Имя базы данных',
+ 'set_base_user' => 'Пользователь',
+ 'set_base_user_ph' => 'Пользователь баз данных',
+ 'set_base_pass' => 'Пароль',
+ 'set_base_pass_ph' => 'Пароль пользователя баз данных',
+ 'set_base_type' => 'Тип',
+ 'set_base_type_mysql' => 'MySQL',
+ 'set_base_type_mysqli' => 'MySQLi (Рекомендуется)',
+ 'set_base_type_pdo' => 'PDO (Не поддерживается)',
+ 'set_func_advice' => 'Выводить советы',
+ 'set_funt_bc' => 'Выводить хлебные крошки',
+ 'set_funt_close' => 'Технические работы',
+ 'set_funt_close_time' => 'Время до конца тех. работ',
+ 'set_mail_from' => 'От кого',
+ 'set_mail_from_ph' => 'От кого было отправлено сообщение',
+ 'set_mail_from_name' => 'Имя отправителя',
+ 'set_mail_from_name_ph' => 'Имя отправителя',
+ 'set_mail_reply' => 'E-Mail ответа',
+ 'set_mail_reply_ph' => 'E-Mail отправителя',
+ 'set_mail_reply_name' => 'Имя отправителя ответа',
+ 'set_mail_reply_name_ph' => 'Имя отправителя ответа',
+ 'set_mail_smtp' => 'Настройки SMTP',
+ 'set_mail_smtp_use' => 'Использовать SMTP',
+ 'set_mail_smtp_host' => 'SMTP сервер',
+ 'set_mail_smtp_host_ph' => 'Адрес SMTP сервера',
+ 'set_mail_smtp_user' => 'Имя пользователя',
+ 'set_mail_smtp_user_ph' => 'Имя пользователя SMTP сервера',
+ 'set_mail_smtp_pass' => 'Пароль',
+ 'set_mail_smtp_pass_ph' => 'Пароль пользователя SMTP сервера',
+ 'set_main_sitename' => 'Название сайта',
+ 'set_main_sitedesc' => 'Описание сайта',
+ 'set_main_sitekeys' => 'Ключевые слова',
+ 'set_main_start' => 'Начальная страница',
+ 'set_main_theme' => 'Шаблон',
+ 'set_main_log' => 'Лог ошибок',
+ 'set_main_debug' => 'Отладка',
+ 'set_main_montype' => 'Тип мониторинга',
+ 'set_main_reg' => 'Подтверждение регистрации',
+ 'set_main_captcha' => 'Капча',
+ 'set_main_key_public' => 'Публичный ключ',
+ 'set_main_key_private' => 'Приватный ключ',
+ 'set_main_sockets' => 'Через сокеты',
+ 'set_main_mtapi' => 'Через API MineTools',
+ 'set_pagin_user_sect' => 'Пользовательская часть',
+ 'set_pagin_arrows' => 'Кол-во стрелок',
+ 'set_pagin_arrows_ph' => 'Кол-во стрелок с каждой стороны',
+ 'set_pagin_news' => 'Новости',
+ 'set_pagin_news_ph' => 'Кол-во новостей на одну страницу',
+ 'set_pagin_comments' => 'Комментарии',
+ 'set_pagin_comments_ph' => 'Кол-во комментариев на одну страницу',
+ 'set_pagin_search_n' => 'Поиск по новостям',
+ 'set_pagin_search_n_ph' => 'Кол-во новостей на одну страницу в поиске',
+ 'set_pagin_search_c' => 'Поиск по комментариям',
+ 'set_pagin_search_c_ph' => 'Кол-во комментариев на одну страницу в поиске',
+ 'set_pagin_cp_sect' => 'Панель управления',
+ 'set_pagin_cp_news' => 'Новости',
+ 'set_pagin_cp_news_ph' => 'Кол-во новостей в ПУ',
+ 'set_pagin_cp_coms' => 'Комментарии',
+ 'set_pagin_cp_coms_ph' => 'Кол-во комментариев в ПУ',
+ 'set_pagin_cp_cats' => 'Категории новостей',
+ 'set_pagin_cp_cats_ph' => 'Кол-во категорий новостей в ПУ',
+ 'set_pagin_cp_views' => 'Просмотров новости',
+ 'set_pagin_cp_views_ph' => 'Кол-во просмотров новостей в ПУ',
+ 'set_pagin_cp_votes' => 'Голосов новости',
+ 'set_pagin_cp_votes_ph' => 'Кол-во голосов новостей в ПУ',
+ 'set_pagin_cp_menu' => 'Пунктов меню',
+ 'set_pagin_cp_menu_ph' => 'Кол-во пунктов меню сайта в ПУ',
+ 'set_pagin_cp_menu_cp' => 'Пункты меню ПУ',
+ 'set_pagin_cp_menu_cp_ph' => 'Кол-во пункты меню ПУ в ПУ',
+ 'set_pagin_cp_mgroups' => 'Группы меню',
+ 'set_pagin_cp_mgroups_ph' => 'Кол-во групп меню в ПУ',
+ 'set_pagin_cp_icons' => 'Иконки меню',
+ 'set_pagin_cp_icons_ph' => 'Кол-во иконок меню в ПУ',
+ 'set_pagin_cp_users' => 'Пользователи',
+ 'set_pagin_cp_users_ph' => 'Кол-во пользователей в ПУ',
+ 'set_pagin_cp_mon' => 'Мониторинг',
+ 'set_pagin_cp_mon_ph' => 'Кол-во серверов в мониторинге в ПУ',
+ 'set_pagin_cp_groups' => 'Группы пользователей',
+ 'set_pagin_cp_groups_ph' => 'Кол-во групп пользователей в ПУ',
+ 'set_pagin_cp_prems' => 'Привилегии',
+ 'set_pagin_cp_prems_ph' => 'Кол-во привилегий в ПУ',
+ 'set_pagin_cp_stc' => 'Статические страницы',
+ 'set_pagin_cp_stc_ph' => 'Кол-во статических страниц в ПУ',
+ 'set_pagin_cp_logs' => 'Логи',
+ 'set_pagin_cp_logs_ph' => 'Кол-во логов в ПУ',
+ 'set_srch_name' => 'Название',
+ 'set_srch_lvl' => 'Уровень доступа',
+ 'log_set_main_save' => 'Редактирование основных настроек в ПУ',
+ 'log_set_pagin_save' => 'Редактирование настроек постраничной навигации в ПУ',
+ 'log_set_mail_save' => 'Редактирование настроек почты в ПУ',
+ 'log_set_search_save' => 'Редактирование настроек поиска в ПУ',
+ 'log_set_func_save' => 'Редактирование настроек функций в ПУ',
+ 'log_set_base_save' => 'Редактирование настроек базы в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/statics.php b/upload/language/ru_RU/admin/statics.php
new file mode 100644
index 0000000..b485624
--- /dev/null
+++ b/upload/language/ru_RU/admin/statics.php
@@ -0,0 +1,37 @@
+ 'Панель управления',
+ 'statics' => 'Статические страницы',
+ 'stc_perm_not_exist' => 'ОТСУТСТВУЕТ',
+ 'stc_not_selected' => 'Не выбрано ни одного пункта',
+ 'stc_del_elements' => 'Удалено элементов: ',
+ 'stc_add' => 'Добавление',
+ 'stc_edit' => 'Редактирование',
+ 'stc_add_success' => 'Статическая страница успешно добавлена',
+ 'stc_edit_success' => 'Статическая страница успешно изменена',
+ 'stc_add_page_name' => 'Добавление статической страницы',
+ 'stc_edit_page_name' => 'Редактирование статической страницы',
+ 'stc_edit_btn' => 'Сохранить',
+ 'stc_add_btn' => 'Добавить',
+ 'stc_e_text_empty' => 'Не заполнено поле "Текст страницы"',
+ 'stc_e_text_incorrect' => 'Не верно заполнено поле "Текст страницы"',
+ 'stc_field_name' => 'Название',
+ 'stc_field_uniq' => 'Идентификатор',
+ 'stc_field_access' => 'Уровень доступа',
+ 'stc_field_text' => 'Текст страницы',
+ 'stc_field_preview' => 'Предпросмотр',
+ 'stc_field_perm' => 'Привилегии',
+ 'stc_field_action' => 'Действие',
+ 'stc_field_action2' => 'Действие со страницами',
+ 'stc_accept' => 'Вы уверены, что хотите удалить выбранные элементы?',
+ 'stc_empty' => 'Нет доступных статических страниц',
+ 'stc_preview' => 'Предварительный просмотр',
+ 'stc_go_home' => 'На главную',
+ 'log_add_stc' => 'Добавление статической страницы',
+ 'log_del_stc' => 'Удаление статических страниц',
+ 'log_edit_stc' => 'Редактирование статической страницы',
+ 'log_stc' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/admin/users.php b/upload/language/ru_RU/admin/users.php
new file mode 100644
index 0000000..01fc866
--- /dev/null
+++ b/upload/language/ru_RU/admin/users.php
@@ -0,0 +1,41 @@
+ 'Панель управления',
+ 'users' => 'Пользователи',
+ 'user_ban' => 'забанены',
+ 'user_unban' => 'разбанены',
+ 'user_not_selected' => 'Не выбрано ни одного пункта',
+ 'user_del_elements' => 'Удалено элементов: ',
+ 'user_add' => 'Добавление',
+ 'user_edit' => 'Редактирование',
+ 'user_add_success' => 'Пользователь успешно добавлен',
+ 'user_edit_success' => 'Пользователь успешно изменен',
+ 'user_add_page_name' => 'Добавление пользователя',
+ 'user_edit_page_name' => 'Редактирование пользователя',
+ 'user_edit_btn' => 'Сохранить',
+ 'user_add_btn' => 'Добавить',
+ 'user_e_color_format' => 'Неверный формат цвета',
+ 'user_success' => 'Выбранные пользователи успешно',
+ 'user_not_found' => 'Пользователи не найдены',
+ 'user_e_incorrect_fname' => 'Имя может состоять только из букв',
+ 'user_e_incorrect_lname' => 'Фамилия может состоять только из букв',
+ 'user_e_incorrect_bday' => 'Неверный формат даты рождения',
+ 'user_group_not_found' => 'Группа не существует',
+ 'user_e_reg_pass_length' => 'Пароль должен быть не менее 6-ти символов',
+ 'user_e_skin_name' => 'Не удалось изменить название скина',
+ 'user_e_cloak_name' => 'Не удалось изменить название плаща',
+ 'user_field_action' => 'Действие',
+ 'user_field_action2' => 'Действие с пользователями',
+ 'user_accept' => 'Удаление пользователей приведет к удалению всей информации о них. Вы уверены, что хотите удалить выбранные элементы?',
+ 'user_accept2' => 'Вы действительно хотите забанить выбранных пользователей на сервере?',
+ 'user_accept3' => 'Вы действительно хотите разбанить выбранных пользователей на сервере?',
+ 'user_empty' => 'Нет доступных пользователей',
+ 'log_add_user' => 'Добавление нового пользователя',
+ 'log_del_user' => 'Удаление пользователей',
+ 'log_ban_user' => 'Изменение статуса бана пользователей',
+ 'log_edit_user' => 'Редактирование пользователя',
+ 'log_user' => 'в ПУ',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/ajax.php b/upload/language/ru_RU/ajax.php
index 99b0677..3c2f927 100644
--- a/upload/language/ru_RU/ajax.php
+++ b/upload/language/ru_RU/ajax.php
@@ -8,6 +8,7 @@
'e_method' => 'Метод не поддерживаетя',
'ams_mod_not_selected' => 'Не выбрано ни одного модуля',
+ 'ams_block_not_selected' => 'Не выбрано ни одного блока',
'ok' => 'OK',
'fm' => 'Файловый менеджер',
@@ -34,6 +35,7 @@
'mon_srv_success' => 'Серверы успешно получены',
'log_change_ams' => 'Изменение статусов модулей',
+ 'log_change_abs' => 'Изменение статусов блоков',
'date_create' => 'Дата создания',
'time_create' => 'Время создания',
);
diff --git a/upload/language/ru_RU/blocks/online.php b/upload/language/ru_RU/blocks/online.php
new file mode 100644
index 0000000..e4cde24
--- /dev/null
+++ b/upload/language/ru_RU/blocks/online.php
@@ -0,0 +1,13 @@
+ 'Онлайн',
+ 'empty' => 'Нет зарегистрированных пользователей',
+ 'loading' => 'Загрузка статистики...',
+ 'online_now' => 'Сейчас на сайте',
+ 'count_all' => 'Всего',
+ 'users' => 'Из них пользователей',
+ 'guests' => 'гостей',
+);
+
+?>
\ No newline at end of file
diff --git a/upload/language/ru_RU/blocks/profile.php b/upload/language/ru_RU/blocks/profile.php
index 6c80d20..5f62c1f 100644
--- a/upload/language/ru_RU/blocks/profile.php
+++ b/upload/language/ru_RU/blocks/profile.php
@@ -3,6 +3,7 @@
$lng = array(
'miniprofile' => 'Мини-профиль',
'login' => 'Логин',
+ 'login_or_email' => 'Логин или E-Mail',
'password' => 'Пароль',
'group' => 'Группа',
'balance' => 'Баланс',
diff --git a/upload/language/ru_RU/install.php b/upload/language/ru_RU/install.php
index 0d287f3..c98e2a3 100644
--- a/upload/language/ru_RU/install.php
+++ b/upload/language/ru_RU/install.php
@@ -82,8 +82,8 @@
'e_perm_uploads' => 'Отсутствуют права на чтение или запись папки uploads',
'e_perm_cloaks' => 'Отсутствуют права на чтение или запись папки uploads/cloaks/',
'e_perm_icons' => 'Отсутствуют права на чтение или запись папки uploads/panel-icons/',
- 'e_perm_skins' => 'Отсутствуют права на чтение или запись папки uploads/skins/',
- 'e_perm_intf' => 'Отсутствуют права на чтение или запись папки uploads/skins/interface/',
+ 'e_perm_skins' => 'Отсутствуют права на чтение или запись папки скинов',
+ 'e_perm_intf' => 'Отсутствуют права на чтение или запись папки скинов-интерфейсов',
'e_perm_smiles' => 'Отсутствуют права на чтение или запись папки uploads/smiles/',
'e_settings' => 'Настройки не могут быть сохранены',
'e_set_base' => 'Неверно указаны данные для подключения к базе',
diff --git a/upload/language/ru_RU/js/modules/blocks.js b/upload/language/ru_RU/js/modules/blocks.js
new file mode 100644
index 0000000..8ad80f1
--- /dev/null
+++ b/upload/language/ru_RU/js/modules/blocks.js
@@ -0,0 +1,4 @@
+var lng_block = {
+ e_change_status: 'Произошла непредвиденная ошибка изменения статуса блока. Попробуйте повторить попытку.',
+ not_selected: 'Не выбрано ни одного блока'
+};
\ No newline at end of file
diff --git a/upload/language/ru_RU/system.php b/upload/language/ru_RU/system.php
index 2534e80..68f30c1 100644
--- a/upload/language/ru_RU/system.php
+++ b/upload/language/ru_RU/system.php
@@ -27,6 +27,7 @@
"e_advice_found" => "Советов нет",
"target_blank" => "Ссылка откроется в новой вкладке",
+ "loading" => "Загрузка...",
// debug
'deb_name' => 'Отладка',
@@ -44,8 +45,8 @@
'deb_sec' => 'сек.',
// engine/skin.class.php
- "skin_e_folder_perm" => "Отсутствуют права на запись папки uploads/skins",
- "skin_e_intf_perm" => "Отсутствуют права на запись папки uploads/interface",
+ "skin_e_folder_perm" => "Отсутствуют права на запись папки скинов",
+ "skin_e_intf_perm" => "Отсутствуют права на запись папки скинов-интерфейсов",
"skin_e_size" => "Привышен максимально допустимый размер файла",
"skin_e" => "Ошибка загрузки скина!",
"skin_e_undefined" => "Неизвестная ошибка",
@@ -57,8 +58,8 @@
"skin_e_save" => "Ошибка сохранения скина",
// engine/cloak.class.php
- "cloak_e_folder_perm" => "Отсутствуют права на запись папки uploads/cloaks",
- "cloak_e_intf_perm" => "Отсутствуют права на запись папки uploads/interface",
+ "cloak_e_folder_perm" => "Отсутствуют права на запись папки плащей",
+ "cloak_e_intf_perm" => "Отсутствуют права на запись папки плащей-интерфейсов",
"cloak_e_size" => "Привышен максимально допустимый размер файла",
"cloak_e" => "Ошибка загрузки скина!",
"cloak_e_undefined" => "Неизвестная ошибка",
diff --git a/upload/modules/admin.php b/upload/modules/admin.php
index ea4063c..dce4fbf 100644
--- a/upload/modules/admin.php
+++ b/upload/modules/admin.php
@@ -3,18 +3,17 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class module{
- private $core, $db, $config, $user, $lng;
- public $cfg = array();
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin"
+ $this->lng['mod_name'] => ADMIN_URL
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -39,6 +38,8 @@
if(!class_exists('submodule')){
$this->core->notify($this->core->lng['404'], $this->core->lng['e_404']);
}
+
+ $this->core->lng_m = $this->core->load_language('admin/'.$do);
$submodule = new submodule($this->core);
diff --git a/upload/modules/admin/blocks.class.php b/upload/modules/admin/blocks.class.php
new file mode 100644
index 0000000..1526721
--- /dev/null
+++ b/upload/modules/admin/blocks.class.php
@@ -0,0 +1,169 @@
+core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
+
+ if(!$this->core->is_access('sys_adm_blocks')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
+
+ $bc = array(
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['blocks'] => ADMIN_URL."&do=blocks"
+ );
+
+ $this->core->bc = $this->core->gen_bc($bc);
+
+ $this->core->header .= '';
+ $this->core->header .= '';
+ }
+
+ private function block_array(){
+
+ $list = $this->filter_folder(scandir(MCR_CONF_PATH.'blocks'));
+
+ if(!is_array($list) || count($list)<=0){ return $this->core->sp(MCR_THEME_MOD."admin/blocks/block-none.html"); }
+
+ ob_start();
+
+ foreach($list as $id => $name){
+
+ include(MCR_CONF_PATH.'blocks/'.$name.'.php');
+
+ $page_data = array(
+ "STATUS" => (@$cfg['ENABLE']) ? 'icon_status_on' : 'icon_status_off',
+ "NAME" => $this->db->HSC($name),
+ "TITLE" => $this->db->HSC(@$cfg['TITLE']),
+ "AUTHOR" => $this->db->HSC(@$cfg['AUTHOR']),
+ "VERSION" => $this->db->HSC(@$cfg['VERSION']),
+ );
+
+ echo $this->core->sp(MCR_THEME_MOD."admin/blocks/block-id.html", $page_data);
+ }
+
+ return ob_get_clean();
+ }
+
+ private function filter_folder($array){
+
+ $filtered = array();
+
+ foreach($array as $key => $value){
+ if($value=='..' || $value=='.'){ continue; }
+ if(is_dir(MCR_SIDE_PATH.$value)){ continue; }
+ if(!file_exists(MCR_CONF_PATH.'blocks/'.$value)){ continue; }
+
+ $expl = explode('.', $value);
+
+ if(count($expl)!=2 || !isset($expl[1]) || $expl[1]!='php'){ continue; }
+
+ $filtered[] = $expl[0];
+ }
+
+ return $filtered;
+ }
+
+ private function block_list(){
+
+ $data = array(
+ "BLOCKS" => $this->block_array()
+ );
+
+ return $this->core->sp(MCR_THEME_MOD."admin/blocks/block-list.html", $data);
+ }
+
+ private function check_update($cfg){
+ if(empty($cfg['UPDATER'])){ return $this->lng['block_not_check']; }
+
+ $json = file_get_contents($cfg['UPDATER']);
+
+ if(!$json){ return $this->lng['block_not_check']; }
+
+ if(!isset($json['version'])){ return $this->lng['block_not_check']; }
+ if(!isset($json['url'])){ return $this->lng['block_not_check']; }
+
+ if($cfg['VERSION']==$json['version']){ return $this->lng['block_last_version']; }
+
+ return '(
'.$this->lng['block_new_version'].' '.$this->db->HSC($json['version']).')';
+ }
+
+ private function edit(){
+ if(!$this->core->is_access('sys_adm_blocks_edit')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=blocks'); }
+
+ $name = @$_GET['id'];
+
+ if(!file_exists(MCR_CONF_PATH.'blocks/'.$name.'.php')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['block_cfg_not_found'], 2, '?mode=admin&do=blocks'); }
+
+ require(MCR_CONF_PATH.'blocks/'.$name.'.php');
+
+ if(!$this->core->check_cfg_block($cfg)){
+ $this->core->notify($this->core->lng["e_msg"], $this->lng['block_cfg_incorrect'], 2, '?mode=admin&do=blocks');
+ }
+
+ $bc = array(
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['blocks'] => ADMIN_URL."&do=blocks",
+ $this->lng['block_edit'] => ADMIN_URL."&do=blocks&op=edit&id=$name"
+ );
+
+ $this->core->bc = $this->core->gen_bc($bc);
+
+ if($_SERVER['REQUEST_METHOD']=='POST'){
+ $cfg['ENABLE'] = (intval(@$_POST['status'])==1) ? true : false;
+ $cfg['UPDATES'] = (intval(@$_POST['updates'])==1) ? true : false;
+ $cfg['UPDATER'] = $this->core->safestr(@$_POST['updater']);
+ $cfg['POSITION'] = intval(@$_POST['position']);
+
+ if(!$this->cfg->savecfg($cfg, 'blocks/'.$name.'.php', 'cfg')){
+ $this->core->notify($this->core->lng["e_msg"], $this->lng['block_cfg_unsave'], 3, '?mode=admin&do=blocks');
+ }
+
+ // Лог действия
+ $this->db->actlog($this->lng['log_edit_block']." #$name ".$this->lng['log_mod'], $this->user->id);
+
+ $this->core->notify($this->core->lng["e_success"], $this->lng['block_edit_success'], 3, '?mode=admin&do=blocks');
+ }
+
+ $update_result = $this->check_update($cfg);
+
+ $data = array(
+ "PAGE" => $this->lng['block_edit_page_name'],
+ "STATUS" => ($cfg['ENABLE']) ? 'selected' : '',
+ "TITLE" => $this->db->HSC($cfg['TITLE']),
+ "POSITION" => intval($cfg['POSITION']),
+ "DESC" => $this->db->HSC($cfg['DESC']),
+ "AUTHOR" => $this->db->HSC($cfg['AUTHOR']),
+ "SITE" => $this->db->HSC($cfg['SITE']),
+ "EMAIL" => $this->db->HSC($cfg['EMAIL']),
+ "VERSION" => $this->db->HSC($cfg['VERSION']),
+ "UPDATE_URL" => $this->db->HSC($cfg['UPDATER']),
+ "UPDATE_CHECK" => ($cfg['UPDATES']) ? 'selected' : '',
+ "UPDATE_RESULT" => $update_result,
+ "BUTTON" => $this->lng['block_edit_btn']
+ );
+
+ return $this->core->sp(MCR_THEME_MOD."admin/blocks/block-add.html", $data);
+ }
+
+ public function content(){
+
+ $op = (isset($_GET['op'])) ? $_GET['op'] : 'list';
+
+ switch($op){
+ case 'edit': $content = $this->edit(); break;
+
+ default: $content = $this->block_list(); break;
+ }
+
+ return $content;
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/upload/modules/admin/comments.class.php b/upload/modules/admin/comments.class.php
index 0c03a7c..0e1e739 100644
--- a/upload/modules/admin/comments.class.php
+++ b/upload/modules/admin/comments.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_comments')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['comments'] => BASE_URL."?mode=admin&do=comments"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['comments'] => ADMIN_URL."&do=comments"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,13 +24,18 @@
private function comment_array(){
- $start = $this->core->pagination($this->config->pagin['adm_comments'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_comments']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_comments'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_comments']; // Set end pagination
$where = "";
$sort = "`c`.id";
$sortby = "DESC";
+ $ctables = $this->cfg->db['tables'];
+
+ $ug_f = $ctables['ugroups']['fields'];
+ $us_f = $ctables['users']['fields'];
+
if(isset($_GET['sort']) && !empty($_GET['sort'])){
$expl = explode(' ', $_GET['sort']);
@@ -39,7 +44,7 @@
switch(@$expl[1]){
case 'comment': $sort = "`c`.text_html"; break;
case 'news': $sort = "`n`.title"; break;
- case 'user': $sort = "`u`.login"; break;
+ case 'user': $sort = "`u`.`{$us_f['login']}`"; break;
}
}
@@ -49,14 +54,14 @@
}
$query = $this->db->query("SELECT `c`.id, `c`.nid, `c`.text_html, `n`.title AS `new`,
- `u`.login, `u`.`color`, `g`.`color` AS `gcolor`
+ `u`.`{$us_f['login']}`, `u`.`{$us_f['color']}`, `g`.`{$ug_f['color']}` AS `gcolor`
FROM `mcr_comments` AS `c`
LEFT JOIN `mcr_news` AS `n`
ON `n`.id=`c`.nid
- LEFT JOIN `mcr_users` AS `u`
- ON `u`.id=`c`.uid
- LEFT JOIN `mcr_groups` AS `g`
- ON `g`.id=`u`.gid
+ LEFT JOIN `{$this->cfg->tabname('users')}` AS `u`
+ ON `u`.`{$us_f['id']}`=`c`.uid
+ LEFT JOIN `{$this->cfg->tabname('ugroups')}` AS `g`
+ ON `g`.`{$ug_f['id']}`=`u`.`{$us_f['group']}`
$where
ORDER BY $sort $sortby
LIMIT $start, $end");
@@ -73,9 +78,9 @@
$new = (empty($ar['new'])) ? 'Новость удалена' : $this->db->HSC($ar['new']);
- $login = (is_null($ar['login'])) ? 'Пользователь удален' : $this->db->HSC($ar['login']);
+ $login = (is_null($ar[$us_f['login']])) ? 'Пользователь удален' : $this->db->HSC($ar[$us_f['login']]);
- $color = (empty($ar['color'])) ? $this->db->HSC($ar['gcolor']) : $this->db->HSC($ar['color']);
+ $color = (empty($ar[$us_f['color']])) ? $this->db->HSC($ar['gcolor']) : $this->db->HSC($ar[$us_f['color']]);
$page_data = array(
"ID" => intval($ar['id']),
@@ -114,7 +119,7 @@
$ar = $this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_comments'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_comments'], $page.'&pid=', $ar[0]),
"COMMENTS" => $this->comment_array()
);
@@ -186,9 +191,9 @@
if(!$this->core->is_access('sys_adm_comments_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=comments'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['comments'] => BASE_URL."?mode=admin&do=comments",
- $this->lng['com_add'] => BASE_URL."?mode=admin&do=comments&op=add",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['comments'] => ADMIN_URL."&do=comments",
+ $this->lng['com_add'] => ADMIN_URL."&do=comments&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -272,9 +277,9 @@
$data = json_decode($ar['data']);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['comments'] => BASE_URL."?mode=admin&do=comments",
- $this->lng['com_edit'] => BASE_URL."?mode=admin&do=comments&op=edit&id=$id"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['comments'] => ADMIN_URL."&do=comments",
+ $this->lng['com_edit'] => ADMIN_URL."&do=comments&op=edit&id=$id"
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/groups.class.php b/upload/modules/admin/groups.class.php
index f2814a9..1aa2b28 100644
--- a/upload/modules/admin/groups.class.php
+++ b/upload/modules/admin/groups.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
$this->core = $core;
$this->db = $core->db;
- $this->config = $core->config;
+ $this->cfg = $core->cfg;
$this->user = $core->user;
$this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_groups')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['groups'] => BASE_URL."?mode=admin&do=groups"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['groups'] => ADMIN_URL."&do=groups"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,12 @@
private function group_array(){
- $start = $this->core->pagination($this->config->pagin['adm_groups'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_groups']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_groups'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_groups']; // Set end pagination
+
+ $ctables = $this->cfg->db['tables'];
+
+ $ug_f = $ctables['ugroups']['fields'];
$where = "";
$sort = "id";
@@ -33,7 +37,7 @@
if(isset($_GET['search']) && !empty($_GET['search'])){
$search = $this->db->safesql(urldecode($_GET['search']));
- $where = "WHERE title LIKE '%$search%'";
+ $where = "WHERE `{$ug_f['title']}` LIKE '%$search%'";
}
if(isset($_GET['sort']) && !empty($_GET['sort'])){
@@ -42,13 +46,13 @@
$sortby = ($expl[0]=='asc') ? "ASC" : "DESC";
switch(@$expl[1]){
- case 'title': $sort = "title"; break;
- case 'desc': $sort = "description"; break;
+ case 'title': $sort = "`{$ug_f['title']}`"; break;
+ case 'desc': $sort = "`{$ug_f['text']}`"; break;
}
}
- $query = $this->db->query("SELECT id, title, `color`, description
- FROM `mcr_groups`
+ $query = $this->db->query("SELECT `{$ug_f['id']}`, `{$ug_f['title']}`, `{$ug_f['color']}`, `{$ug_f['text']}`
+ FROM `{$this->cfg->tabname('ugroups')}`
$where
ORDER BY $sort $sortby
LIMIT $start, $end");
@@ -59,12 +63,12 @@
while($ar = $this->db->fetch_assoc($query)){
- $color = $this->db->HSC($ar['color']);
+ $color = $this->db->HSC($ar[$ug_f['color']]);
$page_data = array(
- "ID" => intval($ar['id']),
- "TITLE" => $this->core->colorize($this->db->HSC($ar['title']), $color),
- "TEXT" => $this->db->HSC($ar['description']),
+ "ID" => intval($ar[$ug_f['id']]),
+ "TITLE" => $this->core->colorize($this->db->HSC($ar[$ug_f['title']]), $color),
+ "TEXT" => $this->db->HSC($ar[$ug_f['text']]),
);
echo $this->core->sp(MCR_THEME_MOD."admin/groups/group-id.html", $page_data);
@@ -75,12 +79,15 @@
private function group_list(){
- $sql = "SELECT COUNT(*) FROM `mcr_groups`";
+ $ctables = $this->cfg->db['tables'];
+ $ug_f = $ctables['ugroups']['fields'];
+
+ $sql = "SELECT COUNT(*) FROM `{$this->cfg->tabname('ugroups')}`";
$page = "?mode=admin&do=groups";
if(isset($_GET['search']) && !empty($_GET['search'])){
$search = $this->db->safesql(urldecode($_GET['search']));
- $sql = "SELECT COUNT(*) FROM `mcr_groups` WHERE title LIKE '%$search%'";
+ $sql = "SELECT COUNT(*) FROM `{$this->cfg->tabname('ugroups')}` WHERE `{$ug_f['title']}` LIKE '%$search%'";
$search = $this->db->HSC(urldecode($_GET['search']));
$page = "?mode=admin&do=groups&search=$search";
}
@@ -96,7 +103,7 @@
$ar = $this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_groups'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_groups'], $page.'&pid=', $ar[0]),
"GROUPS" => $this->group_array()
);
@@ -118,7 +125,10 @@
$list = $this->db->safesql(implode(", ", $list));
- if(!$this->db->remove_fast("mcr_groups", "id IN ($list)")){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"], 2, '?mode=admin&do=groups'); }
+ $ctables = $this->cfg->db['tables'];
+ $ug_f = $ctables['ugroups']['fields'];
+
+ if(!$this->db->remove_fast($this->cfg->tabname('ugroups'), "`{$ug_f['id']}` IN ($list)")){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"], 2, '?mode=admin&do=groups'); }
$count = $this->db->affected_rows();
@@ -171,7 +181,9 @@
$data["TITLE"] = $this->db->HSC($ar['title']);
$data["VALUE"] = $this->db->HSC($ar['value']);
- $data['DEFAULT'] = @$this->get_default_value($ar['value'], $json[$ar['value']], $ar['type']);
+ $value = (!isset($json[$ar['value']])) ? $ar['default'] : $json[$ar['value']];
+
+ $data['DEFAULT'] = @$this->get_default_value($ar['value'], $value, $ar['type']);
echo $this->core->sp(MCR_THEME_MOD."admin/groups/perm-id.html", $data);
}
@@ -197,13 +209,16 @@
if(!$this->core->is_access('sys_adm_groups_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=groups'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['groups'] => BASE_URL."?mode=admin&do=groups",
- $this->lng['grp_add'] => BASE_URL."?mode=admin&do=groups&op=add",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['groups'] => ADMIN_URL."&do=groups",
+ $this->lng['grp_add'] => ADMIN_URL."&do=groups&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
+ $ctables = $this->cfg->db['tables'];
+ $ug_f = $ctables['ugroups']['fields'];
+
if($_SERVER['REQUEST_METHOD']=='POST'){
$title = $this->db->safesql(@$_POST['title']);
$text = $this->db->safesql(@$_POST['text']);
@@ -218,8 +233,8 @@
$new_permissions = $this->db->safesql($this->gen_permissions($perm_data));
- $insert = $this->db->query("INSERT INTO `mcr_groups`
- (title, description, `color`, `permissions`)
+ $insert = $this->db->query("INSERT INTO `{$this->cfg->tabname('ugroups')}`
+ (`{$ug_f['title']}`, `{$ug_f['text']}`, `{$ug_f['color']}`, `{$ug_f['perm']}`)
VALUES
('$title', '$text', '$color', '$new_permissions')");
@@ -253,18 +268,21 @@
$id = intval($_GET['id']);
- $query = $this->db->query("SELECT title, `description`, `color`, `permissions`
- FROM `mcr_groups`
- WHERE id='$id'");
+ $ctables = $this->cfg->db['tables'];
+ $ug_f = $ctables['ugroups']['fields'];
+
+ $query = $this->db->query("SELECT `{$ug_f['title']}`, `{$ug_f['text']}`, `{$ug_f['color']}`, `{$ug_f['perm']}`
+ FROM `{$this->cfg->tabname('ugroups')}`
+ WHERE `{$ug_f['id']}`='$id'");
if(!$query || $this->db->num_rows($query)<=0){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"], 2, '?mode=admin&do=groups'); }
$ar = $this->db->fetch_assoc($query);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['groups'] => BASE_URL."?mode=admin&do=groups",
- $this->lng['grp_edit'] => BASE_URL."?mode=admin&do=groups&op=edit&id=$id",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['groups'] => ADMIN_URL."&do=groups",
+ $this->lng['grp_edit'] => ADMIN_URL."&do=groups&op=edit&id=$id",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -283,9 +301,9 @@
$new_permissions = $this->db->safesql($this->gen_permissions($perm_data));
- $update = $this->db->query("UPDATE `mcr_groups`
- SET title='$title', `color`='$color', description='$text', `permissions`='$new_permissions'
- WHERE id='$id'");
+ $update = $this->db->query("UPDATE `{$this->cfg->tabname('ugroups')}`
+ SET `{$ug_f['title']}`='$title', `{$ug_f['color']}`='$color', `{$ug_f['text']}`='$text', `{$ug_f['perm']}`='$new_permissions'
+ WHERE `{$ug_f['id']}`='$id'");
if(!$update){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"], 2, '?mode=admin&do=groups&op=edit&id='.$id); }
@@ -300,10 +318,10 @@
$data = array(
"PAGE" => $this->lng['grp_edit_page_name'],
- "TITLE" => $this->db->HSC($ar['title']),
- "COLOR" => $this->db->HSC($ar['color']),
- "TEXT" => $this->db->HSC($ar['description']),
- "PERMISSIONS" => $this->perm_list($ar['permissions']),
+ "TITLE" => $this->db->HSC($ar[$ug_f['title']]),
+ "COLOR" => $this->db->HSC($ar[$ug_f['color']]),
+ "TEXT" => $this->db->HSC($ar[$ug_f['text']]),
+ "PERMISSIONS" => $this->perm_list($ar[$ug_f['perm']]),
"BUTTON" => $this->lng['grp_edit_btn']
);
diff --git a/upload/modules/admin/info.class.php b/upload/modules/admin/info.class.php
index 9efe293..6b2e771 100644
--- a/upload/modules/admin/info.class.php
+++ b/upload/modules/admin/info.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_info')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['info'] => BASE_URL."?mode=admin&do=statics"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['info'] => ADMIN_URL."&do=statics"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -31,18 +31,23 @@
}
private function users_stats(){
- $query = $this->db->query("SELECT `g`.id, `g`.title, COUNT(`u`.`id`) AS `count`
- FROM `mcr_groups` AS `g`
- LEFT JOIN `mcr_users` AS `u`
- ON `u`.`gid`=`g`.`id`
- GROUP BY `g`.`id`");
+ $ctables = $this->cfg->db['tables'];
+
+ $ug_f = $ctables['ugroups']['fields'];
+ $us_f = $ctables['users']['fields'];
+
+ $query = $this->db->query("SELECT `g`.`{$ug_f['id']}`, `g`.`{$ug_f['title']}`, COUNT(`u`.`{$us_f['id']}`) AS `count`
+ FROM `{$this->cfg->tabname('ugroups')}` AS `g`
+ LEFT JOIN `{$this->cfg->tabname('users')}` AS `u`
+ ON `u`.`{$us_f['group']}`=`g`.`{$ug_f['id']}`
+ GROUP BY `g`.`{$ug_f['id']}`");
if(!$query || $this->db->num_rows($query)<=0){ return; }
ob_start();
while($ar = $this->db->fetch_assoc($query)){
- switch(intval($ar['id'])){
+ switch(intval($ar[$ug_f['id']])){
case 0: $class='error'; break;
case 1: $class='warning'; break;
case 2: $class='success'; break;
@@ -53,7 +58,7 @@
$data = array(
"CLASS" => $class,
- "TITLE" => $this->db->HSC($ar['title']),
+ "TITLE" => $this->db->HSC($ar[$ug_f['title']]),
"COUNT" => intval($ar['count'])
);
@@ -70,11 +75,11 @@
(SELECT COUNT(*) FROM `mcr_news_cats`) AS `categories`,
(SELECT COUNT(*) FROM `mcr_comments`) AS `comments`,
(SELECT COUNT(*) FROM `mcr_statics`) AS `statics`,
- (SELECT COUNT(*) FROM `mcr_groups`) AS `groups`,
+ (SELECT COUNT(*) FROM `{$this->cfg->tabname('ugroups')}`) AS `groups`,
(SELECT COUNT(*) FROM `mcr_news_views`) AS `views`,
(SELECT COUNT(*) FROM `mcr_news_votes`) AS `votes`,
(SELECT COUNT(*) FROM `mcr_permissions`) AS `permissions`
- FROM `mcr_users`");
+ FROM `{$this->cfg->tabname('users')}`");
if(!$query || $this->db->num_rows($query)<=0){ return; }
diff --git a/upload/modules/admin/logs.class.php b/upload/modules/admin/logs.class.php
index d24d505..1e1d494 100644
--- a/upload/modules/admin/logs.class.php
+++ b/upload/modules/admin/logs.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_logs')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['logs'] => BASE_URL."?mode=admin&do=logs"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['logs'] => ADMIN_URL."&do=logs"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,16 +24,22 @@
private function logs_array(){
- $start = $this->core->pagination($this->config->pagin['adm_logs'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_logs']; // Set end pagination
+ $ctables = $this->cfg->db['tables'];
+
+ $ug_f = $ctables['ugroups']['fields'];
+ $logs_f = $ctables['logs']['fields'];
+ $us_f = $ctables['users']['fields'];
+
+ $start = $this->core->pagination($this->cfg->pagin['adm_logs'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_logs']; // Set end pagination
$where = "";
- $sort = "`l`.id";
+ $sort = "`l`.`{$logs_f['id']}`";
$sortby = "DESC";
if(isset($_GET['search']) && !empty($_GET['search'])){
$search = $this->db->safesql(urldecode($_GET['search']));
- $where = "WHERE `l`.`message` LIKE '%$search%'";
+ $where = "WHERE `l`.`{$logs_f['msg']}` LIKE '%$search%'";
}
if(isset($_GET['sort']) && !empty($_GET['sort'])){
@@ -42,18 +48,19 @@
$sortby = ($expl[0]=='asc') ? "ASC" : "DESC";
switch(@$expl[1]){
- case 'user': $sort = "`u`.login"; break;
- case 'msg': $sort = "`l`.`message`"; break;
- case 'date': $sort = "`l`.`date`"; break;
+ case 'user': $sort = "`u`.`{$logs_f['login']}`"; break;
+ case 'msg': $sort = "`l`.`{$logs_f['msg']}`"; break;
+ case 'date': $sort = "`l`.`{$logs_f['date']}`"; break;
}
}
- $query = $this->db->query("SELECT `l`.id, `l`.uid, `l`.`message`, `l`.`date`, `u`.login, `u`.`color`, `g`.`color` AS `gcolor`
- FROM `mcr_logs` AS `l`
- LEFT JOIN `mcr_users` AS `u`
- ON `u`.id=`l`.uid
- LEFT JOIN `mcr_groups` AS `g`
- ON `g`.id=`u`.gid
+ $query = $this->db->query("SELECT `l`.`{$logs_f['id']}`, `l`.`{$logs_f['uid']}`, `l`.`{$logs_f['msg']}`, `l`.`{$logs_f['date']}`,
+ `u`.`{$us_f['login']}`, `u`.`{$us_f['color']}`, `g`.`{$ug_f['color']}` AS `gcolor`
+ FROM `{$this->cfg->tabname('logs')}` AS `l`
+ LEFT JOIN `{$this->cfg->tabname('users')}` AS `u`
+ ON `u`.`{$us_f['id']}`=`l`.`{$logs_f['uid']}`
+ LEFT JOIN `{$this->cfg->tabname('ugroups')}` AS `g`
+ ON `g`.`{$ug_f['id']}`=`u`.`{$us_f['group']}`
$where
ORDER BY $sort $sortby
LIMIT $start, $end");
@@ -64,15 +71,15 @@
while($ar = $this->db->fetch_assoc($query)){
- $color = (empty($ar['color'])) ? $this->db->HSC($ar['gcolor']) : $this->db->HSC($ar['color']);
+ $color = (empty($ar[$us_f['color']])) ? $this->db->HSC($ar['gcolor']) : $this->db->HSC($ar[$us_f['color']]);
- $login = (!is_null($ar['login'])) ? $this->db->HSC($ar['login']) : 'Пользователь удален';
+ $login = (!is_null($ar[$us_f['login']])) ? $this->db->HSC($ar['login']) : $this->lng['mod_name'];
$page_data = array(
- "ID" => intval($ar['id']),
- "UID" => intval($ar['uid']),
- "MESSAGE" => $this->db->HSC($ar['message']),
- "DATE" => date("d.m.Y в H:i:s", $ar['date']),
+ "ID" => intval($ar[$logs_f['id']]),
+ "UID" => intval($ar[$logs_f['uid']]),
+ "MESSAGE" => $this->db->HSC($ar[$logs_f['msg']]),
+ "DATE" => date("d.m.Y в H:i:s", $ar[$logs_f['date']]),
"LOGIN" => $this->core->colorize($login, $color),
);
@@ -84,12 +91,15 @@
private function logs_list(){
- $sql = "SELECT COUNT(*) FROM `mcr_logs`";
+ $ctables = $this->cfg->db['tables'];
+ $logs_f = $ctables['logs']['fields'];
+
+ $sql = "SELECT COUNT(*) FROM `{$this->cfg->tabname('logs')}`";
$page = "?mode=admin&do=logs";
if(isset($_GET['search']) && !empty($_GET['search'])){
$search = $this->db->safesql(urldecode($_GET['search']));
- $sql = "SELECT COUNT(*) FROM `mcr_logs` WHERE `message` LIKE '%$search%'";
+ $sql = "SELECT COUNT(*) FROM `{$this->cfg->tabname('logs')}` WHERE `{$logs_f['msg']}` LIKE '%$search%'";
$search = $this->db->HSC(urldecode($_GET['search']));
$page = "?mode=admin&do=logs&search=$search";
}
@@ -103,7 +113,7 @@
$ar = @$this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_logs'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_logs'], $page.'&pid=', $ar[0]),
"LOGS" => $this->logs_array()
);
diff --git a/upload/modules/admin/menu.class.php b/upload/modules/admin/menu.class.php
index 5df80b4..75af907 100644
--- a/upload/modules/admin/menu.class.php
+++ b/upload/modules/admin/menu.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_menu')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['menu'] => BASE_URL."?mode=admin&do=menu"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['menu'] => ADMIN_URL."&do=menu"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,8 @@
private function menu_array(){
- $start = $this->core->pagination($this->config->pagin['adm_menu'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_menu']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_menu'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_menu']; // Set end pagination
$where = "";
$sort = "`m`.id";
@@ -101,7 +101,7 @@
$ar = $this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_menu'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_menu'], $page.'&pid=', $ar[0]),
"MENU" => $this->menu_array()
);
@@ -141,9 +141,9 @@
if(!$this->core->is_access('sys_adm_menu_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=menu'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['menu'] => BASE_URL."?mode=admin&do=menu",
- $this->lng['menu_add'] => BASE_URL."?mode=admin&do=menu&op=add",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['menu'] => ADMIN_URL."&do=menu",
+ $this->lng['menu_add'] => ADMIN_URL."&do=menu&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -202,9 +202,9 @@
$ar = $this->db->fetch_assoc($query);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['menu'] => BASE_URL."?mode=admin&do=menu",
- $this->lng['menu_edit'] => BASE_URL."?mode=admin&do=menu&op=edit&id=$id",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['menu'] => ADMIN_URL."&do=menu",
+ $this->lng['menu_edit'] => ADMIN_URL."&do=menu&op=edit&id=$id",
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/menu_adm.class.php b/upload/modules/admin/menu_adm.class.php
index 2c883d5..5d0abe3 100644
--- a/upload/modules/admin/menu_adm.class.php
+++ b/upload/modules/admin/menu_adm.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_menu_adm')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['manucp'] => BASE_URL."?mode=admin&do=menu_adm"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['manucp'] => ADMIN_URL."&do=menu_adm"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,8 @@
private function menu_array(){
- $start = $this->core->pagination($this->config->pagin['adm_menu_adm'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_menu_adm']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_menu_adm'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_menu_adm']; // Set end pagination
$where = "";
$sort = "`m`.`id`";
@@ -97,7 +97,7 @@
$ar = @$this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_menu_adm'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_menu_adm'], $page.'&pid=', $ar[0]),
"MENU" => $this->menu_array()
);
@@ -201,9 +201,9 @@
if(!$this->core->is_access('sys_adm_menu_adm_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=menu_adm'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['manucp'] => BASE_URL."?mode=admin&do=menu_adm",
- $this->lng['mcp_add'] => BASE_URL."?mode=admin&do=menu_adm&op=add",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['manucp'] => ADMIN_URL."&do=menu_adm",
+ $this->lng['mcp_add'] => ADMIN_URL."&do=menu_adm&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -272,9 +272,9 @@
$ar = $this->db->fetch_assoc($query);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['manucp'] => BASE_URL."?mode=admin&do=menu_adm",
- $this->lng['mcp_edit'] => BASE_URL."?mode=admin&do=menu_adm&op=edit&id=$id",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['manucp'] => ADMIN_URL."&do=menu_adm",
+ $this->lng['mcp_edit'] => ADMIN_URL."&do=menu_adm&op=edit&id=$id",
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/menu_groups.class.php b/upload/modules/admin/menu_groups.class.php
index b6adaa0..d68fe0a 100644
--- a/upload/modules/admin/menu_groups.class.php
+++ b/upload/modules/admin/menu_groups.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_menu_groups')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['menugrp'] => BASE_URL."?mode=admin&do=menu_groups"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['menugrp'] => ADMIN_URL."&do=menu_groups"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,8 @@
private function group_array(){
- $start = $this->core->pagination($this->config->pagin['adm_menu_groups'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_menu_groups']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_menu_groups'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_menu_groups']; // Set end pagination
$where = "";
$sort = "`g`.`id`";
@@ -98,7 +98,7 @@
$ar = $this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_menu_groups'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_menu_groups'], $page.'&pid=', $ar[0]),
"GROUPS" => $this->group_array()
);
@@ -138,9 +138,9 @@
if(!$this->core->is_access('sys_adm_menu_groups_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=menu_groups'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['menugrp'] => BASE_URL."?mode=admin&do=menu_groups",
- $this->lng['mgrp_add'] => BASE_URL."?mode=admin&do=menu_groups&op=add",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['menugrp'] => ADMIN_URL."&do=menu_groups",
+ $this->lng['mgrp_add'] => ADMIN_URL."&do=menu_groups&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -197,9 +197,9 @@
$ar = $this->db->fetch_assoc($query);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['menugrp'] => BASE_URL."?mode=admin&do=menu_groups",
- $this->lng['mgrp_edit'] => BASE_URL."?mode=admin&do=menu_groups&op=edit&id=$id",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['menugrp'] => ADMIN_URL."&do=menu_groups",
+ $this->lng['mgrp_edit'] => ADMIN_URL."&do=menu_groups&op=edit&id=$id",
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/menu_icons.class.php b/upload/modules/admin/menu_icons.class.php
index 70f141e..4f82e1e 100644
--- a/upload/modules/admin/menu_icons.class.php
+++ b/upload/modules/admin/menu_icons.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_menu_icons')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['menuicons'] => BASE_URL."?mode=admin&do=menu_icons"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['menuicons'] => ADMIN_URL."&do=menu_icons"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,8 @@
private function icon_array(){
- $start = $this->core->pagination($this->config->pagin['adm_menu_icons'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_menu_icons']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_menu_icons'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_menu_icons']; // Set end pagination
$where = "";
$sort = "id";
@@ -93,7 +93,7 @@
$ar = $this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_menu_icons'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_menu_icons'], $page.'&pid=', $ar[0]),
"ICONS" => $this->icon_array()
);
@@ -133,9 +133,9 @@
if(!$this->core->is_access('sys_adm_menu_icons_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=menu_icons'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['menuicons'] => BASE_URL."?mode=admin&do=menu_icons",
- $this->lng['mi_add'] => BASE_URL."?mode=admin&do=menu_icons&op=add",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['menuicons'] => ADMIN_URL."&do=menu_icons",
+ $this->lng['mi_add'] => ADMIN_URL."&do=menu_icons&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -187,9 +187,9 @@
$ar = $this->db->fetch_assoc($query);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['menuicons'] => BASE_URL."?mode=admin&do=menu_icons",
- $this->lng['mi_edit'] => BASE_URL."?mode=admin&do=menu_icons&op=edit&id=$id",
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['menuicons'] => ADMIN_URL."&do=menu_icons",
+ $this->lng['mi_edit'] => ADMIN_URL."&do=menu_icons&op=edit&id=$id",
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/modules.class.php b/upload/modules/admin/modules.class.php
index 54f23de..95dfe02 100644
--- a/upload/modules/admin/modules.class.php
+++ b/upload/modules/admin/modules.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_modules')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['modules'] => BASE_URL."?mode=admin&do=modules"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['modules'] => ADMIN_URL."&do=modules"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -108,9 +108,9 @@
}
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['modules'] => BASE_URL."?mode=admin&do=modules",
- $this->lng['mod_edit'] => BASE_URL."?mode=admin&do=modules&op=edit&id=$name"
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['modules'] => ADMIN_URL."&do=modules",
+ $this->lng['mod_edit'] => ADMIN_URL."&do=modules&op=edit&id=$name"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -120,7 +120,7 @@
$cfg['MOD_CHECK_UPDATE'] = (intval(@$_POST['updates'])==1) ? true : false;
$cfg['MOD_URL_UPDATE'] = $this->core->safestr(@$_POST['update_url']);
- if(!$this->config->savecfg($cfg, 'modules/'.$name.'.php', 'cfg')){
+ if(!$this->cfg->savecfg($cfg, 'modules/'.$name.'.php', 'cfg')){
$this->core->notify($this->core->lng["e_msg"], $this->lng['mod_cfg_unsave'], 3, '?mode=admin&do=modules');
}
diff --git a/upload/modules/admin/monitoring.class.php b/upload/modules/admin/monitoring.class.php
index 2c967dd..6de5610 100644
--- a/upload/modules/admin/monitoring.class.php
+++ b/upload/modules/admin/monitoring.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_monitoring')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['monitoring'] => BASE_URL."?mode=admin&do=monitoring"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['monitoring'] => ADMIN_URL."&do=monitoring"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,8 @@
private function monitor_array(){
- $start = $this->core->pagination($this->config->pagin['adm_monitoring'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_monitoring']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_monitoring'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_monitoring']; // Set end pagination
$where = "";
$sort = "id";
@@ -95,7 +95,7 @@
$ar = $this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_monitoring'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_monitoring'], $page.'&pid=', $ar[0]),
"SERVERS" => $this->monitor_array()
);
@@ -135,9 +135,9 @@
if(!$this->core->is_access('sys_adm_monitoring_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=monitoring'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['monitoring'] => BASE_URL."?mode=admin&do=monitoring",
- $this->lng['mon_add'] => BASE_URL."?mode=admin&do=monitoring&op=add",
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['monitoring'] => ADMIN_URL."&do=monitoring",
+ $this->lng['mon_add'] => ADMIN_URL."&do=monitoring&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -173,10 +173,10 @@
"PAGE" => $this->lng['mon_add_page_name'],
"TITLE" => "",
"TEXT" => "",
- "IP" => "localhost",
+ "IP" => "127.0.0.1",
"PORT" => "25565",
"TYPES" => $this->types(),
- "CACHE" => intval($ar['updater']),
+ "CACHE" => 60,
"ERROR" => "",
"BUTTON" => $this->lng['mon_add_btn']
);
@@ -198,9 +198,9 @@
$ar = $this->db->fetch_assoc($query);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['monitoring'] => BASE_URL."?mode=admin&do=monitoring",
- $this->lng['mon_edit'] => BASE_URL."?mode=admin&do=monitoring&op=edit&id=$id",
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['monitoring'] => ADMIN_URL."&do=monitoring",
+ $this->lng['mon_edit'] => ADMIN_URL."&do=monitoring&op=edit&id=$id",
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/news.class.php b/upload/modules/admin/news.class.php
index d15bb85..ffc6cec 100644
--- a/upload/modules/admin/news.class.php
+++ b/upload/modules/admin/news.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
$this->core = $core;
$this->db = $core->db;
- $this->config = $core->config;
+ $this->cfg = $core->cfg;
$this->user = $core->user;
$this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_news')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['news'] => BASE_URL."?mode=admin&do=news"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['news'] => ADMIN_URL."&do=news"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,8 @@
private function news_array(){
- $start = $this->core->pagination($this->config->pagin['adm_news'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_news']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_news'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_news']; // Set end pagination
$where = "";
$sort = "`n`.id";
@@ -97,7 +97,7 @@
$ar = @$this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_news'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_news'], $page.'&pid=', $ar[0]),
"NEWS" => $this->news_array()
);
@@ -179,9 +179,9 @@
if(!$this->core->is_access('sys_adm_news_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=news'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['news'] => BASE_URL."?mode=admin&do=news",
- $this->lng['news_add'] => BASE_URL."?mode=admin&do=news&op=add",
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['news'] => ADMIN_URL."&do=news",
+ $this->lng['news_add'] => ADMIN_URL."&do=news&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -316,9 +316,9 @@
$data = json_decode($ar['data']);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['news'] => BASE_URL."?mode=admin&do=news",
- $this->lng['news_edit'] => BASE_URL."?mode=admin&do=news&op=edit&id=$id"
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['news'] => ADMIN_URL."&do=news",
+ $this->lng['news_edit'] => ADMIN_URL."&do=news&op=edit&id=$id"
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/news_cats.class.php b/upload/modules/admin/news_cats.class.php
index 257a005..aae3a59 100644
--- a/upload/modules/admin/news_cats.class.php
+++ b/upload/modules/admin/news_cats.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_news_cats')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']);; }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['categories'] => BASE_URL."?mode=admin&do=news_cats"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['categories'] => ADMIN_URL."&do=news_cats"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,8 @@
private function cats_array(){
- $start = $this->core->pagination($this->config->pagin['adm_news_cats'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_news_cats']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_news_cats'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_news_cats']; // Set end pagination
$where = "";
$sort = "id";
@@ -93,7 +93,7 @@
$ar = $this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_news_cats'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_news_cats'], $page.'&pid=', $ar[0]),
"CATEGORIES" => $this->cats_array()
);
@@ -133,9 +133,9 @@
if(!$this->core->is_access('sys_adm_news_cats_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=news_cats'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['categories'] => BASE_URL."?mode=admin&do=news_cats",
- $this->lng['cn_add'] => BASE_URL."?mode=admin&do=news_cats&op=add",
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['categories'] => ADMIN_URL."&do=news_cats",
+ $this->lng['cn_add'] => ADMIN_URL."&do=news_cats&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -193,9 +193,9 @@
$ar = $this->db->fetch_assoc($query);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['categories'] => BASE_URL."?mode=admin&do=news_cats",
- $this->lng['cn_edit'] => BASE_URL."?mode=admin&do=news_cats&op=edit&id=$id",
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['categories'] => ADMIN_URL."&do=news_cats",
+ $this->lng['cn_edit'] => ADMIN_URL."&do=news_cats&op=edit&id=$id",
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/news_views.class.php b/upload/modules/admin/news_views.class.php
index 950203b..338f287 100644
--- a/upload/modules/admin/news_views.class.php
+++ b/upload/modules/admin/news_views.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_news_views')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['views'] => BASE_URL."?mode=admin&do=news_views"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['views'] => ADMIN_URL."&do=news_views"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,13 @@
private function views_array(){
- $start = $this->core->pagination($this->config->pagin['adm_news_views'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_news_views']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_news_views'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_news_views']; // Set end pagination
+
+ $ctables = $this->cfg->db['tables'];
+
+ $ug_f = $ctables['ugroups']['fields'];
+ $us_f = $ctables['users']['fields'];
$sort = "`v`.id";
$sortby = "DESC";
@@ -37,20 +42,20 @@
switch(@$expl[1]){
case 'news': $sort = "`n`.title"; break;
- case 'user': $sort = "`u`.login"; break;
+ case 'user': $sort = "`u`.`{$us_f['login']}`"; break;
case 'date': $sort = "`v`.`time`"; break;
}
}
$query = $this->db->query("SELECT `v`.id, `v`.nid, `v`.uid, `v`.`time`, `n`.title,
- `u`.login, `u`.`color`, `g`.`color` AS `gcolor`
+ `u`.`{$us_f['login']}`, `u`.`{$us_f['color']}`, `g`.`{$ug_f['color']}` AS `gcolor`
FROM `mcr_news_views` AS `v`
LEFT JOIN `mcr_news` AS `n`
ON `n`.id=`v`.nid
- LEFT JOIN `mcr_users` AS `u`
- ON `u`.id=`v`.uid
- LEFT JOIN `mcr_groups` AS `g`
- ON `g`.id=`u`.gid
+ LEFT JOIN `{$this->cfg->tabname('users')}` AS `u`
+ ON `u`.`{$us_f['id']}`=`v`.uid
+ LEFT JOIN `{$this->cfg->tabname('ugroups')}` AS `g`
+ ON `g`.`{$ug_f['id']}`=`u`.`{$us_f['group']}`
ORDER BY $sort $sortby
LIMIT $start, $end");
@@ -68,9 +73,9 @@
$new = $this->db->HSC($ar['title']);
}
- $login = (is_null($ar['login'])) ? 'Пользователь удален' : $this->db->HSC($ar['login']);
+ $login = (is_null($ar[$us_f['login']])) ? 'Пользователь удален' : $this->db->HSC($ar[$us_f['login']]);
- $color = (empty($ar['color'])) ? $this->db->HSC($ar['gcolor']) : $this->db->HSC($ar['color']);
+ $color = (empty($ar[$us_f['color']])) ? $this->db->HSC($ar['gcolor']) : $this->db->HSC($ar[$us_f['color']]);
$page_data = array(
"ID" => intval($ar['id']),
@@ -101,7 +106,7 @@
$ar = @$this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_news_views'], $page."&pid=", $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_news_views'], $page."&pid=", $ar[0]),
"VIEWS" => $this->views_array()
);
diff --git a/upload/modules/admin/news_votes.class.php b/upload/modules/admin/news_votes.class.php
index 52f21dc..a610b9a 100644
--- a/upload/modules/admin/news_votes.class.php
+++ b/upload/modules/admin/news_votes.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_news_votes')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['votes'] => BASE_URL."?mode=admin&do=news_votes"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['votes'] => ADMIN_URL."&do=news_votes"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,13 @@
private function votes_array(){
- $start = $this->core->pagination($this->config->pagin['adm_news_votes'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_news_votes']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_news_votes'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_news_votes']; // Set end pagination
+
+ $ctables = $this->cfg->db['tables'];
+
+ $ug_f = $ctables['ugroups']['fields'];
+ $us_f = $ctables['users']['fields'];
$sort = "`v`.id";
$sortby = "DESC";
@@ -38,20 +43,20 @@
switch(@$expl[1]){
case 'news': $sort = "`n`.title"; break;
case 'value': $sort = "`v`.`value`"; break;
- case 'user': $sort = "`u`.login"; break;
+ case 'user': $sort = "`u`.`{$us_f['login']}`"; break;
case 'date': $sort = "`v`.`time`"; break;
}
}
$query = $this->db->query("SELECT `v`.id, `v`.nid, `v`.uid, `v`.`value`, `v`.`time`, `n`.title,
- `u`.login, `u`.`color`, `g`.`color` AS `gcolor`
+ `u`.`{$us_f['login']}`, `u`.`{$us_f['color']}`, `g`.`{$ug_f['color']}` AS `gcolor`
FROM `mcr_news_votes` AS `v`
LEFT JOIN `mcr_news` AS `n`
ON `n`.id=`v`.nid
- LEFT JOIN `mcr_users` AS `u`
- ON `u`.id=`v`.uid
- LEFT JOIN `mcr_groups` AS `g`
- ON `g`.id=`u`.gid
+ LEFT JOIN `{$this->cfg->tabname('users')}` AS `u`
+ ON `u`.`{$us_f['id']}`=`v`.uid
+ LEFT JOIN `{$this->cfg->tabname('ugroups')}` AS `g`
+ ON `g`.`{$ug_f['id']}`=`u`.`{$us_f['group']}`
ORDER BY $sort $sortby
LIMIT $start, $end");
@@ -71,9 +76,9 @@
$value = (intval($ar['value'])===1) ? 'icon-thumbs-up' : 'icon-thumbs-down';
- $login = (is_null($ar['login'])) ? 'Пользователь удален' : $this->db->HSC($ar['login']);
+ $login = (is_null($ar[$us_f['login']])) ? 'Пользователь удален' : $this->db->HSC($ar[$us_f['login']]);
- $color = (empty($ar['color'])) ? $this->db->HSC($ar['gcolor']) : $this->db->HSC($ar['color']);
+ $color = (empty($ar[$us_f['color']])) ? $this->db->HSC($ar['gcolor']) : $this->db->HSC($ar[$us_f['color']]);
$page_data = array(
"ID" => intval($ar['id']),
@@ -105,7 +110,7 @@
$ar = @$this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_news_votes'], $page."&pid=", $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_news_votes'], $page."&pid=", $ar[0]),
"VOTES" => $this->votes_array()
);
diff --git a/upload/modules/admin/panel_menu.class.php b/upload/modules/admin/panel_menu.class.php
index bc06971..3f3d901 100644
--- a/upload/modules/admin/panel_menu.class.php
+++ b/upload/modules/admin/panel_menu.class.php
@@ -3,17 +3,17 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin"
+ $this->lng['mod_name'] => ADMIN_URL
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/permissions.class.php b/upload/modules/admin/permissions.class.php
index 5032860..76bc0d9 100644
--- a/upload/modules/admin/permissions.class.php
+++ b/upload/modules/admin/permissions.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_permissions')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['permissions'] => BASE_URL."?mode=admin&do=permissions"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['permissions'] => ADMIN_URL."&do=permissions"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,8 @@
private function permissions_array(){
- $start = $this->core->pagination($this->config->pagin['adm_groups'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_groups']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_groups'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_groups']; // Set end pagination
$where = "";
$sort = "id";
@@ -53,8 +53,6 @@
ORDER BY $sort $sortby
LIMIT $start, $end");
-
-
if(!$query || $this->db->num_rows($query)<=0){ return $this->core->sp(MCR_THEME_MOD."admin/permissions/perm-none.html"); }
ob_start();
@@ -101,7 +99,7 @@
$ar = $this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_groups'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_groups'], $page.'&pid=', $ar[0]),
"PERMISSIONS" => $this->permissions_array()
);
@@ -168,9 +166,13 @@
private function update_groups(){
+ $ctables = $this->cfg->db['tables'];
+
+ $ug_f = $ctables['ugroups']['fields'];
+
$def_perm = $this->get_permissions();
- $query = $this->db->query("SELECT id, `permissions` FROM `mcr_groups`");
+ $query = $this->db->query("SELECT `{$ug_f['id']}`, `{$ug_f['perm']}` FROM `{$this->cfg->tabname('ugroups')}`");
if(!$query || $this->db->num_rows($query)<=0){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"]); }
@@ -180,9 +182,9 @@
while($ar = $this->db->fetch_assoc($query)){
- $group_perm = @json_decode($ar['permissions'], true);
+ $group_perm = @json_decode($ar[$ug_f['perm']], true);
- $id = intval($ar['id']);
+ $id = intval($ar[$ug_f['id']]);
$new_perm = array();
@@ -192,9 +194,9 @@
$new_perm = $this->db->safesql(json_encode($new_perm));
- $update = $this->db->obj->query("UPDATE `mcr_groups`
- SET `permissions`='$new_perm'
- WHERE id='$id'");
+ $update = $this->db->obj->query("UPDATE `{$this->cfg->tabname('ugroups')}`
+ SET `{$ug_f['perm']}`='$new_perm'
+ WHERE `{$ug_f['id']}`='$id'");
if(!$update){ $return = false; }
}
@@ -229,9 +231,9 @@
if(!$this->core->is_access('sys_adm_permissions_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=permissions'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['permissions'] => BASE_URL."?mode=admin&do=permissions",
- $this->lng['perm_add'] => BASE_URL."?mode=admin&do=permissions&op=add",
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['permissions'] => ADMIN_URL."&do=permissions",
+ $this->lng['perm_add'] => ADMIN_URL."&do=permissions&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -301,9 +303,9 @@
$ar = $this->db->fetch_assoc($query);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['permissions'] => BASE_URL."?mode=admin&do=permissions",
- $this->lng['perm_edit'] => BASE_URL."?mode=admin&do=permissions&op=edit&id=$id",
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['permissions'] => ADMIN_URL."&do=permissions",
+ $this->lng['perm_edit'] => ADMIN_URL."&do=permissions&op=edit&id=$id",
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/settings.class.php b/upload/modules/admin/settings.class.php
index 8a4f334..6c34455 100644
--- a/upload/modules/admin/settings.class.php
+++ b/upload/modules/admin/settings.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_settings')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['settings'] => BASE_URL."?mode=admin&do=settings"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['settings'] => ADMIN_URL."&do=settings"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -105,7 +105,7 @@
private function main(){
- $cfg = $this->config->main;
+ $cfg = $this->cfg->main;
if($_SERVER['REQUEST_METHOD']=='POST'){
$cfg['s_name'] = $this->core->safestr(@$_POST['s_name']);
@@ -139,7 +139,7 @@
$cfg['kc_private'] = $this->core->safestr(@$_POST['kc_private']);
- if(!$this->config->savecfg($cfg)){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings'); }
+ if(!$this->cfg->savecfg($cfg)){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings'); }
// Последнее обновление пользователя
$this->db->update_user($this->user);
@@ -165,7 +165,7 @@
private function to_int_keys($array=array()){
if(empty($array)){ return false; }
- $cfg = $this->config->pagin;
+ $cfg = $this->cfg->pagin;
foreach($array as $key => $value){
$cfg[$key] = (intval($value)<=0) ? 1 : intval($value);
@@ -176,7 +176,7 @@
private function pagin(){
- $cfg = $this->config->pagin;
+ $cfg = $this->cfg->pagin;
if($_SERVER['REQUEST_METHOD']=='POST'){
$post = $_POST;
@@ -194,7 +194,7 @@
$cfg = $this->to_int_keys($post);
- if(!$this->config->savecfg($cfg, 'pagin.php', 'pagin')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings&op=pagin'); }
+ if(!$this->cfg->savecfg($cfg, 'pagin.php', 'pagin')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings&op=pagin'); }
// Последнее обновление пользователя
$this->db->update_user($this->user);
@@ -214,7 +214,7 @@
private function _mail(){
- $cfg = $this->config->mail;
+ $cfg = $this->cfg->mail;
if($_SERVER['REQUEST_METHOD']=='POST'){
@@ -234,7 +234,7 @@
$cfg['smtp_pass'] = $this->core->safestr(@$_POST['smtp_pass']);
- if(!$this->config->savecfg($cfg, 'mail.php', 'mail')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings&op=mail'); }
+ if(!$this->cfg->savecfg($cfg, 'mail.php', 'mail')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings&op=mail'); }
// Последнее обновление пользователя
$this->db->update_user($this->user);
@@ -273,7 +273,7 @@
private function search(){
- $cfg = $this->config->search;
+ $cfg = $this->cfg->search;
if($_SERVER['REQUEST_METHOD']=='POST'){
@@ -288,7 +288,7 @@
"permissions" => $this->core->safestr(@$_POST['permissions']),
);
- if(!$this->config->savecfg($cfg, 'search.php', 'search')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings&op=search'); }
+ if(!$this->cfg->savecfg($cfg, 'search.php', 'search')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings&op=search'); }
// Последнее обновление пользователя
$this->db->update_user($this->user);
@@ -310,7 +310,7 @@
$this->core->header .= $this->core->sp(MCR_THEME_MOD."admin/settings/header.html");
- $cfg = $this->config->func;
+ $cfg = $this->cfg->func;
if($_SERVER['REQUEST_METHOD']=='POST'){
@@ -322,7 +322,7 @@
$cfg['close_time'] = (@$_POST['close_time']=='') ? 0 : intval(strtotime(@$_POST['close_time']));
- if(!$this->config->savecfg($cfg, 'functions.php', 'func')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings&op=functions'); }
+ if(!$this->cfg->savecfg($cfg, 'functions.php', 'func')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings&op=functions'); }
// Последнее обновление пользователя
$this->db->update_user($this->user);
@@ -361,7 +361,7 @@
$db['port'] = intval(@$_POST['port']);
- if(!$this->config->savecfg($db, 'db.php', 'db')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings&op=base'); }
+ if(!$this->cfg->savecfg($db, 'db.php', 'db')){ $this->core->notify($this->core->lng["e_msg"], $this->lng['set_e_cfg_save'], 2, '?mode=admin&do=settings&op=base'); }
// Последнее обновление пользователя
$this->db->update_user($this->user);
diff --git a/upload/modules/admin/statics.class.php b/upload/modules/admin/statics.class.php
index 5e9c342..41cc70b 100644
--- a/upload/modules/admin/statics.class.php
+++ b/upload/modules/admin/statics.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_statics')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['statics'] => BASE_URL."?mode=admin&do=statics"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['statics'] => ADMIN_URL."&do=statics"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,8 +24,8 @@
private function static_array(){
- $start = $this->core->pagination($this->config->pagin['adm_statics'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_statics']; // Set end pagination
+ $start = $this->core->pagination($this->cfg->pagin['adm_statics'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_statics']; // Set end pagination
$where = "";
$sort = "`s`.`id`";
@@ -101,7 +101,7 @@
$ar = @$this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_statics'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_statics'], $page.'&pid=', $ar[0]),
"STATICS" => $this->static_array()
);
@@ -141,9 +141,9 @@
if(!$this->core->is_access('sys_adm_statics_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=statics'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['statics'] => BASE_URL."?mode=admin&do=statics",
- $this->lng['stc_add'] => BASE_URL."?mode=admin&do=statics&op=add",
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['statics'] => ADMIN_URL."&do=statics",
+ $this->lng['stc_add'] => ADMIN_URL."&do=statics&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -260,9 +260,9 @@
$data = json_decode($ar['data']);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['statics'] => BASE_URL."?mode=admin&do=statics",
- $this->lng['stc_edit'] => BASE_URL."?mode=admin&do=statics&op=edit&id=$id"
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['statics'] => ADMIN_URL."&do=statics",
+ $this->lng['stc_edit'] => ADMIN_URL."&do=statics&op=edit&id=$id"
);
$this->core->bc = $this->core->gen_bc($bc);
diff --git a/upload/modules/admin/users.class.php b/upload/modules/admin/users.class.php
index 0153ffb..2679f59 100644
--- a/upload/modules/admin/users.class.php
+++ b/upload/modules/admin/users.class.php
@@ -3,20 +3,20 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_users')){ $this->core->notify($this->core->lng['403'], $this->core->lng['e_403']); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['users'] => BASE_URL."?mode=admin&do=users"
+ $this->lng['mod_name'] => ADMIN_URL,
+ $this->lng['users'] => ADMIN_URL."&do=users"
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -24,17 +24,22 @@
private function user_array(){
- $start = $this->core->pagination($this->config->pagin['adm_users'], 0, 0); // Set start pagination
- $end = $this->config->pagin['adm_users']; // Set end pagination
+ $ctables = $this->cfg->db['tables'];
+
+ $ug_f = $ctables['ugroups']['fields'];
+ $us_f = $ctables['users']['fields'];
+
+ $start = $this->core->pagination($this->cfg->pagin['adm_users'], 0, 0); // Set start pagination
+ $end = $this->cfg->pagin['adm_users']; // Set end pagination
$where = "";
- $sort = "`u`.id";
+ $sort = "`u`.`{$us_f['id']}`";
$sortby = "DESC";
if(isset($_GET['search']) && !empty($_GET['search'])){
$search = $this->db->safesql(urldecode($_GET['search']));
if(preg_match("/[а-яА-ЯёЁ]+/iu", $search)){ $search = ""; }
- $table = (preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/i", $search)) ? 'ip_last' : 'login';
+ $table = (preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/i", $search)) ? $us_f['ip_last'] : $us_f['login'];
$where = "WHERE `u`.`$table` LIKE '%$search%'";
}
@@ -44,18 +49,19 @@
$sortby = ($expl[0]=='asc') ? "ASC" : "DESC";
switch(@$expl[1]){
- case 'user': $sort = "`u`.login"; break;
- case 'group': $sort = "`g`.title"; break;
- case 'email': $sort = "`u`.email"; break;
- case 'ip': $sort = "`u`.ip_last"; break;
+ case 'user': $sort = "`u`.`{$us_f['login']}`"; break;
+ case 'group': $sort = "`g`.`{$ug_f['title']}`"; break;
+ case 'email': $sort = "`u`.`{$us_f['email']}`"; break;
+ case 'ip': $sort = "`u`.`{$us_f['ip_last']}`"; break;
}
}
- $query = $this->db->query("SELECT `u`.id, `u`.gid, `u`.login, `u`.email, `u`.`color`, `u`.ip_create, `u`.ip_last,
- `g`.title AS `group`, `g`.`color` AS `gcolor`
- FROM `mcr_users` AS `u`
- LEFT JOIN `mcr_groups` AS `g`
- ON `g`.id=`u`.gid
+ $query = $this->db->query("SELECT `u`.`{$us_f['id']}`, `u`.`{$us_f['group']}`, `u`.`{$us_f['login']}`, `u`.`{$us_f['email']}`,
+ `u`.`{$us_f['color']}`, `u`.`{$us_f['ip_create']}`, `u`.`{$us_f['ip_last']}`,
+ `g`.`{$ug_f['title']}` AS `group`, `g`.`{$ug_f['color']}` AS `gcolor`
+ FROM `{$this->cfg->tabname('users')}` AS `u`
+ LEFT JOIN `{$this->cfg->tabname('ugroups')}` AS `g`
+ ON `g`.`{$ug_f['id']}`=`u`.`{$us_f['group']}`
$where
ORDER BY $sort $sortby
LIMIT $start, $end");
@@ -66,17 +72,17 @@
while($ar = $this->db->fetch_assoc($query)){
- $ucolor = (!empty($ar['color'])) ? $this->db->HSC($ar['color']) : $this->db->HSC($ar['gcolor']);
+ $ucolor = (!empty($ar[$us_f['color']])) ? $this->db->HSC($ar[$us_f['color']]) : $this->db->HSC($ar['gcolor']);
$gcolor = $this->db->HSC($ar['gcolor']);
$page_data = array(
- "ID" => intval($ar['id']),
- "GID" => intval($ar['gid']),
- "LOGIN" => $this->core->colorize($this->db->HSC($ar['login']), $ucolor),
- "EMAIL" => $this->db->HSC($ar['email']),
+ "ID" => intval($ar[$us_f['id']]),
+ "GID" => intval($ar[$us_f['group']]),
+ "LOGIN" => $this->core->colorize($this->db->HSC($ar[$us_f['login']]), $ucolor),
+ "EMAIL" => $this->db->HSC($ar[$us_f['email']]),
"GROUP" => $this->core->colorize($this->db->HSC($ar['group']), $gcolor),
- "IP_LAST" => $this->db->HSC($ar['ip_last']),
- "IP_CREATE" => $this->db->HSC($ar['ip_create']),
+ "IP_LAST" => $this->db->HSC($ar[$us_f['ip_last']]),
+ "IP_CREATE" => $this->db->HSC($ar[$us_f['ip_create']]),
);
echo $this->core->sp(MCR_THEME_MOD."admin/users/user-id.html", $page_data);
@@ -87,14 +93,17 @@
private function user_list(){
- $sql = "SELECT COUNT(*) FROM `mcr_users`";
+ $ctables = $this->cfg->db['tables'];
+ $us_f = $ctables['users']['fields'];
+
+ $sql = "SELECT COUNT(*) FROM `{$this->cfg->tabname('users')}`";
$page = "?mode=admin&do=users";
if(isset($_GET['search']) && !empty($_GET['search'])){
$search = $this->db->safesql(urldecode($_GET['search']));
if(preg_match("/[а-яА-ЯёЁ]+/iu", $search)){ $search = ""; }
- $table = (preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/i", $search)) ? "ip_last" : "login";
- $sql = "SELECT COUNT(*) FROM `mcr_users` WHERE `$table` LIKE '%$search%'";
+ $table = (preg_match("/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/i", $search)) ? $us_f['ip_last'] : $us_f['login'];
+ $sql = "SELECT COUNT(*) FROM `{$this->cfg->tabname('users')}` WHERE `$table` LIKE '%$search%'";
$search = $this->db->HSC(urldecode($_GET['search']));
$page = "?mode=admin&do=users&search=$search";
}
@@ -108,7 +117,7 @@
$ar = @$this->db->fetch_array($query);
$data = array(
- "PAGINATION" => $this->core->pagination($this->config->pagin['adm_users'], $page.'&pid=', $ar[0]),
+ "PAGINATION" => $this->core->pagination($this->cfg->pagin['adm_users'], $page.'&pid=', $ar[0]),
"USERS" => $this->user_array()
);
@@ -118,7 +127,10 @@
private function ban($list, $ban=1){
if(!$this->core->is_access('sys_adm_users_ban')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=users'); }
- $update = $this->db->query("UPDATE `mcr_users` SET ban_server='$ban' WHERE id IN ($list)");
+ $ctables = $this->cfg->db['tables'];
+ $us_f = $ctables['users']['fields'];
+
+ $update = $this->db->query("UPDATE `{$this->cfg->tabname('users')}` SET `{$us_f['ban_server']}`='$ban' WHERE `{$us_f['id']}` IN ($list)");
if(!$update){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"], 2, '?mode=admin&do=users'); }
@@ -134,13 +146,16 @@
}
private function get_logins($list){
- $query = $this->db->query("SELECT `login` FROM `mcr_users` WHERE id IN ($list)");
+ $ctables = $this->cfg->db['tables'];
+ $us_f = $ctables['users']['fields'];
+
+ $query = $this->db->query("SELECT `{$us_f['login']}` FROM `{$this->cfg->tabname('users')}` WHERE `{$us_f['id']}` IN ($list)");
if(!$query || $this->db->num_rows($query)<=0){ return false; }
$logins = array();
- while($ar = $this->db->fetch_assoc($query)){ $logins[] = $ar['login']; }
+ while($ar = $this->db->fetch_assoc($query)){ $logins[] = $ar[$us_f['login']]; }
return $logins;
}
@@ -172,7 +187,10 @@
if(!isset($_POST['delete'])){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_hack'], 2, '?mode=admin&do=users'); }
- if(!$this->db->remove_fast("mcr_users", "id IN ($list)")){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"], 2, '?mode=admin&do=users'); }
+ $ctables = $this->cfg->db['tables'];
+ $us_f = $ctables['users']['fields'];
+
+ if(!$this->db->remove_fast($this->cfg->tabname('users'), "`{$us_f['id']}` IN ($list)")){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"], 2, '?mode=admin&do=users'); }
$count = $this->db->affected_rows();
@@ -194,8 +212,12 @@
}
private function exist_group($id){
+
+ $ctables = $this->cfg->db['tables'];
+ $ug_f = $ctables['ugroups']['fields'];
+
$id = intval($id);
- $query = $this->db->query("SELECT COUNT(*) FROM `mcr_groups` WHERE id='$id'");
+ $query = $this->db->query("SELECT COUNT(*) FROM `{$this->cfg->tabname('ugroups')}` WHERE `{$ug_f['id']}`='$id'");
if(!$query){ return false; }
$ar = $this->db->fetch_array($query);
@@ -208,9 +230,9 @@
if(!$this->core->is_access('sys_adm_users_add')){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng['e_403'], 2, '?mode=admin&do=users'); }
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['users'] => BASE_URL."?mode=admin&do=users",
- $this->lng['user_add'] => BASE_URL."?mode=admin&do=users&op=add",
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['users'] => ADMIN_URL."&do=users",
+ $this->lng['user_add'] => ADMIN_URL."&do=users&op=add",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -261,8 +283,12 @@
$new_data = $this->db->safesql(json_encode($new_data));
- $insert = $this->db->query("INSERT INTO `mcr_users`
- (gid, login, email, password, `color`, `uuid`, `salt`, ip_create, ip_last, `data`)
+ $ctables = $this->cfg->db['tables'];
+ $us_f = $ctables['users']['fields'];
+ $ic_f = $ctables['iconomy']['fields'];
+
+ $insert = $this->db->query("INSERT INTO `{$this->cfg->tabname('users')}`
+ (`{$us_f['group']}`, `{$us_f['login']}`, `{$us_f['email']}`, `{$us_f['pass']}`, `{$us_f['color']}`, `{$us_f['uuid']}`, `{$us_f['salt']}`, `{$us_f['ip_create']}`, `{$us_f['ip_last']}`, `{$us_f['data']}`)
VALUES
('$gid', '$login', '$email', '$password', '$color', '$uuid', '$salt', '{$this->user->ip}', '{$this->user->ip}', '$new_data')");
@@ -270,8 +296,8 @@
$id = $this->db->insert_id();
- $insert1 = $this->db->query("INSERT INTO `mcr_iconomy`
- (login, `money`, `realmoney`)
+ $insert1 = $this->db->query("INSERT INTO `{$this->cfg->tabname('iconomy')}`
+ (`{$ic_f['login']}`, `{$ic_f['money']}`, `{$ic_f['rm']}`)
VALUES
('$login', '$money', '$realmoney')");
@@ -309,12 +335,16 @@
$id = intval($_GET['id']);
- $query = $this->db->query("SELECT `u`.login, `u`.gid, `u`.email, `u`.`data`, `u`.`color`,
- `i`.`money`, `i`.realmoney
- FROM `mcr_users` AS `u`
- LEFT JOIN `mcr_iconomy` AS `i`
- ON `i`.login=`u`.login
- WHERE `u`.id='$id'");
+ $ctables = $this->cfg->db['tables'];
+ $us_f = $ctables['users']['fields'];
+ $ic_f = $ctables['iconomy']['fields'];
+
+ $query = $this->db->query("SELECT `u`.`{$us_f['login']}`, `u`.`{$us_f['group']}`, `u`.`{$us_f['email']}`, `u`.`{$us_f['data']}`, `u`.`{$us_f['color']}`,
+ `i`.`{$ic_f['money']}`, `i`.`{$ic_f['rm']}`
+ FROM `{$this->cfg->tabname('users')}` AS `u`
+ LEFT JOIN `{$this->cfg->tabname('iconomy')}` AS `i`
+ ON `i`.`{$ic_f['login']}`=`u`.`{$us_f['login']}`
+ WHERE `u`.`{$us_f['id']}`='$id'");
if(!$query || $this->db->num_rows($query)<=0){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"], 2, '?mode=admin&do=users'); }
@@ -323,9 +353,9 @@
$data = json_decode($ar['data']);
$bc = array(
- $this->lng['mod_name'] => BASE_URL."?mode=admin",
- $this->lng['users'] => BASE_URL."?mode=admin&do=users",
- $this->lng['user_edit'] => BASE_URL."?mode=admin&do=users&op=edit&id=$id",
+ $this->lng['mod_name'] => ADMIN_URL."",
+ $this->lng['users'] => ADMIN_URL."&do=users",
+ $this->lng['user_edit'] => ADMIN_URL."&do=users&op=edit&id=$id",
);
$this->core->bc = $this->core->gen_bc($bc);
@@ -383,14 +413,14 @@
$new_data = $this->db->safesql(json_encode($new_data));
- $update = $this->db->query("UPDATE `mcr_users`
- SET gid='$gid', login='$login', `color`='$color', gid='$gid', email='$email',
- password=$password, `uuid`='$uuid', `salt`=$salt, `data`='$new_data'
- WHERE id='$id'");
+ $update = $this->db->query("UPDATE `{$this->cfg->tabname('users')}`
+ SET `{$us_f['group']}`='$gid', `{$us_f['login']}`='$login', `{$us_f['color']}`='$color', `{$us_f['email']}`='$email',
+ `{$us_f['pass']}`=$password, `{$us_f['uuid']}`='$uuid', `{$us_f['salt']}`=$salt, `{$us_f['data']}`='$new_data'
+ WHERE `{$us_f['id']}`='$id'");
if(!$update){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"], 2, '?mode=admin&do=users&op=edit&id='.$id); }
- $old_login = $this->db->safesql($ar['login']);
+ $old_login = $this->db->safesql($ar[$us_f['login']]);
if(file_exists(MCR_SKIN_PATH.$old_login.'.png')){
if(!rename(MCR_SKIN_PATH.$old_login.'.png', MCR_SKIN_PATH.$login.'.png')){
@@ -404,9 +434,9 @@
}
}
- $update2 = $this->db->query("UPDATE `mcr_iconomy`
- SET login='$login', `money`='$money', `realmoney`='$realmoney'
- WHERE login='$old_login'");
+ $update2 = $this->db->query("UPDATE `{$this->cfg->tabname('iconomy')}`
+ SET `{$ic_f['login']}`='$login', `{$ic_f['money']}`='$money', `{$ic_f['rm']}`='$realmoney'
+ WHERE `{$ic_f['login']}`='$old_login'");
if(!$update2){ $this->core->notify($this->core->lng["e_msg"], $this->core->lng["e_sql_critical"], 2, '?mode=admin&do=users&op=edit&id='.$id); }
@@ -424,16 +454,16 @@
$data = array(
"PAGE" => $this->lng['user_edit_page_name'],
- "LOGIN" => $this->db->HSC($ar['login']),
- "EMAIL" => $this->db->HSC($ar['email']),
- 'COLOR' => $this->db->HSC($ar['color']),
+ "LOGIN" => $this->db->HSC($ar[$us_f['login']]),
+ "EMAIL" => $this->db->HSC($ar[$us_f['email']]),
+ 'COLOR' => $this->db->HSC($ar[$us_f['color']]),
"FIRSTNAME" => $this->db->HSC($data->firstname),
"LASTNAME" => $this->db->HSC($data->lastname),
"BIRTHDAY" => $birthday,
"GENDER" => $gender,
- "GROUPS" => $this->groups($ar['gid']),
- "MONEY" => floatval($ar['money']),
- "REALMONEY" => floatval($ar['realmoney']),
+ "GROUPS" => $this->groups($ar[$us_f['group']]),
+ "MONEY" => floatval($ar[$ic_f['money']]),
+ "REALMONEY" => floatval($ar[$ic_f['rm']]),
"BUTTON" => $this->lng['user_edit_btn']
);
@@ -442,21 +472,24 @@
private function groups($select=1){
+ $ctables = $this->cfg->db['tables'];
+ $ug_f = $ctables['ugroups']['fields'];
+
$select = intval($select);
- $query = $this->db->query("SELECT id, title
- FROM `mcr_groups`
- ORDER BY title ASC");
+ $query = $this->db->query("SELECT `{$ug_f['id']}`, `{$ug_f['title']}`
+ FROM `{$this->cfg->tabname('ugroups')}`
+ ORDER BY `{$ug_f['title']}` ASC");
if(!$query || $this->db->num_rows($query)<=0){ return; }
ob_start();
while($ar = $this->db->fetch_assoc($query)){
- $id = intval($ar['id']);
+ $id = intval($ar[$ug_f['id']]);
$selected = ($id == $select) ? "selected" : "";
- $title = $this->db->HSC($ar['title']);
+ $title = $this->db->HSC($ar[$ug_f['title']]);
echo "
";
}
diff --git a/upload/modules/ajax.php b/upload/modules/ajax.php
index 785bb74..36d6a1b 100644
--- a/upload/modules/ajax.php
+++ b/upload/modules/ajax.php
@@ -3,14 +3,13 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class module{
- private $core, $db, $user, $config, $lng;
- public $cfg = array();
+ private $core, $db, $user, $cfg, $lng;
public function __construct($core){
$this->core = $core;
$this->db = $core->db;
$this->user = $core->user;
- $this->config = $core->config;
+ $this->cfg = $core->cfg;
$this->lng = $core->lng_m;
}
@@ -18,11 +17,14 @@
$ajax = (isset($_GET['do'])) ? $_GET['do'] : '';
- if(!preg_match("/^[\w\.]+$/i", $ajax) || !file_exists(MCR_MODE_PATH.'ajax/'.$ajax.'.php')){
+ $list = explode('|', $ajax);
+ $path = implode('/', $list);
+
+ if(!preg_match("/^[\w\|]+$/i", $ajax) || !file_exists(MCR_MODE_PATH.'ajax/'.$path.'.php')){
$this->core->js_notify('Hacking Attempt!');
}
- require_once(MCR_MODE_PATH.'ajax/'.$ajax.'.php');
+ require_once(MCR_MODE_PATH.'ajax/'.$path.'.php');
if(!class_exists("submodule")){ $this->core->js_notify($this->lng['class_not_found']); }
diff --git a/upload/modules/ajax/admin_blocks_status.php b/upload/modules/ajax/admin_blocks_status.php
new file mode 100644
index 0000000..9f5b536
--- /dev/null
+++ b/upload/modules/ajax/admin_blocks_status.php
@@ -0,0 +1,66 @@
+core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
+ }
+
+ private function change_status($act){
+
+ $ids = @$_POST['ids'];
+
+ $status = ($act=='enable') ? true : false;
+
+ if(empty($ids)){ $this->core->js_notify($this->lng['ams_block_not_selected']); }
+
+ $ids = explode(',', $ids);
+
+ foreach($ids as $key => $mod){
+ if(!file_exists(MCR_CONF_PATH.'blocks/'.$mod.'.php')){ continue; }
+ include(MCR_CONF_PATH.'blocks/'.$mod.'.php');
+
+ if(!isset($cfg['ENABLE'])){ continue; }
+
+ $cfg['ENABLE'] = $status;
+
+ if(!$this->cfg->savecfg($cfg, 'blocks/'.$mod.'.php', 'cfg')){ continue; }
+ }
+
+ // Последнее обновление пользователя
+ $this->db->update_user($this->user);
+
+ // Лог действия
+ $this->db->actlog($this->lng['log_change_abs'], $this->user->id);
+
+ $this->core->js_notify($this->lng['ok'], $this->lng['ok'], true);
+ }
+
+ public function content(){
+
+ if($_SERVER['REQUEST_METHOD']!='POST'){ $this->core->js_notify($this->lng['e_hack']); }
+
+ $act = @$_POST['act'];
+
+ switch($act){
+ case 'enable':
+ case 'disable':
+ $this->change_status($act);
+ break;
+
+ default: $this->core->js_notify($this->lng['e_hack']); break;
+ }
+
+ $this->core->js_notify($this->lng['e_hack']);
+ }
+
+}
+
+?>
\ No newline at end of file
diff --git a/upload/modules/ajax/admin_modules_status.php b/upload/modules/ajax/admin_modules_status.php
index 43c5788..068856b 100644
--- a/upload/modules/ajax/admin_modules_status.php
+++ b/upload/modules/ajax/admin_modules_status.php
@@ -3,14 +3,14 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $config, $user, $lng;
+ private $core, $db, $cfg, $user, $lng;
public function __construct($core){
- $this->core = $core;
- $this->db = $core->db;
- $this->config = $core->config;
- $this->user = $core->user;
- $this->lng = $core->lng_m;
+ $this->core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->lng_m;
}
private function change_status($act){
@@ -31,7 +31,7 @@
$cfg['MOD_ENABLE'] = $status;
- if(!$this->config->savecfg($cfg, 'modules/'.$mod.'.php', 'cfg')){ continue; }
+ if(!$this->cfg->savecfg($cfg, 'modules/'.$mod.'.php', 'cfg')){ continue; }
}
// Последнее обновление пользователя
diff --git a/upload/modules/ajax/blocks/online/main.php b/upload/modules/ajax/blocks/online/main.php
new file mode 100644
index 0000000..67034b5
--- /dev/null
+++ b/upload/modules/ajax/blocks/online/main.php
@@ -0,0 +1,68 @@
+core = $core;
+ $this->user = $core->user;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+
+ include(MCR_CONF_PATH.'blocks/online.php');
+
+ $this->core->cfg_b = $cfg;
+ }
+
+ public function content(){
+
+ $result = array(
+ 'guests' => 0,
+ 'users' => 0,
+ 'all' => 0,
+ 'list' => '',
+ );
+
+ if(!$this->core->is_access(@$this->core->cfg_b['PERMISSIONS'])){ $this->core->js_notify('', '', true, $result); }
+
+ $ctables = $this->cfg->db['tables'];
+ $us_f = $ctables['users']['fields'];
+ $ug_f = $ctables['ugroups']['fields'];
+
+ $time = time();
+
+ $expire = $time-$this->core->cfg_b['TIMEOUT'];
+
+ $query = $this->db->query("SELECT `o`.online, `u`.`{$us_f['login']}`, `u`.`{$us_f['color']}`, `g`.`{$us_f['color']}` AS `gcolor`
+ FROM `mcr_online` AS `o`
+ LEFT JOIN `{$this->cfg->tabname('users')}` AS `u`
+ ON `u`.`{$us_f['ip_last']}`=`o`.ip
+ LEFT JOIN `{$this->cfg->tabname('ugroups')}` AS `g`
+ ON `g`.`{$ug_f['id']}`=`u`.`{$us_f['group']}`
+ WHERE `o`.`date_update`>='$expire'");
+
+ if(!$query){ $this->core->js_notify($this->core->lng['e_sql_critical']); }
+
+ if($this->db->num_rows($query)<=0){ $this->core->js_notify($this->core->lng['e_success'], $this->core->lng['e_success'], true, $result); }
+
+ while($ar = $this->db->fetch_assoc($query)){
+ $result['all']++;
+ if(is_null($ar[$us_f['login']]) || intval($ar['online'])==1){ $result['guests']++; continue; }
+
+ $result['users']++;
+
+ $color = (empty($ar[$us_f['color']])) ? $this->db->HSC($ar['gcolor']) : $this->db->HSC($ar[$us_f['color']]);
+ $login = $this->db->HSC($ar[$us_f['login']]);
+
+ $result['list'][] = $this->core->colorize($login, $color);
+ }
+
+ if(empty($result['list'])){ $result['list'] = 'Нет зарегистрированных пользователей'; }
+
+ $this->core->js_notify($this->core->lng['e_success'], $this->core->lng['e_success'], true, $result);
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/upload/modules/ajax/blocks/online/update_online.php b/upload/modules/ajax/blocks/online/update_online.php
new file mode 100644
index 0000000..15ae48f
--- /dev/null
+++ b/upload/modules/ajax/blocks/online/update_online.php
@@ -0,0 +1,47 @@
+core = $core;
+ $this->user = $core->user;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+
+ include(MCR_CONF_PATH.'blocks/online.php');
+
+ $this->core->cfg_b = $cfg;
+ }
+
+ public function content(){
+
+ $online = ($this->user->is_auth) ? 0 : 1;
+
+ $time = time();
+
+ $expire = $time-$this->core->cfg_b['TIMEOUT'];
+
+ $query = $this->db->query("SELECT COUNT(*) FROM `mcr_online` WHERE ip='{$this->user->ip}'");
+
+ if(!$query){ $this->core->js_notify($this->core->lng['e_sql_critical']); }
+
+ $ar = $this->db->fetch_array($query);
+
+ if($ar[0]<=0){
+ $sql = "INSERT INTO `mcr_online` (ip, online, date_create, date_update) VALUES ('{$this->user->ip}', '$online', '$time', '$time')";
+ }else{
+ $sql = "UPDATE `mcr_online` SET online='$online', date_update='$time' WHERE ip='{$this->user->ip}'";
+ }
+
+ if(!$this->db->query($sql)){ $this->core->js_notify($this->core->lng['e_sql_critical']); }
+
+ if(!$this->db->remove_fast('mcr_online', "`date_update`<'$expire'")){ $this->core->js_notify($this->core->lng['e_sql_critical']); }
+
+ $this->core->js_notify('Поздравляем!', $this->core->lng['e_success'], true);
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/upload/modules/ajax/filemanager.php b/upload/modules/ajax/filemanager.php
index 882d88a..27cbb55 100644
--- a/upload/modules/ajax/filemanager.php
+++ b/upload/modules/ajax/filemanager.php
@@ -3,13 +3,13 @@
if(!defined("MCR")){ exit("Hacking Attempt!"); }
class submodule{
- private $core, $db, $user, $config, $lng;
+ private $core, $db, $user, $cfg, $lng;
public function __construct($core){
$this->core = $core;
$this->db = $core->db;
$this->user = $core->user;
- $this->config = $core->config;
+ $this->cfg = $core->cfg;
$this->lng = $core->lng_m;
if(!$this->core->is_access('sys_adm_manager')){ $this->core->js_notify($this->core->lng['e_403']); }
@@ -21,10 +21,13 @@
if($page<=0){ $this->core->js_notify($this->lng['fm_file_not_found']); }
$page = $page*$limit-$limit;
- $query = $this->db->query("SELECT `f`.id, `f`.`uniq`, `f`.`name`, `f`.`oldname`, `f`.`data`, `f`.uid, `u`.login
+ $ctables = $this->cfg->db['tables'];
+ $logs_f = $ctables['logs']['fields'];
+
+ $query = $this->db->query("SELECT `f`.id, `f`.`uniq`, `f`.`name`, `f`.`oldname`, `f`.`data`, `f`.uid, `u`.`{$logs_f['uid']}`
FROM `mcr_files` AS `f`
- LEFT JOIN `mcr_users` AS `u`
- ON `u`.id=`f`.uid
+ LEFT JOIN `{$this->cfg->tabname('users')}` AS `u`
+ ON `u`.`{$logs_f['id']}`=`f`.uid
ORDER BY `f`.id DESC
LIMIT $page, $limit");
@@ -47,7 +50,7 @@
$list[] = array(
'link' => BASE_URL.'?mode=file&uniq='.$uniq,
'uid' => intval($ar['uid']),
- 'login' => $this->db->HSC($ar['login']),
+ 'login' => $this->db->HSC($ar[$logs_f['login']]),
'oldname' => $this->db->HSC($oldname),
'date' => date('d.m.Y в H:i', $data['date_upload']),
'size' => floatval($data['size']),
diff --git a/upload/modules/ajax/modules/news/add_comment.php b/upload/modules/ajax/modules/news/add_comment.php
new file mode 100644
index 0000000..e6b3b6c
--- /dev/null
+++ b/upload/modules/ajax/modules/news/add_comment.php
@@ -0,0 +1,127 @@
+core = $core;
+ $this->db = $core->db;
+ $this->cfg = $core->cfg;
+ $this->user = $core->user;
+ $this->lng = $core->load_language('news');
+ }
+
+ private function is_discus($nid=1){
+ $query = $this->db->query("SELECT COUNT(*) FROM `mcr_news` WHERE id='$nid' AND discus='1'");
+
+ if(!$query){ return false; }
+
+ $ar = $this->db->fetch_array($query);
+
+ if($ar[0]<=0){ return false; }
+
+ return true;
+ }
+
+ public function content(){
+
+ if($_SERVER['REQUEST_METHOD']!='POST'){ $this->core->js_notify($this->core->lng['e_hack']); }
+
+ if(!$this->core->is_access('sys_comment_add')){ $this->core->js_notify($this->lng['com_perm_add']); }
+
+ $nid = @$_POST['id'];
+ $nid = intval($nid);
+
+ if(!$this->is_discus($nid)){ $this->core->js_notify($this->lng['com_disabled']); }
+
+ $message = @$_POST['message'];
+
+ $message_trim = trim($message);
+
+ if(empty($message_trim)){ $this->core->js_notify($this->lng['com_msg_empty']); }
+
+ if(isset($_SESSION['add_comment'])){
+ if(intval($_SESSION['add_comment'])>time()){
+ $expire = intval($_SESSION['add_comment'])-time();
+ $this->core->js_notify($this->lng['com_wait']." $expire ".$this->lng['com_wait1']);
+ }else{
+ $_SESSION['add_comment'] = time()+30;
+ }
+ }else{
+ $_SESSION['add_comment'] = time()+30;
+ }
+
+ $bb = $this->core->load_bb_class(); // Object
+
+ $text_html = $bb->parse($message);
+ $safe_text_html = $this->db->safesql($text_html);
+
+ $text_bb = $this->db->safesql($message);
+
+ $message_strip = trim(strip_tags($text_html, "
![]()