diff --git a/admin/admin.php b/admin/admin.php
index bb000f0..7b04b1f 100644
--- a/admin/admin.php
+++ b/admin/admin.php
@@ -1,97 +1,99 @@
get_config_vars('EXIT_ADMIN'));
- user_logout();
- header('Location:admin.php');
-}
+ if (isset($_REQUEST['do']) && $_REQUEST['do'] == 'logout')
+ {
+ // Завершение работы в админке
+ reportLog($AVE_Template->get_config_vars('EXIT_ADMIN'));
+ user_logout();
+ header('Location:admin.php');
+ }
-if(auth_cookie())
-{
- header('Location:index.php');
- exit;
-}
+ if (auth_cookie())
+ {
+ header('Location:index.php');
+ exit;
+ }
-if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'login')
-{
- // Авторизация
- if (!empty($_POST['user_login']) && !empty($_POST['user_pass']))
+ if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'login')
{
- if (ADMIN_CAPTCHA)
+ // Авторизация
+ if (! empty($_POST['user_login']) && !empty($_POST['user_pass']))
{
- if (isset($_SESSION['captcha_keystring']) && isset($_POST['securecode']) && $_SESSION['captcha_keystring'] == $_POST['securecode']) $captcha_ok = 1;
- else
+ if (ADMIN_CAPTCHA)
{
- unset($_SESSION['user_id'], $_SESSION['user_pass']);
- unset($_SESSION['captcha_keystring']);
- $error = $AVE_Template->get_config_vars('WRONG_CAPTCHA');
- $AVE_Template->assign('error', $error);
+ if (isset($_SESSION['captcha_keystring']) && isset($_POST['securecode']) && $_SESSION['captcha_keystring'] == $_POST['securecode'])
+ $captcha_ok = 1;
+ else
+ {
+ unset($_SESSION['user_id'], $_SESSION['user_pass']);
+ unset($_SESSION['captcha_keystring']);
+ $error = $AVE_Template->get_config_vars('WRONG_CAPTCHA');
+ $AVE_Template->assign('error', $error);
+ }
}
- }
- else
- $captcha_ok = 1;
+ else
+ $captcha_ok = 1;
- if ($captcha_ok)
- {
- if (true === user_login($_POST['user_login'], $_POST['user_pass'], 1,(int)(isset($_POST['SaveLogin']) && $_POST['SaveLogin'] == '1')))
+ if ($captcha_ok)
{
- //_echo($_SESSION);
- if (!empty($_SESSION['redirectlink']))
+ if (true === user_login($_POST['user_login'], $_POST['user_pass'], 1,(int)(isset($_POST['SaveLogin']) && $_POST['SaveLogin'] == '1')))
{
- header('Location:' . $_SESSION['redirectlink']);
- unset($_SESSION['redirectlink']);
+ //_echo($_SESSION);
+ if (!empty($_SESSION['redirectlink']))
+ {
+ header('Location:' . $_SESSION['redirectlink']);
+ unset($_SESSION['redirectlink']);
+ exit;
+ }
+
+ reportLog($AVE_Template->get_config_vars('LOGIN_ADMIN'));
+ //Перенапрявляем пользователя
+ header('Location:'.get_referer_admin_link().'');
exit;
- }
- reportLog($AVE_Template->get_config_vars('LOGIN_ADMIN'));
- //Перенапрявляем пользователя
- header('Location:'.get_referer_admin_link().'');
- exit;
+ }
+ else
+ {
+ reportLog($AVE_Template->get_config_vars('ERROR_ADMIN') . ' - '
+ . stripslashes($_POST['user_login']) . ' / '
+ . stripslashes($_POST['user_pass']));
- }
- else
- {
- reportLog($AVE_Template->get_config_vars('ERROR_ADMIN') . ' - '
- . stripslashes($_POST['user_login']) . ' / '
- . stripslashes($_POST['user_pass']));
+ unset($_SESSION['user_id'], $_SESSION['user_pass']);
+ unset($_SESSION['captcha_keystring']);
+ $error = $AVE_Template->get_config_vars('WRONG_PASS');
+ $AVE_Template->assign('error', $error);
+ }
- unset($_SESSION['user_id'], $_SESSION['user_pass']);
- unset($_SESSION['captcha_keystring']);
- $error = $AVE_Template->get_config_vars('WRONG_PASS');
- $AVE_Template->assign('error', $error);
}
}
-
}
-}
-$AVE_Template->assign('captcha', ADMIN_CAPTCHA);
-$AVE_Template->display('login.tpl');
+ $AVE_Template->assign('captcha', ADMIN_CAPTCHA);
+ $AVE_Template->display('login.tpl');
?>
\ No newline at end of file
diff --git a/admin/docs.php b/admin/docs.php
index 7e4c4fa..a9c3dc8 100644
--- a/admin/docs.php
+++ b/admin/docs.php
@@ -1,298 +1,312 @@
documentTemplateTimeAssign();
-
-$AVE_Rubric->rubricPermissionFetch();
-
-$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/docs.txt', 'docs');
-
-$AVE_Template->assign("navi", $AVE_Template->fetch("navi/navi.tpl"));
-
-switch($_REQUEST['action'])
-{
- case '' :
- if (check_permission_acp('document_view'))
- {
- switch($_REQUEST['sub'])
+ /**
+ * AVE.cms
+ *
+ * @package AVE.cms
+ * @version 3.x
+ * @filesource
+ * @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
+ *
+ * @license GPL v.2
+ */
+
+ if (! defined('ACP'))
+ {
+ header('Location:index.php');
+ exit;
+ }
+
+ global $AVE_DB, $AVE_Template;
+
+ require(BASE_DIR . '/class/class.docs.php');
+ require(BASE_DIR . '/class/class.rubs.php');
+ require(BASE_DIR . '/class/class.navigation.php');
+ require(BASE_DIR . '/class/class.request.php');
+
+ $AVE_Document = new AVE_Document;
+ $AVE_Rubric = new AVE_Rubric;
+ $AVE_Navigation = new AVE_Navigation;
+ $AVE_Request = new AVE_Request;
+
+ $AVE_Document->documentTemplateTimeAssign();
+
+ $AVE_Rubric->rubricPermissionFetch();
+
+ $AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/docs.txt', 'docs');
+
+ $AVE_Template->assign("navi", $AVE_Template->fetch("navi/navi.tpl"));
+
+ switch($_REQUEST['action'])
+ {
+ case '' :
+ if (check_permission_acp('document_view'))
{
- case 'quicksave':
- $_SESSION['use_editor'] = get_settings('use_editor');
- $AVE_Document->quickSave();
- break;
+ switch($_REQUEST['sub'])
+ {
+ case 'quicksave':
+ $_SESSION['use_editor'] = get_settings('use_editor');
+ $AVE_Document->quickSave();
+ break;
+ }
+ $AVE_Document->documentListGet();
}
- $AVE_Document->documentListGet();
- }
- $AVE_Template->assign('content', $AVE_Template->fetch('documents/docs.tpl'));
- break;
-
- case 'add_new':
- if (check_permission_acp('document_view'))
- {
- $AVE_Request->requestListFetch();
- $AVE_Template->assign('content', $AVE_Template->fetch('documents/docs_add_new.tpl'));
- }
- break;
-
- case 'showsimple':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentListGet();
- $AVE_Template->assign('content', $AVE_Template->fetch('documents/docs_simple.tpl'));
- }
- break;
-
- case 'edit':
- if (check_permission_acp('document_view'))
- {
- $_SESSION['use_editor'] = get_settings('use_editor');
- $AVE_Navigation->navigationAllItemList();
- $AVE_Request->requestListFetch();
- $AVE_Document->documentEdit((int)$_REQUEST['Id']);
- }
- break;
-
- case 'copy':
- if (check_permission_acp('document_view'))
- {
- $_SESSION['use_editor'] = get_settings('use_editor');
- $AVE_Navigation->navigationAllItemList();
- $AVE_Request->requestListFetch();
- $AVE_Document->documentCopy((int)$_REQUEST['Id']);
- }
- break;
-
- case 'new':
- if (check_permission_acp('document_view'))
- {
- $_SESSION['use_editor'] = get_settings('use_editor');
- $AVE_Navigation->navigationAllItemList();
- $AVE_Request->requestListFetch();
- $AVE_Document->documentNew((int)$_REQUEST['rubric_id']);
- }
- break;
-
- case 'innavi':
- if (check_permission_acp('document_view') && check_permission_acp('navigation_new'))
- {
- $AVE_Document->documentInNavi();
- }
- break;
-
- case 'after':
- if (check_permission_acp('document_view'))
- {
- $AVE_Navigation->navigationAllItemList();
- $AVE_Document->documentFormAfter();
- }
- break;
-
- case 'open':
- if (check_permission_acp('document_view'))
- {
- $AVE_Navigation->navigationItemStatusOn((int)$_REQUEST['Id']);
- $AVE_Document->documentStatusSet((int)$_REQUEST['Id'], 1);
- }
- break;
-
- case 'close':
- if (check_permission_acp('document_view'))
- {
- $AVE_Navigation->navigationItemStatusOff((int)$_REQUEST['Id']);
- $AVE_Document->documentStatusSet((int)$_REQUEST['Id'], 0);
- }
- break;
-
- case 'delete':
- if (check_permission_acp('document_view'))
- {
- $AVE_Navigation->navigationItemStatusOff((int)$_REQUEST['Id']);
- $AVE_Document->documentMarkDelete((int)$_REQUEST['Id']);
- }
- break;
-
- case 'redelete':
- if (check_permission_acp('document_view'))
- {
- $AVE_Navigation->navigationItemStatusOn((int)$_REQUEST['Id']);
- $AVE_Document->documentUnmarkDelete((int)$_REQUEST['Id']);
- }
- break;
-
- case 'enddelete':
- if (check_permission_acp('alles'))
- {
- $AVE_Navigation->navigationItemDeleteFromDoc((int)$_REQUEST['Id']);
- $AVE_Document->documentDelete((int)$_REQUEST['Id']);
- // Выполняем обновление страницы
- header('Location:index.php?do=docs&cp=' . SESSION);
- }
- break;
-
- case 'revision_recover':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentRevissionRestore((int)$_REQUEST['doc_id'], (int)$_REQUEST['revission'], (int)$_REQUEST['rubric_id']);
- }
- break;
-
- case 'revision_delete':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentRevissionDelete((int)$_REQUEST['doc_id'], (int)$_REQUEST['revission'], (int)$_REQUEST['rubric_id']);
- }
- break;
-
- case 'remark':
- if (check_permission_acp('remark_view'))
- {
- $AVE_Document->documentRemarkNew((int)$_REQUEST['Id'], 0);
- }
- break;
-
- case 'remark_reply':
- if (check_permission_acp('remark_view'))
- {
- $AVE_Document->documentRemarkNew((int)$_REQUEST['Id'], 1);
- }
- break;
-
- case 'remark_status':
- if (check_permission_acp('remark_edit'))
- {
- $AVE_Document->documentRemarkStatus((int)$_REQUEST['Id'], (int)$_REQUEST['remark_status']);
- }
- break;
-
- case 'remark_del':
- if (check_permission_acp('remark_edit'))
- {
- $AVE_Document->documentRemarkDelete((int)$_REQUEST['Id'], (int)$_REQUEST['remark_first']);
- }
- break;
-
- case 'change':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentRubricChange();
- }
- break;
-
- case 'change_user':
- if (check_permission_acp('document_view'))
- {
- switch($_REQUEST['sub'])
+ $AVE_Template->assign('content', $AVE_Template->fetch('documents/docs.tpl'));
+ break;
+
+ case 'add_new':
+ if (check_permission_acp('document_view'))
{
- case 'save':
- $AVE_Document->changeAutorSave();
- break;
+ $AVE_Request->requestListFetch();
+ $AVE_Template->assign('content', $AVE_Template->fetch('documents/docs_add_new.tpl'));
}
- $AVE_Template->assign('content', $AVE_Template->fetch('documents/user.tpl'));
- }
- break;
-
- case 'find_user':
- if (check_permission_acp('document_view'))
- {
- findautor($_REQUEST['q'], 10);
- }
- exit;
+ break;
- case 'keywords':
- if (check_permission_acp('document_view'))
- {
- searchKeywords($_REQUEST['q']);
- }
- exit;
+ case 'showsimple':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentListGet();
+ $AVE_Template->assign('content', $AVE_Template->fetch('documents/docs_simple.tpl'));
+ }
+ break;
- case 'editstatus':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentEditStatus();
- }
- break;
+ case 'edit':
+ if (check_permission_acp('document_view'))
+ {
+ $_SESSION['use_editor'] = get_settings('use_editor');
+ if (isset($_REQUEST['sub']) && $_REQUEST['sub'] != 'save')
+ {
+ $AVE_Navigation->navigationAllItemList();
+ $AVE_Request->requestListFetch();
+ }
+ $AVE_Document->documentEdit((int)$_REQUEST['Id']);
+ }
+ break;
- case 'image_import':
- echo json_encode(array("respons"=>image_multi_import($_REQUEST['path']), "status"=>"error", "action"=>"return"));
- exit;
+ case 'copy':
+ if (check_permission_acp('document_view'))
+ {
+ $_SESSION['use_editor'] = get_settings('use_editor');
+ $AVE_Navigation->navigationAllItemList();
+ $AVE_Request->requestListFetch();
+ $AVE_Document->documentCopy((int)$_REQUEST['Id']);
+ }
+ break;
- case 'translit':
- echo($AVE_Document->documentAliasCreate());
- exit;
+ case 'new':
+ if (check_permission_acp('document_view'))
+ {
+ $_SESSION['use_editor'] = get_settings('use_editor');
- case 'checkurl':
- echo($AVE_Document->documentAliasCheck());
- exit;
+ if (isset($_REQUEST['sub']) && $_REQUEST['sub'] != 'save')
+ {
+ $AVE_Navigation->navigationAllItemList();
+ $AVE_Request->requestListFetch();
+ }
+
+ $AVE_Document->documentNew((int)$_REQUEST['rubric_id']);
+ }
+ break;
+
+ case 'innavi':
+ if (check_permission_acp('document_view') && check_permission_acp('navigation_new'))
+ {
+ $AVE_Document->documentInNavi();
+ }
+ break;
+
+ case 'after':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Navigation->navigationAllItemList();
+ $AVE_Document->documentFormAfter();
+ }
+ break;
+
+ case 'open':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Navigation->navigationItemStatusOn((int)$_REQUEST['Id']);
+ $AVE_Document->documentStatusSet((int)$_REQUEST['Id'], 1);
+ }
+ break;
+
+ case 'close':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Navigation->navigationItemStatusOff((int)$_REQUEST['Id']);
+ $AVE_Document->documentStatusSet((int)$_REQUEST['Id'], 0);
+ }
+ break;
+
+ case 'delete':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Navigation->navigationItemStatusOff((int)$_REQUEST['Id']);
+ $AVE_Document->documentMarkDelete((int)$_REQUEST['Id']);
+ }
+ break;
+
+ case 'redelete':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Navigation->navigationItemStatusOn((int)$_REQUEST['Id']);
+ $AVE_Document->documentUnmarkDelete((int)$_REQUEST['Id']);
+ }
+ break;
+
+ case 'enddelete':
+ if (check_permission_acp('alles'))
+ {
+ $AVE_Navigation->navigationItemDeleteFromDoc((int)$_REQUEST['Id']);
+ $AVE_Document->documentDelete((int)$_REQUEST['Id']);
+ // Выполняем обновление страницы
+ header('Location:index.php?do=docs&cp=' . SESSION);
+ }
+ break;
+
+ case 'revision_recover':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentRevissionRestore((int)$_REQUEST['doc_id'], (int)$_REQUEST['revission'], (int)$_REQUEST['rubric_id']);
+ }
+ break;
+
+ case 'revision_delete':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentRevissionDelete((int)$_REQUEST['doc_id'], (int)$_REQUEST['revission'], (int)$_REQUEST['rubric_id']);
+ }
+ break;
+
+ case 'remark':
+ if (check_permission_acp('remark_view'))
+ {
+ $AVE_Document->documentRemarkNew((int)$_REQUEST['Id'], 0);
+ }
+ break;
+
+ case 'remark_reply':
+ if (check_permission_acp('remark_view'))
+ {
+ $AVE_Document->documentRemarkNew((int)$_REQUEST['Id'], 1);
+ }
+ break;
+
+ case 'remark_status':
+ if (check_permission_acp('remark_edit'))
+ {
+ $AVE_Document->documentRemarkStatus((int)$_REQUEST['Id'], (int)$_REQUEST['remark_status']);
+ }
+ break;
+
+ case 'remark_del':
+ if (check_permission_acp('remark_edit'))
+ {
+ $AVE_Document->documentRemarkDelete((int)$_REQUEST['Id'], (int)$_REQUEST['remark_first']);
+ }
+ break;
+
+ case 'change':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentRubricChange();
+ }
+ break;
+
+ case 'change_user':
+ if (check_permission_acp('document_view'))
+ {
+ switch($_REQUEST['sub'])
+ {
+ case 'save':
+ $AVE_Document->changeAutorSave();
+ break;
+ }
+ $AVE_Template->assign('content', $AVE_Template->fetch('documents/user.tpl'));
+ }
+ break;
+
+ case 'find_user':
+ if (check_permission_acp('document_view'))
+ {
+ findautor($_REQUEST['q'], 10);
+ }
+ exit;
+
+ case 'keywords':
+ if (check_permission_acp('document_view'))
+ {
+ searchKeywords($_REQUEST['q']);
+ }
+ exit;
- case 'aliases':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentAliasHistoryList();
- }
- break;
-
- case 'aliases_doc':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentAliasListDoc((int)$_REQUEST['doc_id']);
- }
- break;
-
- case 'aliases_new':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentAliasNew();
- }
- break;
-
- case 'aliases_edit':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentAliasEdit();
- }
- break;
-
- case 'aliases_save':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentAliasSave();
- }
- break;
-
- case 'aliases_del':
- if (check_permission_acp('document_view'))
- {
- $AVE_Document->documentAliasDel();
- }
- break;
-}
+ case 'editstatus':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentEditStatus();
+ }
+ break;
+
+ case 'image_import':
+ echo json_encode(array("respons"=>image_multi_import($_REQUEST['path']), "status"=>"error", "action"=>"return"));
+ exit;
+
+ case 'translit':
+ echo($AVE_Document->documentAliasCreate());
+ exit;
+ case 'checkurl':
+ echo($AVE_Document->documentAliasCheck());
+ exit;
+
+ case 'aliases':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentAliasHistoryList();
+ }
+ break;
+
+ case 'aliases_doc':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentAliasListDoc((int)$_REQUEST['doc_id']);
+ }
+ break;
+
+ case 'aliases_new':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentAliasNew();
+ }
+ break;
+
+ case 'aliases_edit':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentAliasEdit();
+ }
+ break;
+
+ case 'aliases_save':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentAliasSave();
+ }
+ break;
+
+ case 'aliases_del':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentAliasDel();
+ }
+ break;
+
+ case 'redirect':
+ if (check_permission_acp('document_view'))
+ {
+ $AVE_Document->documentSaveRedirect();
+ }
+ break;
+ }
?>
\ No newline at end of file
diff --git a/admin/functions/func.admin.common.php b/admin/functions/func.admin.common.php
index 44e2b2a..931494f 100644
--- a/admin/functions/func.admin.common.php
+++ b/admin/functions/func.admin.common.php
@@ -1,585 +1,600 @@
' . file_get_contents($_logdir) . '');
+ $_404dir = BASE_DIR . '/cache/404.php';
+ $_logdir = BASE_DIR . '/cache/log.php';
+ $_sqldir = BASE_DIR . '/cache/sql.php';
- $logs['logs'] = count($logdata);
+ if(file_exists($_logdir))
+ @eval('?>' . file_get_contents($_logdir) . '');
- if(file_exists($_404dir))
- @eval('?>' . file_get_contents($_404dir) . '');
+ $logs['logs'] = count($logdata);
- $logs['404'] = count($log404);
+ if(file_exists($_404dir))
+ @eval('?>' . file_get_contents($_404dir) . '');
- if(file_exists($_sqldir))
- @eval('?>' . file_get_contents($_sqldir) . '');
+ $logs['404'] = count($log404);
- $logs['sql'] = count($logsql);
+ if(file_exists($_sqldir))
+ @eval('?>' . file_get_contents($_sqldir) . '');
- unset($logdata);
- unset($log404);
- unset($logsql);
+ $logs['sql'] = count($logsql);
- // Передаем данные в шаблон для вывода
- $AVE_Template->assign('logs', $logs);
-}
+ unset($logdata);
+ unset($log404);
+ unset($logsql);
-/**
- * Список пользователей за последние $onlinetime секунд
- *
- * @param int $onlinetime количество секунд
- * @return Array массив из пользователей отсортированный по последней активности
- */
-function get_online_users($onlinetime=USERS_TIME_SHOW){
- global $AVE_DB, $AVE_Template;
- $time=(time()-intval($onlinetime));
- $sql=@$AVE_DB->Query("SELECT * FROM ".PREFIX."_users WHERE last_visit>".$time." ORDER BY last_visit DESC");
- $online_users=Array();
- while ($row = $sql->FetchRow())
- {
- $row->user_name = get_username_by_id($row->Id);
- $row->user_group_name = get_usergroup_by_id($row->user_group);
- array_push($online_users,$row);
- }
- $AVE_Template->assign('online_users', $online_users);
-}
-
-/**
- * Форматированный вывод размера
- *
- * @param int $file_size размер
- * @return string нормированный размер с единицой измерения
- */
-function format_size($file_size)
-{
- if ($file_size >= 1073741824)
- {
- $file_size = round($file_size / 1073741824 * 100) / 100 . ' Gb';
- }
- elseif ($file_size >= 1048576)
- {
- $file_size = round($file_size / 1048576 * 100) / 100 . ' Mb';
- }
- elseif ($file_size >= 1024)
- {
- $file_size = round($file_size / 1024 * 100) / 100 . ' Kb';
+ // Передаем данные в шаблон для вывода
+ $AVE_Template->assign('logs', $logs);
}
- else
- {
- $file_size = $file_size . ' b';
+
+ /**
+ * Список пользователей за последние $onlinetime секунд
+ *
+ * @param int $onlinetime количество секунд
+ * @return Array массив из пользователей отсортированный по последней активности
+ */
+ function get_online_users($onlinetime=USERS_TIME_SHOW){
+ global $AVE_DB, $AVE_Template;
+ $time=(time()-intval($onlinetime));
+ $sql=@$AVE_DB->Query("SELECT * FROM ".PREFIX."_users WHERE last_visit>".$time." ORDER BY last_visit DESC");
+ $online_users=Array();
+ while ($row = $sql->FetchRow())
+ {
+ $row->user_name = get_username_by_id($row->Id);
+ $row->user_group_name = get_usergroup_by_id($row->user_group);
+ array_push($online_users,$row);
+ }
+ $AVE_Template->assign('online_users', $online_users);
}
- return $file_size;
-}
-
-/**
- * Извлечение из БД статистики по основным компонентам системы
- *
- */
-function get_ave_info()
-{
- global $AVE_DB, $AVE_Template;
-
- $cnts = array();
-
- $cnts['templates'] = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_templates")->GetCell();
- $cnts['documents'] = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_documents")->GetCell();
- $cnts['request'] = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_request") ->GetCell();
- $cnts['rubrics'] = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_rubrics") ->GetCell();
-
- $sql = $AVE_DB->Query("
- SELECT
- `ModuleStatus`,
- COUNT(`ModuleStatus`) AS cntStatus
- FROM " . PREFIX . "_module
- GROUP BY `ModuleStatus`
- ");
- while ($row = $sql->FetchRow())
+ /**
+ * Форматированный вывод размера
+ *
+ * @param int $file_size размер
+ * @return string нормированный размер с единицой измерения
+ */
+ function format_size($file_size)
{
- $cnts['modules_' . $row->ModuleStatus] = $row->cntStatus;
+ if ($file_size >= 1073741824)
+ {
+ $file_size = round($file_size / 1073741824 * 100) / 100 . ' Gb';
+ }
+ elseif ($file_size >= 1048576)
+ {
+ $file_size = round($file_size / 1048576 * 100) / 100 . ' Mb';
+ }
+ elseif ($file_size >= 1024)
+ {
+ $file_size = round($file_size / 1024 * 100) / 100 . ' Kb';
+ }
+ else
+ {
+ $file_size = $file_size . ' b';
+ }
+
+ return $file_size;
}
- $sql = $AVE_DB->Query("
- SELECT
- status,
- COUNT(status) AS cntStatus
- FROM " . PREFIX . "_users
- GROUP BY status
- ");
- while ($row = $sql->FetchRow())
+ /**
+ * Извлечение из БД статистики по основным компонентам системы
+ *
+ */
+ function get_ave_info()
{
- $cnts['users_' . $row->status] = $row->cntStatus;
+ global $AVE_DB, $AVE_Template;
+
+ $cnts = array();
+
+ $cnts['templates'] = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_templates")->GetCell();
+ $cnts['documents'] = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_documents")->GetCell();
+ $cnts['request'] = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_request") ->GetCell();
+ $cnts['rubrics'] = $AVE_DB->Query("SELECT COUNT(*) FROM " . PREFIX . "_rubrics") ->GetCell();
+
+ $sql = $AVE_DB->Query("
+ SELECT
+ `ModuleStatus`,
+ COUNT(`ModuleStatus`) AS cntStatus
+ FROM " . PREFIX . "_module
+ GROUP BY `ModuleStatus`
+ ");
+ while ($row = $sql->FetchRow())
+ {
+ $cnts['modules_' . $row->ModuleStatus] = $row->cntStatus;
+ }
+
+ $sql = $AVE_DB->Query("
+ SELECT
+ status,
+ COUNT(status) AS cntStatus
+ FROM " . PREFIX . "_users
+ GROUP BY status
+ ");
+ while ($row = $sql->FetchRow())
+ {
+ $cnts['users_' . $row->status] = $row->cntStatus;
+ }
+
+ $AVE_Template->assign('cnts', $cnts);
}
- $AVE_Template->assign('cnts', $cnts);
-}
-
-/**
- * Размер дириктории
- *
- * @param string $directory наименование директории
- * @return int
- */
-function get_dir_size($directory)
-{
- if (!is_dir($directory)) return -1;
- $size = 0;
- if ($DIR = opendir($directory))
+ /**
+ * Размер дириктории
+ *
+ * @param string $directory наименование директории
+ * @return int
+ */
+ function get_dir_size($directory)
{
- while (($dirfile = readdir($DIR)) !== false)
+ if (!is_dir($directory)) return -1;
+ $size = 0;
+ if ($DIR = opendir($directory))
{
- if (@is_link($directory . '/' . $dirfile) || $dirfile == '.' || $dirfile == '..') continue;
- if (@is_file($directory . '/' . $dirfile))
+ while (($dirfile = readdir($DIR)) !== false)
{
- $size += filesize($directory . '/' . $dirfile);
- }
- elseif (@is_dir($directory . '/' . $dirfile))
- {
- $dirSize = get_dir_size($directory . '/' . $dirfile);
- if ($dirSize >= 0)
+ if (@is_link($directory . '/' . $dirfile) || $dirfile == '.' || $dirfile == '..') continue;
+ if (@is_file($directory . '/' . $dirfile))
{
- $size += $dirSize;
+ $size += filesize($directory . '/' . $dirfile);
}
- else
+ elseif (@is_dir($directory . '/' . $dirfile))
{
- return -1;
+ $dirSize = get_dir_size($directory . '/' . $dirfile);
+ if ($dirSize >= 0)
+ {
+ $size += $dirSize;
+ }
+ else
+ {
+ return -1;
+ }
}
}
+ closedir($DIR);
}
- closedir($DIR);
+
+ return $size;
}
- return $size;
-}
-
-/**
- * Размер базы данных
- *
- * @return int
- */
-function get_mysql_size()
-{
- global $AVE_DB;
-
- $mysql_size = 0;
- $sql = $AVE_DB->Query("SHOW TABLE STATUS LIKE '" . PREFIX . "_%'");
- while ($row = $sql->FetchAssocArray())
+ /**
+ * Размер базы данных
+ *
+ * @return int
+ */
+ function get_mysql_size()
{
- $mysql_size += $row['Data_length'] + $row['Index_length'];
+ global $AVE_DB;
+
+ $mysql_size = 0;
+ $sql = $AVE_DB->Query("SHOW TABLE STATUS LIKE '" . PREFIX . "_%'");
+ while ($row = $sql->FetchAssocArray())
+ {
+ $mysql_size += $row['Data_length'] + $row['Index_length'];
+ }
+
+ return format_size($mysql_size);
}
- return format_size($mysql_size);
-}
-function get_ave_tags($srcfile)
-{
- if (@include_once($srcfile))
+ function get_ave_tags($srcfile)
{
- reset ($vorlage);
- $vl = array();
-
- while (list($key, $value) = each($vorlage))
+ if (@include_once($srcfile))
{
- $tag = new stdClass;
- $tag->cp_tag = $key;
- $tag->cp_desc = $value;
- array_push($vl, $tag);
- unset($tag);
+ reset ($vorlage);
+ $vl = array();
+
+ while (list($key, $value) = each($vorlage))
+ {
+ $tag = new stdClass;
+ $tag->cp_tag = $key;
+ $tag->cp_desc = $value;
+ array_push($vl, $tag);
+ unset($tag);
+ }
+
+ return $vl;
}
- return $vl;
+ return null;
}
- return null;
-}
+ function get_all_templates()
+ {
+ global $AVE_DB;
+
+ static $templates = null;
+
+ if ($templates == null)
+ {
+ $templates = array();
+
+ $sql = $AVE_DB->Query("
+ SELECT
+ Id,
+ template_title
+ FROM " . PREFIX . "_templates
+ ");
+
+ while ($row = $sql->FetchRow())
+ {
+ array_push($templates, $row);
+ }
+ }
-function get_all_templates()
-{
- global $AVE_DB;
+ return $templates;
+ }
- static $templates = null;
- if ($templates == null)
+ function getInstaledModules()
{
- $templates = array();
+ global $AVE_DB, $AVE_Template, $AVE_Module;
- $sql = $AVE_DB->Query("
- SELECT
- Id,
- template_title
- FROM " . PREFIX . "_templates
- ");
+ $modules = $AVE_Module->_modules;
- while ($row = $sql->FetchRow())
+ $modules_instaled = array();
+
+ foreach ($modules AS $module)
{
- array_push($templates, $row);
+ if ($module['ModuleAdminEdit'] == 1 && $module['status'])
+ $modules_instaled[] = array(
+ 'ModuleName' => $module['ModuleName'],
+ 'ModuleSysName' => $module['ModuleSysName']
+ );
}
+
+ unset ($modules);
+
+ $AVE_Template->assign('modules', $modules_instaled);
}
- return $templates;
-}
-
-function get_editable_module()
-{
- global $AVE_DB, $AVE_Template;
-
- $modules = array();
- $sql = $AVE_DB->Query("
- SELECT
- ModuleName,
- ModuleSysName
- FROM " . PREFIX . "_module
- WHERE `ModuleStatus` = '1'
- AND `ModuleAdminEdit` = '1'
- ORDER BY ModuleName ASC
- ");
- while ($row = $sql->FetchRow())
+
+ function get_mime_type($file)
{
- if (check_permission('mod_' . $row->ModuleSysName))
+ $file_extension = strtolower(mb_substr(strrchr($file, '.'), 1));
+
+ switch ($file_extension)
{
- array_push($modules, $row);
+ case 'psd': $ctype = 'image/x-photoshop'; break;
+ case 'rar': $ctype = 'application/x-rar-compressed'; break;
+ case 'zip': $ctype = 'application/x-zip-compressed'; break;
+ case 'pdf': $ctype = 'application/pdf'; break;
+ case 'bz2': $ctype = 'application/bzip2'; break;
+ case 'doc':
+ case 'dot':
+ case 'wiz':
+ case 'wzs': $ctype = 'application/msword'; break;
+ case 'eps': $ctype = 'application/postscript'; break;
+ case 'pot':
+ case 'ppa':
+ case 'pps':
+ case 'ppt':
+ case 'pwz': $ctype = 'application/vnd.ms-powerpoint'; break;
+ case 'rtf': $ctype = 'application/rtf'; break;
+ case 'rnx': $ctype = 'application/vnd.rn-realmedia'; break;
+ case 'hlp': $ctype = 'hlp'; break;
+ case 'gtar': $ctype = 'application/x-gtar'; break;
+ case 'gzip':
+ case 'tgz': $ctype = 'application/x-gzip'; break;
+ case 'lnx': $ctype = 'application/x-latex'; break;
+ case 'exe': $ctype = 'application/x-msdownload'; break;
+ case 'swf': $ctype = 'application/x-shockwafe-flash'; break;
+ case 'xml': $ctype = 'application/xml'; break;
+ case 'midi': $ctype = 'audio/midi'; break;
+ case 'mp3':
+ case 'mp2':
+ case 'mpga': $ctype = 'audio/mpeg'; break;
+ case 'wav': $ctype = 'audio/wav'; break;
+ case 'bmp': $ctype = 'audio/wav'; break;
+ case 'gif': $ctype = 'image/gif'; break;
+ case 'jpeg':
+ case 'jpg':
+ case 'jpe': $ctype = 'image/jpeg'; break;
+ case 'png': $ctype = 'image/png'; break;
+ case 'tif':
+ case 'tiff': $ctype = 'image/tiff'; break;
+ case 'ico': $ctype = 'image/x-icon'; break;
+ case 'csv': $ctype = 'text/comma-separated-values'; break;
+ case 'css': $ctype = 'text/css'; break;
+ case 'htm':
+ case 'html':
+ case 'shtml': $ctype = 'text/html'; break;
+ case 'txt':
+ case 'klp':
+ case 'tex':
+ case 'php':
+ case 'asp':
+ case 'aspx':
+ case 'php3':
+ case 'php4':
+ case 'php5':
+ case 'sql': $ctype = 'text/plain'; break;
+ case 'xml': $ctype = 'text/xml'; break;
+ case 'xhtm': $ctype = 'text/xhtml'; break;
+ case 'wml': $ctype = 'text/wml'; break;
+ case 'mpeg':
+ case 'mpg':
+ case 'mpe':
+ case 'mlv':
+ case 'mpa':
+ case 'wma':
+ case 'wmv': $ctype = 'video/mpeg'; break;
+ case 'avi': $ctype = 'video/x-msvideo'; break;
+ case 'mov': $ctype = 'video/quicktime'; break;
+ case 'xls': $ctype = 'application/vnd.ms-excel'; break;
+ case 'ai': $ctype = 'application/postscript'; break;
+ case 'rm': $ctype = 'application/vnd.rn-realmedia'; break;
+ case 'gz': $ctype = 'application/x-gzip'; break;
+ case 'js': $ctype = 'application/x-javascript'; break;
+ case 'pl':
+ case 'cc': $ctype = 'text/plain'; break;
+ case 'qt': $ctype = 'video/quicktime'; break;
+ default : $ctype='application/force-download';
}
- }
- $AVE_Template->assign('modules', $modules);
-}
+ return $ctype;
+ }
-function get_mime_type($file)
-{
- $file_extension = strtolower(mb_substr(strrchr($file, '.'), 1));
- switch ($file_extension)
+ function file_download($filename, $retbytes = true)
{
- case 'psd': $ctype = 'image/x-photoshop'; break;
- case 'rar': $ctype = 'application/x-rar-compressed'; break;
- case 'zip': $ctype = 'application/x-zip-compressed'; break;
- case 'pdf': $ctype = 'application/pdf'; break;
- case 'bz2': $ctype = 'application/bzip2'; break;
- case 'doc':
- case 'dot':
- case 'wiz':
- case 'wzs': $ctype = 'application/msword'; break;
- case 'eps': $ctype = 'application/postscript'; break;
- case 'pot':
- case 'ppa':
- case 'pps':
- case 'ppt':
- case 'pwz': $ctype = 'application/vnd.ms-powerpoint'; break;
- case 'rtf': $ctype = 'application/rtf'; break;
- case 'rnx': $ctype = 'application/vnd.rn-realmedia'; break;
- case 'hlp': $ctype = 'hlp'; break;
- case 'gtar': $ctype = 'application/x-gtar'; break;
- case 'gzip':
- case 'tgz': $ctype = 'application/x-gzip'; break;
- case 'lnx': $ctype = 'application/x-latex'; break;
- case 'exe': $ctype = 'application/x-msdownload'; break;
- case 'swf': $ctype = 'application/x-shockwafe-flash'; break;
- case 'xml': $ctype = 'application/xml'; break;
- case 'midi': $ctype = 'audio/midi'; break;
- case 'mp3':
- case 'mp2':
- case 'mpga': $ctype = 'audio/mpeg'; break;
- case 'wav': $ctype = 'audio/wav'; break;
- case 'bmp': $ctype = 'audio/wav'; break;
- case 'gif': $ctype = 'image/gif'; break;
- case 'jpeg':
- case 'jpg':
- case 'jpe': $ctype = 'image/jpeg'; break;
- case 'png': $ctype = 'image/png'; break;
- case 'tif':
- case 'tiff': $ctype = 'image/tiff'; break;
- case 'ico': $ctype = 'image/x-icon'; break;
- case 'csv': $ctype = 'text/comma-separated-values'; break;
- case 'css': $ctype = 'text/css'; break;
- case 'htm':
- case 'html':
- case 'shtml': $ctype = 'text/html'; break;
- case 'txt':
- case 'klp':
- case 'tex':
- case 'php':
- case 'asp':
- case 'aspx':
- case 'php3':
- case 'php4':
- case 'php5':
- case 'sql': $ctype = 'text/plain'; break;
- case 'xml': $ctype = 'text/xml'; break;
- case 'xhtm': $ctype = 'text/xhtml'; break;
- case 'wml': $ctype = 'text/wml'; break;
- case 'mpeg':
- case 'mpg':
- case 'mpe':
- case 'mlv':
- case 'mpa':
- case 'wma':
- case 'wmv': $ctype = 'video/mpeg'; break;
- case 'avi': $ctype = 'video/x-msvideo'; break;
- case 'mov': $ctype = 'video/quicktime'; break;
- case 'xls': $ctype = 'application/vnd.ms-excel'; break;
- case 'ai': $ctype = 'application/postscript'; break;
- case 'rm': $ctype = 'application/vnd.rn-realmedia'; break;
- case 'gz': $ctype = 'application/x-gzip'; break;
- case 'js': $ctype = 'application/x-javascript'; break;
- case 'pl':
- case 'cc': $ctype = 'text/plain'; break;
- case 'qt': $ctype = 'video/quicktime'; break;
- default : $ctype='application/force-download';
- }
+ $chunksize = 1*(1024*1024);
+ $buffer = '';
+ $cnt = 0;
- return $ctype;
-}
+ $handle = fopen($filename, 'rb');
-function file_download($filename, $retbytes = true)
-{
- $chunksize = 1*(1024*1024);
- $buffer = '';
- $cnt = 0;
+ if ($handle === false) return false;
+
+ while (!feof($handle))
+ {
+ $buffer = fread($handle, $chunksize);
+ echo $buffer;
+ flush();
+ if ($retbytes) $cnt += strlen($buffer);
+ }
- $handle = fopen($filename, 'rb');
+ $status = fclose($handle);
- if ($handle === false) return false;
+ if ($retbytes && $status) return $cnt;
- while (!feof($handle))
- {
- $buffer = fread($handle, $chunksize);
- echo $buffer;
- flush();
- if ($retbytes) $cnt += strlen($buffer);
+ return $status;
}
- $status = fclose($handle);
- if ($retbytes && $status) return $cnt;
+ function is_php_code($check_code)
+ {
+ $check_code = stripslashes($check_code);
+ $check_code = str_replace(' ', '', $check_code);
+ $check_code = strtolower($check_code);
+
+ if (strpos($check_code, '') !== false ||
+ strpos($check_code, 'language="php"') !== false ||
+ strpos($check_code, "language='php'") !== false ||
+ strpos($check_code, 'language=php') !== false)
+ {
+ return true;
+ }
- return $status;
-}
+ return false;
+ }
-function is_php_code($check_code)
-{
- $check_code = stripslashes($check_code);
- $check_code = str_replace(' ', '', $check_code);
- $check_code = strtolower($check_code);
- if (strpos($check_code, '') !== false ||
- strpos($check_code, 'language="php"') !== false ||
- strpos($check_code, "language='php'") !== false ||
- strpos($check_code, 'language=php') !== false)
+ function check_permission_acp($perm)
{
+ if (! check_permission($perm))
+ {
+ if (! defined('NOPERM'))
+ define('NOPERM', 1);
+
+ return false;
+ }
+
return true;
}
- return false;
-}
-function check_permission_acp($perm)
-{
- if (!check_permission($perm))
- {
- if (!defined('NOPERM')) define('NOPERM', 1);
- return false;
- }
+ //Проверка на наличие модуля Контакты и новых писем
+ function ContactsModuleCheck() {
+ global $AVE_DB, $AVE_Template;
- return true;
-}
-
-//Проверка на наличие модуля Контакты и новых писем
-function ContactsModuleCheck() {
- global $AVE_DB, $AVE_Template;
-
- $sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_module WHERE ModuleFunction = 'contact' and ModuleStatus = '1'");
- $enable = $sql->numrows();
- if ($enable != "0" || $enable != ""){
- $contacts = "1";
- $sql_num = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_modul_contact_info WHERE Aw_Zeit = '0'");
- $num_posts = $sql_num->numrows();
- } else {
- $contacts = "0";
- }
- $AVE_Template->assign('num_posts', $num_posts);
- $AVE_Template->assign('contacts', $contacts);
-}
-
-//Проверка на наличие модуля Логин
-function LoginModuleCheck() {
- global $AVE_DB, $AVE_Template;
-
- $sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_module WHERE ModuleFunction = 'mod_login' and ModuleStatus = '1'");
- $enable = $sql->numrows();
- if ($enable != "0" || $enable != ""){
- $login_menu = "1";
- } else {
- $login_menu = "0";
+ $sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_module WHERE ModuleFunction = 'contact' and ModuleStatus = '1'");
+ $enable = $sql->numrows();
+ if ($enable != "0" || $enable != ""){
+ $contacts = "1";
+ $sql_num = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_modul_contact_info WHERE Aw_Zeit = '0'");
+ $num_posts = $sql_num->numrows();
+ } else {
+ $contacts = "0";
+ }
+ $AVE_Template->assign('num_posts', $num_posts);
+ $AVE_Template->assign('contacts', $contacts);
}
- $AVE_Template->assign('login_menu', $login_menu);
-}
-
-//Выводим на главную список последних 15 документов
-function DisplayMainDocuments() {
- global $AVE_DB, $AVE_Template;
-
- $doc_start = array();
- $sql = $AVE_DB->Query("
- SELECT
- doc.*,
- rub.rubric_admin_teaser_template
- FROM " . PREFIX . "_documents doc
- LEFT JOIN " . PREFIX . "_rubrics AS rub ON rub.Id = doc.rubric_id
- WHERE 1 = 1
- AND rub.rubric_docs_active = '1'
- ORDER BY doc.document_published DESC LIMIT 0,10");
- while($row = $sql->fetchrow()) {
- $row->rubric_title = showrubricName($row->rubric_id);
- $row->document_title = stripslashes(htmlspecialchars_decode(pretty_chars($row->document_title)));
- $row->document_breadcrum_title = stripslashes(htmlspecialchars_decode(pretty_chars($row->document_breadcrum_title)));
- $row->document_author = get_username_by_id($row->document_author_id); // Получаем имя пользователя (Автора)
- $row->cantEdit = 0;
- $row->canDelete = 0;
- $row->canEndDel = 0;
- $row->canOpenClose = 0;
- $row->rubric_admin_teaser_template=@eval2var('?>'.($row->rubric_admin_teaser_template>'' ? @showrequestelement($row,$row->rubric_admin_teaser_template) : '').'');
-
- // разрешаем редактирование и удаление
- // если автор имеет право изменять свои документы в рубрике
- // или пользователю разрешено изменять все документы в рубрике
- if ( ($row->document_author_id == @$_SESSION['user_id']
- && isset($_SESSION[$row->rubric_id . '_editown']) && @$_SESSION[$row->rubric_id . '_editown'] == 1)
- || (isset($_SESSION[$row->rubric_id . '_editall']) && $_SESSION[$row->rubric_id . '_editall'] == 1) )
- {
- $row->cantEdit = 1;
- $row->canDelete = 1;
- }
- // запрещаем редактирование главной страницы и страницу ошибки 404 если требуется одобрение Администратора
- if ( ($row->Id == 1 || $row->Id == PAGE_NOT_FOUND_ID)
- && isset($_SESSION[$row->rubric_id . '_newnow']) && @$_SESSION[$row->rubric_id . '_newnow'] != 1)
- {
- $row->cantEdit = 0;
- }
- // разрешаем автору блокировать и разблокировать свои документы если не требуется одобрение Администратора
- if ($row->document_author_id == @$_SESSION['user_id']
- && isset($_SESSION[$row->rubric_id . '_newnow']) && @$_SESSION[$row->rubric_id . '_newnow'] == 1)
- {
- $row->canOpenClose = 1;
- }
- // разрешаем всё, если пользователь принадлежит группе Администраторов или имеет все права на рубрику
- if (UGROUP == 1 || @$_SESSION[$row->rubric_id . '_alles'] == 1)
- {
- $row->cantEdit = 1;
- $row->canDelete = 1;
- $row->canEndDel = 1;
- $row->canOpenClose = 1;
- }
- // Запрещаем удаление Главной страницы и страницы с 404 ошибкой
- if ($row->Id == 1 || $row->Id == PAGE_NOT_FOUND_ID)
- {
- $row->canDelete = 0;
- $row->canEndDel = 0;
- }
- array_push($doc_start, $row);
+
+
+ //Проверка на наличие модуля Логин
+ function LoginModuleCheck() {
+ global $AVE_DB, $AVE_Template;
+
+ $sql = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_module WHERE ModuleFunction = 'mod_login' and ModuleStatus = '1'");
+ $enable = $sql->numrows();
+ if ($enable != "0" || $enable != ""){
+ $login_menu = "1";
+ } else {
+ $login_menu = "0";
}
- $AVE_Template->assign('doc_start', $doc_start);
-}
+ $AVE_Template->assign('login_menu', $login_menu);
+ }
-function showrubricName($id) {
- global $AVE_DB, $AVE_Template;
- $sql = $AVE_DB->Query("SELECT rubric_title FROM " . PREFIX . "_rubrics WHERE Id='$id'");
- $row = $sql->fetchrow();
- return $row->rubric_title;
-}
+ //Выводим на главную список последних 15 документов
+ function DisplayMainDocuments()
+ {
+ global $AVE_DB, $AVE_Template;
-function showuserName($id) {
- global $AVE_DB, $AVE_Template;
+ $doc_start = array();
- $sql = $AVE_DB->Query("SELECT user_name FROM " . PREFIX . "_users WHERE Id='$id'");
- $row = $sql->fetchrow();
- return $row->user_name;
-}
+ $sql = $AVE_DB->Query("
+ SELECT
+ doc.*,
+ rub.rubric_admin_teaser_template
+ FROM " . PREFIX . "_documents doc
+ LEFT JOIN " . PREFIX . "_rubrics AS rub ON rub.Id = doc.rubric_id
+ WHERE 1 = 1
+ AND rub.rubric_docs_active = '1'
+ ORDER BY doc.document_published DESC LIMIT 0,10");
+ while($row = $sql->fetchrow()) {
+ $row->rubric_title = showrubricName($row->rubric_id);
+ $row->document_title = stripslashes(htmlspecialchars_decode(pretty_chars($row->document_title)));
+ $row->document_breadcrum_title = stripslashes(htmlspecialchars_decode(pretty_chars($row->document_breadcrum_title)));
+ $row->document_author = get_username_by_id($row->document_author_id); // Получаем имя пользователя (Автора)
+ $row->cantEdit = 0;
+ $row->canDelete = 0;
+ $row->canEndDel = 0;
+ $row->canOpenClose = 0;
+ $row->rubric_admin_teaser_template=@eval2var('?>'.($row->rubric_admin_teaser_template>'' ? @showrequestelement($row,$row->rubric_admin_teaser_template) : '').'');
+
+ // разрешаем редактирование и удаление
+ // если автор имеет право изменять свои документы в рубрике
+ // или пользователю разрешено изменять все документы в рубрике
+ if ( ($row->document_author_id == @$_SESSION['user_id']
+ && isset($_SESSION[$row->rubric_id . '_editown']) && @$_SESSION[$row->rubric_id . '_editown'] == 1)
+ || (isset($_SESSION[$row->rubric_id . '_editall']) && $_SESSION[$row->rubric_id . '_editall'] == 1) )
+ {
+ $row->cantEdit = 1;
+ $row->canDelete = 1;
+ }
+ // запрещаем редактирование главной страницы и страницу ошибки 404 если требуется одобрение Администратора
+ if ( ($row->Id == 1 || $row->Id == PAGE_NOT_FOUND_ID)
+ && isset($_SESSION[$row->rubric_id . '_newnow']) && @$_SESSION[$row->rubric_id . '_newnow'] != 1)
+ {
+ $row->cantEdit = 0;
+ }
+ // разрешаем автору блокировать и разблокировать свои документы если не требуется одобрение Администратора
+ if ($row->document_author_id == @$_SESSION['user_id']
+ && isset($_SESSION[$row->rubric_id . '_newnow']) && @$_SESSION[$row->rubric_id . '_newnow'] == 1)
+ {
+ $row->canOpenClose = 1;
+ }
+ // разрешаем всё, если пользователь принадлежит группе Администраторов или имеет все права на рубрику
+ if (UGROUP == 1 || @$_SESSION[$row->rubric_id . '_alles'] == 1)
+ {
+ $row->cantEdit = 1;
+ $row->canDelete = 1;
+ $row->canEndDel = 1;
+ $row->canOpenClose = 1;
+ }
+ // Запрещаем удаление Главной страницы и страницы с 404 ошибкой
+ if ($row->Id == 1 || $row->Id == PAGE_NOT_FOUND_ID)
+ {
+ $row->canDelete = 0;
+ $row->canEndDel = 0;
+ }
+ array_push($doc_start, $row);
+ }
+ $AVE_Template->assign('doc_start', $doc_start);
+ }
-function cacheShow() {
- global $AVE_Template;
+ function showrubricName($id)
+ {
+ global $AVE_DB, $AVE_Template;
- $showCache = format_size(get_dir_size($AVE_Template->compile_dir)+get_dir_size($AVE_Template->cache_dir_root));
- echo json_encode(array($showCache, 'accept'));
-}
+ $sql = $AVE_DB->Query("SELECT rubric_title FROM " . PREFIX . "_rubrics WHERE Id='$id'");
+ $row = $sql->fetchrow();
+ return $row->rubric_title;
+ }
-function templateName($id) {
- global $AVE_DB, $AVE_Template;
+ function showuserName($id)
+ {
+ global $AVE_DB, $AVE_Template;
- $sql = $AVE_DB->Query("
- SELECT * FROM " . PREFIX . "_templates
- WHERE Id = '$id'
- ");
- $row = $sql->fetchrow();
+ $sql = $AVE_DB->Query("SELECT user_name FROM " . PREFIX . "_users WHERE Id='$id'");
+ $row = $sql->fetchrow();
+ return $row->user_name;
+ }
- return $row->template_title;
-}
+ function cacheShow()
+ {
+ global $AVE_Template;
-function groupName($id) {
- global $AVE_DB, $AVE_Template;
+ $showCache = format_size(get_dir_size($AVE_Template->compile_dir)+get_dir_size($AVE_Template->cache_dir_root));
+ echo json_encode(array($showCache, 'accept'));
+ }
- $sql = $AVE_DB->Query("
- SELECT * FROM " . PREFIX . "_user_groups
- WHERE user_group = '$id'
- ");
- $row = $sql->fetchrow();
+ function templateName($id)
+ {
+ global $AVE_DB, $AVE_Template;
- return $row->user_group_name;
-}
+ $sql = $AVE_DB->Query("
+ SELECT * FROM " . PREFIX . "_templates
+ WHERE Id = '$id'
+ ");
+ $row = $sql->fetchrow();
+
+ return $row->template_title;
+ }
+
+ function groupName($id)
+ {
+ global $AVE_DB, $AVE_Template;
+
+ $sql = $AVE_DB->Query("
+ SELECT * FROM " . PREFIX . "_user_groups
+ WHERE user_group = '$id'
+ ");
+ $row = $sql->fetchrow();
+ return $row->user_group_name;
+ }
?>
\ No newline at end of file
diff --git a/admin/index.php b/admin/index.php
index de36df9..3612aed 100644
--- a/admin/index.php
+++ b/admin/index.php
@@ -25,13 +25,16 @@
exit;
}
- require(BASE_DIR . '/admin/init.php');
+ require (BASE_DIR . '/admin/init.php');
if (! isset($_SESSION['user_id']))
{
@session_destroy();
- if (isset($_REQUEST['ajax']) && $_REQUEST['ajax'] == 'run' || ( !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' ))
+ if (
+ isset($_REQUEST['ajax']) && $_REQUEST['ajax'] == 'run'
+ || (! empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' )
+ )
{
header($_SERVER['SERVER_PROTOCOL'] . ' 401 Unauthorised access', true);
exit;
@@ -69,16 +72,16 @@
}
/* Вывод модулей на всех страницах */
- get_editable_module();
+ getInstaledModules();
LoginModuleCheck();
$AVE_Template->assign('use_editor', get_settings('use_editor'));
$AVE_Template->assign('user_avatar', getAvatar($_SESSION['user_id'],25));
- if (!isset($_REQUEST['do'])) $_REQUEST['do'] = '';
- if (!isset($_REQUEST['action'])) $_REQUEST['action'] = '';
- if (!isset($_REQUEST['sub'])) $_REQUEST['sub'] = '';
- if (!isset($_REQUEST['submit'])) $_REQUEST['submit'] = '';
+ if (! isset($_REQUEST['do'])) $_REQUEST['do'] = '';
+ if (! isset($_REQUEST['action'])) $_REQUEST['action'] = '';
+ if (! isset($_REQUEST['sub'])) $_REQUEST['sub'] = '';
+ if (! isset($_REQUEST['submit'])) $_REQUEST['submit'] = '';
//Шаблоны навигации
$AVE_Template->assign('navi', $AVE_Template->fetch('navi/navi.tpl'));
@@ -113,7 +116,7 @@
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Expires: " . date("r"));
- include(BASE_DIR . '/admin/' . $do . '.php');
+ include (BASE_DIR . '/admin/' . $do . '.php');
if (defined('NOPERM'))
$AVE_Template->assign('content', $config_vars['MAIN_NO_PERMISSION']);
diff --git a/admin/init.php b/admin/init.php
index 8ee0dd9..8b98bd9 100644
--- a/admin/init.php
+++ b/admin/init.php
@@ -1,43 +1,48 @@
Query("
- SELECT lang_alias_pref FROM " . PREFIX . "_settings_lang
- WHERE lang_default = '1'
-")->GetCell();
-
-$_SESSION['admin_language'] = $lang_system;
-
-$AVE_Template = new AVE_Template(BASE_DIR . '/admin/templates');
-$AVE_Template->assign('tpl_dir', ABS_PATH . 'admin/templates');
-
-// Файлы шаблонов для CodeMirror
-$AVE_Template->assign('codemirror_connect', BASE_DIR . '/lib/redactor/codemirror/codemirror_connect.tpl');
-$AVE_Template->assign('codemirror_editor', BASE_DIR . '/lib/redactor/codemirror/codemirror_editor.tpl');
-
-// Подключаем основные ланги
-$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/main.txt');
-
-define('SESSION', session_id());
-$AVE_Template->assign('sess', SESSION);
+ /**
+ * AVE.cms
+ *
+ * @package AVE.cms
+ * @version 3.x
+ * @filesource
+ * @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
+ *
+ * @license GPL v.2
+ */
+
+ if (! defined('ACP'))
+ {
+ header('Location:index.php');
+ exit;
+ }
+
+ require (BASE_DIR . '/inc/init.php');
+
+ $AVE_Template = new AVE_Template(BASE_DIR . '/admin/templates');
+ $AVE_Template->assign('tpl_dir', ABS_PATH . 'admin/templates');
+
+ require (BASE_DIR . '/admin/functions/func.admin.common.php');
+ require (BASE_DIR . '/lib/redactor/ckeditor/adapters/ckeditor.php');
+
+ $lang_system = $AVE_DB->Query("
+ SELECT
+ lang_alias_pref
+ FROM
+ " . PREFIX . "_settings_lang
+ WHERE
+ lang_default = '1'
+ ")->GetCell();
+
+ $_SESSION['admin_language'] = $lang_system;
+
+ // Файлы шаблонов для CodeMirror
+ $AVE_Template->assign('codemirror_connect', BASE_DIR . '/lib/redactor/codemirror/codemirror_connect.tpl');
+ $AVE_Template->assign('codemirror_editor', BASE_DIR . '/lib/redactor/codemirror/codemirror_editor.tpl');
+
+ // Подключаем основные ланги
+ $AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/main.txt');
+
+ define('SESSION', session_id());
+ $AVE_Template->assign('sess', SESSION);
?>
\ No newline at end of file
diff --git a/admin/lang/bg/settings.txt b/admin/lang/bg/settings.txt
index 0470c0d..4e09883 100644
--- a/admin/lang/bg/settings.txt
+++ b/admin/lang/bg/settings.txt
@@ -59,12 +59,12 @@ SETTINGS_PAGE_PREV = "Текст на линка "Предходна&q
SETTINGS_MAIN_BREADCRUMBS = "Настройки за извеждането на «Breadcrumb»"
SETTINGS_BREAD_BOX = "Контейнер «Breadcrumb»:
Пример: <ul class="breadcrumb">%s</ul>"
-SETTINGS_BREAD_MAIN = "Показывать первый элемент: Главная страница:
Да/Нет"
-SETTINGS_BREAD_HOST = "Добавлять адрес хоста в url:
Да/Нет"
+SETTINGS_BREAD_MAIN = "Показвай първия елемент: Главна страница:
Да/Не"
+SETTINGS_BREAD_HOST = "Добавяй адреса на хоста в url:
Да/Не"
SETTINGS_BREAD_SEPPARATOR = "Разделител между линковете:
Пример: <li> → </li>"
SETTINGS_BREAD_SEPP_USE = "Покажи:
Да/Не"
SETTINGS_BREAD_BOX_LINK = "Контейнер за линка:
Пример: <li>%s</li>"
-SETTINGS_BREAD_LINK_TPL = "Шаблон ссылки
Используются теги: [name], [link], [count]"
+SETTINGS_BREAD_LINK_TPL = "Шаблон за линка
Използват се таговете: [name], [link], [count]"
SETTINGS_BREAD_BOX_LASTLINK = "Показване на последния елемент:"
SETTINGS_BREAD_SELF_BOX = "Контейнер за последния елемент:
Пример: <li class="active">%s</li>"
diff --git a/admin/lang/ru/docs.txt b/admin/lang/ru/docs.txt
index 7275e85..6d36551 100755
--- a/admin/lang/ru/docs.txt
+++ b/admin/lang/ru/docs.txt
@@ -297,4 +297,7 @@ DOC_SAVE_LOG_DOC = " документ"
DOC_LANG = "Язык"
DOC_LANG_ID = "Язык документа:"
-DOC_LANG_SELECT = "Выберите язык"
\ No newline at end of file
+DOC_LANG_SELECT = "Выберите язык"
+
+// 3.25
+DOC_CLOSE_SEARCH_RUBRIC = "Вернуться в раздел, учитывая параметры поиска"
\ No newline at end of file
diff --git a/admin/lang/ru/groups.txt b/admin/lang/ru/groups.txt
index c877a6b..93b14bf 100644
--- a/admin/lang/ru/groups.txt
+++ b/admin/lang/ru/groups.txt
@@ -2,14 +2,14 @@
UGROUP_TITLE = "Управление группами пользователей"
UGROUP_TITLE2 = "Управление группой пользователей"
UGROUP_TITLE_MENU = "Группы пользователей"
-UGROUP_INFO = "В данном разделе приведен cписок всех групп пользователей в системе. Для каждой группы Вы можете назначить персональные права, которые разрешат или ограничат действия пользователей как в Панели управления, так и в Публичной части сайта."
+UGROUP_INFO = "В данном разделе приведен список всех групп пользователей в системе. Для каждой группы Вы можете назначить персональные права, которые разрешат или ограничат действия пользователей как в Панели управления, так и в Публичной части сайта."
UGROUP_ID = "ID"
UGROUP_NAME = "Название группы"
UGROUP_COUNT = "Пользователей в группе"
UGROUP_ACTIONS = "Действия"
UGROUP_IN_GROUP = "Просмотр списка пользователей, относящихся к данной группе"
UGROUP_EDIT = "Редактировать наименование и права группы"
-UGROUP_NO_PERMISSION = "Извините, но у Вас недостаточно прав для редакирования"
+UGROUP_NO_PERMISSION = "Извините, но у Вас недостаточно прав для редактирования"
UGROUP_DELETE = "Удалить данную группу"
UGROUP_USERS_IN_GROUP = "В настоящий момент Вы не можете удалить данную группу, т.к. есть пользователи состоящие в этой группе."
UGROUP_DELETE_CONFIRM = "Вы уверены, что хотите удалить данную группу?"
@@ -49,11 +49,13 @@ gen_settings = "Доступ к управлению общими на
gen_settings_more = "Доступ к управлению дополнительными настройками системы"
gen_settings_countries = "Доступ к управлению списку стран"
gen_settings_languages = "Доступ к управлению языками"
+gen_settings_robots = "Доступ к редактированию файла robots.txt"
+gen_settings_fcustom = "Доступ к редактированию файла func.custom.php"
logs_view = "Доступ к просмотру системных сообщ"
logs_clear = "Доступ к удалению системных сообщений"
-db_actions = "Доступ к управлению базой данных (Резервное копирование, Востановление, Оптимизация)"
+db_actions = "Доступ к управлению базой данных (Резервное копирование, Восстановление, Оптимизация)"
modules_view = "Доступ к списку модулей"
modules_admin = "Доступ к модулями (Настройка, Управление, Использование)"
diff --git a/admin/lang/ru/rubs.txt b/admin/lang/ru/rubs.txt
index e988636..31c66da 100755
--- a/admin/lang/ru/rubs.txt
+++ b/admin/lang/ru/rubs.txt
@@ -42,7 +42,7 @@ RUBRIK_LEGEND = "Значения пиктограмм"
RUBRIK_NEW = "Создание новой рубрики"
RUBRIK_NEW_TIP = "В данном разделе вы можете создать новую рубрику. Пожалуйста, укажите название новой рубрики и выберите шаблон для вывода."
RUBRIK_BUTTON_NEW = "Создать рубрику"
-RUBRIK_EDIT_FIELDS = "Управление полями и правами доступа к рубрике"
+
RUBRIK_DESCRIPTION = "Описание рубрики"
RUBRIK_NO_FIELDS = "Внимание! Вы не создали ни одного поля. Пожалуйста, добавьте хотя бы одно поле."
RUBRIK_FIELDS_INFO = "В данном разделе вы можете создать группу полей, которые будут использованы для документов в данной рубрике."
@@ -84,6 +84,7 @@ RUBRIK_FIELD_DEFAULT = "Значение по умолчанию"
RUBRIK_TEMPLATE_TIP = "В данном разделе, используя язык разметки HTML, вы должны создать шаблон оформления для документов при полном просмотре,"
RUBRIK_HTML = "Шаблон оформления рубрики"
RUBRIK_HTML_2 = "Шаблон оформления HEADER"
+RUBRIK_HTML_2_1 = "Шаблон оформления FOOTER"
RUBRIK_HTML_3 = "Шаблон оформления TEASER"
RUBRIK_HTML_4 = "Шаблон оформления ADMIN TEASER"
RUBRIK_PHP_DENIDED = "Ошибка!
Вы не имеете прав на редактирование шаблона рубрики, так как он используется PHP код, а вы не имеете прав на использование PHP кода."
@@ -136,9 +137,9 @@ RUBRIK_MOVE = "Переместить"
RUBRIK_REQUEST_TPL = "Шаблон вывода поля в запросе"
RUBRIK_BREADCRUMB = "Систменый тег Хлебных крошек"
RUBRIK_CODE = "Исполняемый код для рубрик"
-RUBRIK_START_CODE = "Код, выполняемый перед загрузкой документа"
-RUBRIK_CODE_START = "Код, выполняемый перед сохранением документа"
-RUBRIK_CODE_END = "Код, выполняемый после сохранения документа"
+RUBRIK_START_CODE = "Код, выполняемый перед показом документа в публичной части"
+RUBRIK_CODE_START = "Код, выполняемый ПЕРЕД сохранением документа"
+RUBRIK_CODE_END = "Код, выполняемый ПОСЛЕ сохранения документа"
RUBRIK_TAGS = "Тег"
RUBRIK_TAGS_ID = "Тег ID"
RUBRIK_TAGS_ALIAS = "Тег Алиас"
@@ -277,4 +278,49 @@ RUBRIC_TMPLS_NO_ITEMS = "Сообщение:
В на
RUBRIC_TMPLS_FROM = "Создать копию основного шаблона"
RUBRIC_TMPLS_INNAME = "Введите наименование шаблона"
RUBRIC_TEMPL_REPORT = "Отредактировал дополнительный шаблон рубрики"
-RUBRIC_TMPLS_LOG_DEL = "Удалил дополнительный шаблон рубрики"
\ No newline at end of file
+RUBRIC_TMPLS_LOG_DEL = "Удалил дополнительный шаблон рубрики"
+
+// 3.24
+RUBRIC_WARNING_TIP = "Внимание! Пожалуйста, будьте предельно внимательны и помните, что неверные параметры могут сделать систему неработоспособной."
+
+RUBRIK_EDIT_FIELDS = "Управление полями"
+RUBRIK_EDIT_RULES = "Управление правами доступа к рубрике"
+
+RUBRIC_TABLE_BTN_FIELDS = "Поля рубрики"
+RUBRIC_TABLE_BTN_FTEMPLATES = "Шаблоны полей"
+RUBRIC_TABLE_BTN_FGROUPS = "Группы полей"
+RUBRIC_TABLE_BTN_TEMPLATES = "Шаблон рубрики"
+RUBRIC_TABLE_BTN_CODE = "Исполняемый код"
+RUBRIC_TABLE_BTN_RULES = "Права доступа"
+
+RUBRIK_EDIT_CODE_TIP = "Внимание! Пожалуйста, будьте предельно внимательны и помните, что неверные параметры могут сделать систему неработоспособной."
+RUBRIK_EDIT_CODE_LOAD_TIP = "Доступ к данным:
$this->curentdoc - Данные документа, перед подстановкой их в шаблон вывода"
+RUBRIK_EDIT_CODE_BEF_TIP = "Доступ к данным:
$data - Все данные документа
$data['feld'] - Данные полей документа
$rubric_id - ID рубрики"
+RUBRIK_EDIT_CODE_AFT_TIP = "Доступ к данным:
$data - Все данные документа
$rubric_id - ID рубрики
$document_id - ID документа - Число или False"
+
+RUBRIK_FIELDS_TEMPLATES_H1 = "Управление шаблонами полей"
+RUBRIK_FIELDS_TEMPLATES_H2 = "Шаблоны полей"
+RUBRIK_FIELDS_TEMPLATES_T1 = "Создавать/Редактировать/Удалять шаблоны полей (tpl)"
+RUBRIK_FIELDS_TEMPLATES_T2 = "Редактировать шаблоны вывода полей"
+RUBRIK_FIELDS_TEMPLATES_LIST = "Список типов полей используемых в рубрике"
+RUBRIK_FIELDS_TEMPLATES_FNAME = "Наименование поля"
+RUBRIK_FIELDS_TEMPLATES_FFUNC = "Функция"
+RUBRIK_FIELDS_TEMPLATES_FTEMP = "Шаблон .tpl (по умолчанию)"
+RUBRIK_FIELDS_TEMPLATES_FTEMPL = "Шаблон .tpl по ID поля"
+RUBRIK_FIELDS_TEMPLATES_PANEL = "Панель"
+RUBRIK_FIELDS_TEMPLATES_DOC = "Документ"
+RUBRIK_FIELDS_TEMPLATES_REQ = "Запрос"
+RUBRIK_FIELDS_TEMPLATES_DB = "База данных"
+RUBRIK_FIELDS_TEMPLATES_BACK = "К списку типов полей"
+RUBRIK_FIELDS_NO_TEMPLATES = "Нет шаблона"
+RUBRIK_FIELDS_EDIT_RUBRIC = "Рубрика"
+RUBRIK_FIELDS_EDIT_FIELD = "Поле:"
+RUBRIK_FIELDS_EDIT_TYPE = "Тип:"
+RUBRIK_FIELDS_EDIT_TPL_ADM = "Шаблон для панели"
+RUBRIK_FIELDS_EDIT_TPL_DOC = "Шаблона вывода в документе"
+RUBRIK_FIELDS_EDIT_TPL_REQ = "Шаблона вывода в запросе"
+RUBRIK_FIELDS_EDIT_TPL_CREAT = "Создание шаблона из основного файла"
+RUBRIK_FIELDS_EDIT_TPL_EDIT = "Редактирование шаблона"
+RUBRIK_FIELDS_EDIT_NO_TPL = "Отсутсвует основной файл шаблона"
+RUBRIC_TMPLS_CREAT = "Создать"
+RUBRIC_TMPLS_DELETE = "Удалить"
\ No newline at end of file
diff --git a/admin/lang/ru/settings.txt b/admin/lang/ru/settings.txt
index d62493d..24ab94a 100644
--- a/admin/lang/ru/settings.txt
+++ b/admin/lang/ru/settings.txt
@@ -137,3 +137,11 @@ pagination_start_label = "Текст ссылки "Первая""
pagination_end_label = "Текст ссылки "Последняя""
pagination_next_label = "Текст ссылки "Следующая""
pagination_prev_label = "Текст ссылки "Предыдущая""
+
+// v3.24
+SETTINGS_SAVED_ERR_FILE = "Ошибка при сохранении файла. Попробуйте снова."
+SETTINGS_SAVED_FILE = "Файл успешно сохранен."
+SETTINGS_FILE_EDIT_H = "Редактирование файла"
+SETTINGS_FILE_CONTENT = "Содержимое файла:"
+SETTINGS_FILE_ROBOTS = "Файл robots.txt"
+SETTINGS_FILE_CUSTOM = "Файл func.custom.php"
diff --git a/admin/lang/ru/templates.txt b/admin/lang/ru/templates.txt
index b811b50..aa091c8 100644
--- a/admin/lang/ru/templates.txt
+++ b/admin/lang/ru/templates.txt
@@ -80,6 +80,7 @@ TEMPLATES_NAVIGATION = "Меню навигации (ххх - номер ме
TEMPLATES_IF_PRINT = "Содержимое будет показано при печати."
TEMPLATES_DONOT_PRINT = "Содержание не будет показано при печати"
TEMPLATES_RUBHEADER = "Настраивается в шаблоне рубрики
(Шаблон оформления HEADER)"
+TEMPLATES_RUBFOOTER = "Настраивается в шаблоне рубрики
(Шаблон оформления FOOTER)"
TEMPLATES_NO_ITEMS = "В настоящий момент нет файлов"
TEMPLATES_DOMAIN = "Системный тег вывода доменного имени"
TEMPLATES_DOCDB = "Системный тег вывода поля документа из БД"
diff --git a/admin/modules.php b/admin/modules.php
index df79a1b..0ab7fcb 100644
--- a/admin/modules.php
+++ b/admin/modules.php
@@ -1,99 +1,102 @@
config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/modules.txt', 'modules');
-
-if (!empty($_REQUEST['moduleaction']))
-{
- if (!check_permission('mod_' . $_REQUEST['mod']))
+ if (! defined('ACP'))
{
- echo $AVE_Template->get_config_vars('MAIN_NO_PERM_MODULES');
+ header('Location:index.php');
exit;
}
-}
-if (!empty($_REQUEST['module']))
-{
- $module_path = preg_replace('/[^\w]/', '', $_REQUEST['module']);
- if (!empty($module_path)) define('MODULE_PATH', $module_path);
-}
+ $AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/modules.txt', 'modules');
-switch($_REQUEST['action'])
-{
- case '':
- if (check_permission_acp('modules_view'))
+ if (! empty($_REQUEST['moduleaction']))
+ {
+ if (! check_permission('mod_' . $_REQUEST['mod']))
{
- $AVE_Module->moduleList();
+ echo $AVE_Template->get_config_vars('MAIN_NO_PERM_MODULES');
+ exit;
}
- break;
+ }
- case 'quicksave':
- if (check_permission_acp('modules_system'))
- {
- $AVE_Module->moduleOptionsSave();
- }
- break;
+ if (! empty($_REQUEST['module']))
+ {
+ $module_path = preg_replace('/[^\w]/', '', $_REQUEST['module']);
- case 'install':
- case 'reinstall':
- if (check_permission_acp('modules_system'))
- {
- $AVE_Module->moduleInstall();
- }
- break;
+ if (! empty($module_path))
+ define('MODULE_PATH', $module_path);
+ }
- case 'update':
- if (check_permission_acp('modules_system'))
- {
- $AVE_Module->moduleUpdate();
- }
- break;
+ switch($_REQUEST['action'])
+ {
+ case '':
+ if (check_permission_acp('modules_view'))
+ {
+ $AVE_Module->moduleList();
+ }
+ break;
- case 'delete':
- if (check_permission_acp('modules_system'))
- {
- $AVE_Module->moduleDelete();
- }
- break;
+ case 'quicksave':
+ if (check_permission_acp('modules_system'))
+ {
+ $AVE_Module->moduleOptionsSave();
+ }
+ break;
- case 'onoff':
- if (check_permission_acp('modules_system'))
- {
- $AVE_Module->moduleStatusChange();
- }
- break;
+ case 'install':
+ case 'reinstall':
+ if (check_permission_acp('modules_system'))
+ {
+ $AVE_Module->moduleInstall();
+ }
+ break;
- case 'modedit':
- if (check_permission_acp('modules_admin'))
- {
- $mod_path = preg_replace('/[^\w]/', '', $_REQUEST['mod']);
- $mod_path = BASE_DIR . '/modules/' . $mod_path . '/module.php';
- if (is_file($mod_path)) include($mod_path);
- }
- break;
+ case 'update':
+ if (check_permission_acp('modules_system'))
+ {
+ $AVE_Module->moduleUpdate();
+ }
+ break;
- case 'remove':
- if (check_permission_acp('modules_system'))
- {
- $AVE_Module->moduleRemove($_REQUEST['module']);
- }
- break;
-}
+ case 'delete':
+ if (check_permission_acp('modules_system'))
+ {
+ $AVE_Module->moduleDelete();
+ }
+ break;
+
+ case 'onoff':
+ if (check_permission_acp('modules_system'))
+ {
+ $AVE_Module->moduleStatusChange();
+ }
+ break;
+ case 'modedit':
+ if (check_permission_acp('modules_admin'))
+ {
+ $mod_path = preg_replace('/[^\w]/', '', $_REQUEST['mod']);
+ $mod_path = BASE_DIR . '/modules/' . $mod_path . '/module.php';
+
+ if (is_file($mod_path))
+ include($mod_path);
+ }
+ break;
+
+ case 'remove':
+ if (check_permission_acp('modules_system'))
+ {
+ $AVE_Module->moduleRemove($_REQUEST['module']);
+ }
+ break;
+ }
?>
\ No newline at end of file
diff --git a/admin/rubs.php b/admin/rubs.php
index b81f68a..80ca6a8 100755
--- a/admin/rubs.php
+++ b/admin/rubs.php
@@ -73,21 +73,22 @@ switch($_REQUEST['action'])
$Rtemplate = $_POST['rubric_template'];
$Htemplate = $_POST['rubric_header_template'];
+ $Ftemplate = $_POST['rubric_footer_template'];
$Ttemplate = $_POST['rubric_teaser_template'];
$Atemplate = $_POST['rubric_admin_teaser_template'];
- $check_code = strtolower($Rtemplate.$Htemplate.$Ttemplate.$Atemplate);
+ $check_code = strtolower($Rtemplate.$Htemplate.$Ttemplate.$Atemplate.$Ftemplate);
$ok = true;
- if((is_php_code($check_code)) && !check_permission('rubric_php') )
+ if ((is_php_code($check_code)) && !check_permission('rubric_php') )
{
$AVE_Template->assign('php_forbidden', 1);
$ok = false;
}
- if(! $ok)
+ if (! $ok)
{
$message = $AVE_Template->get_config_vars('RUBRIC_SAVED_PHP_ERR');
$header = $AVE_Template->get_config_vars('RUBRIC_ERROR');
@@ -102,11 +103,10 @@ switch($_REQUEST['action'])
{
$AVE_Rubric->rubricTemplateShow(1);
}
-
}
else
{
- $AVE_Rubric->rubricTemplateSave($Rtemplate, $Htemplate, $Ttemplate, $Atemplate);
+ $AVE_Rubric->rubricTemplateSave($Rtemplate, $Htemplate, $Ttemplate, $Atemplate, $Ftemplate);
}
break;
}
@@ -556,6 +556,104 @@ switch($_REQUEST['action'])
$AVE_Template->assign('content', $AVE_Template->fetch('error.tpl'));
}
break;
+
+ case 'rules':
+ if (check_permission('rubric_edit'))
+ {
+ switch($_REQUEST['sub'])
+ {
+ case '':
+ switch($_REQUEST['submit'])
+ {
+ case 'saveperms':
+ if (check_permission('rubric_perms'))
+ $AVE_Rubric->rubricPermissionSave((int)$_REQUEST['Id']);
+ break;
+ }
+ }
+ $AVE_Rubric->rubricRulesShow((int)$_REQUEST['Id'], null);
+ break;
+ }
+ else
+ {
+ $AVE_Template->assign('erorr', $AVE_Template->get_config_vars('RUBRIK_NO_CHANGE1'));
+ $AVE_Template->assign('content', $AVE_Template->fetch('error.tpl'));
+ }
+ break;
+
+ case 'ftlist':
+ if (check_permission('rubric_edit'))
+ {
+ $AVE_Rubric->ShowFields();
+ }
+ else
+ {
+ $AVE_Template->assign('erorr', $AVE_Template->get_config_vars('RUBRIK_NO_PERMISSION'));
+ $AVE_Template->assign('content', $AVE_Template->fetch('error.tpl'));
+ }
+ break;
+
+ case 'ftshowfield':
+ if (check_permission('rubric_edit'))
+ {
+ $AVE_Rubric->ShowFieldsByType($_REQUEST['type']);
+ }
+ else
+ {
+ $AVE_Template->assign('erorr', $AVE_Template->get_config_vars('RUBRIK_NO_PERMISSION'));
+ $AVE_Template->assign('content', $AVE_Template->fetch('error.tpl'));
+ }
+ break;
+
+
+ case 'ftcreate':
+ if (check_permission('rubric_edit'))
+ {
+ $AVE_Rubric->EditFieldTpl((int)$_REQUEST['id'], $_REQUEST['fld'], $_REQUEST['type']);
+ }
+ else
+ {
+ $AVE_Template->assign('erorr', $AVE_Template->get_config_vars('RUBRIK_NO_PERMISSION'));
+ $AVE_Template->assign('content', $AVE_Template->fetch('error.tpl'));
+ }
+ break;
+
+ case 'ftedit':
+ if (check_permission('rubric_edit'))
+ {
+ $AVE_Rubric->EditFieldTpl((int)$_REQUEST['id'], $_REQUEST['fld'], $_REQUEST['type']);
+ }
+ else
+ {
+ $AVE_Template->assign('erorr', $AVE_Template->get_config_vars('RUBRIK_NO_PERMISSION'));
+ $AVE_Template->assign('content', $AVE_Template->fetch('error.tpl'));
+ }
+ break;
+
+ case 'ftsave':
+ if (check_permission('rubric_edit'))
+ {
+ $AVE_Rubric->SaveFieldTpl((int)$_REQUEST['field_id'], $_REQUEST['field_name'], $_REQUEST['field_type'], $_REQUEST['func']);
+ }
+ else
+ {
+ $AVE_Template->assign('erorr', $AVE_Template->get_config_vars('RUBRIK_NO_PERMISSION'));
+ $AVE_Template->assign('content', $AVE_Template->fetch('error.tpl'));
+ }
+ break;
+
+
+ case 'ftdelete':
+ if (check_permission('rubric_edit'))
+ {
+ $AVE_Rubric->DeleteFieldTpl((int)$_REQUEST['id'], $_REQUEST['fld'], $_REQUEST['type'], $_REQUEST['func']);
+ }
+ else
+ {
+ $AVE_Template->assign('erorr', $AVE_Template->get_config_vars('RUBRIK_NO_PERMISSION'));
+ $AVE_Template->assign('content', $AVE_Template->fetch('error.tpl'));
+ }
+ break;
}
?>
diff --git a/admin/settings.php b/admin/settings.php
index cb734ff..21c108a 100644
--- a/admin/settings.php
+++ b/admin/settings.php
@@ -172,6 +172,15 @@ switch($_REQUEST['action'])
$AVE_Settings->settingsPaginationsDel();
break;
//-- v3.2
-}
+ //-- v3.24
+ case 'robots':
+ $AVE_Settings->editRobots();
+ break;
+
+ case 'custom':
+ $AVE_Settings->editCustom();
+ break;
+ //-- v3.24
+}
?>
\ No newline at end of file
diff --git a/admin/start.php b/admin/start.php
index 0388513..040683b 100644
--- a/admin/start.php
+++ b/admin/start.php
@@ -18,7 +18,7 @@ if (!defined('ACP'))
}
get_ave_info();
-get_editable_module();
+getInstaledModules();
DisplayMainDocuments();
get_online_users();
getLogRecords();
diff --git a/admin/templates/css/main.css b/admin/templates/css/main.css
index cfde4d6..ed0de45 100644
--- a/admin/templates/css/main.css
+++ b/admin/templates/css/main.css
@@ -413,6 +413,20 @@ input, textarea { box-sizing:border-box; }
a.btn{font-size: 10px;font-weight: bold;text-transform: uppercase;padding: 4px 12px;cursor: pointer;font-family: Arial, Helvetica, sans-serif;line-height: 12px;}
a.button, span.button { padding: 4px 10px; }
+.topBtn {
+ width: 100%;
+ display: block;
+ padding: 4px 0 !important;
+ text-align: center;
+ height: 22px;
+ line-height: 22px;
+ border: none !important;
+}
+
+.tableButtons td {
+ padding: 0 10px;
+}
+
/* ========== Pagination ========== */
.pagination { margin: auto; width: auto; text-align: center; margin-top: 40px; }
diff --git a/admin/templates/documents/doc_search.tpl b/admin/templates/documents/doc_search.tpl
index da559e4..20c63ba 100644
--- a/admin/templates/documents/doc_search.tpl
+++ b/admin/templates/documents/doc_search.tpl
@@ -34,20 +34,19 @@
},
speed: 5,
loadOpen: function(elem, opts) {
- $(".mainForm select").not("[multiple*=multiple]").styler({
- selectVisibleOptions: 5,
- selectSearch: false
- });
elem.next().show();
},
loadClose: function(elem, opts) {
- $(".mainForm select").not("[multiple*=multiple]").styler({
- selectVisibleOptions: 5,
- selectSearch: false
- });
elem.next().hide();
}
});
+
+ $('.collapsible').on('click', function() {
+ setTimeout(function() {
+ AveAdmin.sticky_panel_refresh();
+ AveAdmin.select_form();
+ }, 10);
+ });
{/literal}
$('#document_expire').datepicker({ldelim}
diff --git a/admin/templates/documents/form.tpl b/admin/templates/documents/form.tpl
index 696a71f..fbe6436 100755
--- a/admin/templates/documents/form.tpl
+++ b/admin/templates/documents/form.tpl
@@ -625,6 +625,7 @@ $(document).ready(function(){ldelim}
{if $document_field_group.group_title}{$document_field_group.group_title}{else}{#DOC_FIELD_G_UNKNOW#}{/if} |
+ {if $document_field_group.group_title}{$document_field_group.group_title}{else}{#DOC_FIELD_G_UNKNOW#}{/if} |
|||||
+ {$field.Id} + |
{$field.rubric_field_title|escape}
{if $field.rubric_field_description}
diff --git a/admin/templates/documents/form_after.tpl b/admin/templates/documents/form_after.tpl
index f496a76..5fc3d70 100644
--- a/admin/templates/documents/form_after.tpl
+++ b/admin/templates/documents/form_after.tpl
@@ -8,12 +8,15 @@
| {foreach from=$modules item=module} - ModuleFunction, $g_group_permissions) || in_array('alles', $g_group_permissions)} checked="checked"{/if}{if $smarty.request.Id == 1 || $smarty.request.Id == $PAGE_NOT_FOUND_ID || in_array('alles', $g_group_permissions)} disabled="disabled"{/if}> + {if $module.status == 1 && $module.ModuleIsFunction == 1} + + {/if} {/foreach} |