mirror of
https://github.com/avecms/AVE.cms.git
synced 2025-01-22 07:20:07 +00:00
v 3.24
This commit is contained in:
parent
2edae28a58
commit
4e4a58d40a
160
admin/admin.php
160
admin/admin.php
@ -1,97 +1,99 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* AVE.cms
|
||||
*
|
||||
* @package AVE.cms
|
||||
* @version 3.x
|
||||
* @filesource
|
||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
|
||||
*
|
||||
* @license GPL v.2
|
||||
*/
|
||||
/**
|
||||
* AVE.cms
|
||||
*
|
||||
* @package AVE.cms
|
||||
* @version 3.x
|
||||
* @filesource
|
||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
|
||||
*
|
||||
* @license GPL v.2
|
||||
*/
|
||||
|
||||
define('ACP', 1);
|
||||
define('ACPL', 1);
|
||||
define('BASE_DIR', str_replace("\\", "/", dirname(dirname(__FILE__))));
|
||||
define('ACP', 1);
|
||||
define('ACPL', 1);
|
||||
define('BASE_DIR', str_replace("\\", "/", dirname(dirname(__FILE__))));
|
||||
|
||||
if (! @filesize(BASE_DIR . '/inc/db.config.php')) {
|
||||
header('Location:/install/index.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
require(BASE_DIR . '/admin/init.php');
|
||||
|
||||
unset ($captcha_ok);
|
||||
|
||||
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 (isset($_REQUEST['action']) && $_REQUEST['action'] == 'login')
|
||||
{
|
||||
// Авторизация
|
||||
if (!empty($_POST['user_login']) && !empty($_POST['user_pass']))
|
||||
if (! @filesize(BASE_DIR . '/inc/db.config.php'))
|
||||
{
|
||||
if (ADMIN_CAPTCHA)
|
||||
{
|
||||
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;
|
||||
header('Location:/install/index.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
if ($captcha_ok)
|
||||
require(BASE_DIR . '/admin/init.php');
|
||||
|
||||
unset ($captcha_ok);
|
||||
|
||||
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 (isset($_REQUEST['action']) && $_REQUEST['action'] == 'login')
|
||||
{
|
||||
// Авторизация
|
||||
if (! empty($_POST['user_login']) && !empty($_POST['user_pass']))
|
||||
{
|
||||
if (true === user_login($_POST['user_login'], $_POST['user_pass'], 1,(int)(isset($_POST['SaveLogin']) && $_POST['SaveLogin'] == '1')))
|
||||
if (ADMIN_CAPTCHA)
|
||||
{
|
||||
//_echo($_SESSION);
|
||||
if (!empty($_SESSION['redirectlink']))
|
||||
if (isset($_SESSION['captcha_keystring']) && isset($_POST['securecode']) && $_SESSION['captcha_keystring'] == $_POST['securecode'])
|
||||
$captcha_ok = 1;
|
||||
else
|
||||
{
|
||||
header('Location:' . $_SESSION['redirectlink']);
|
||||
unset($_SESSION['redirectlink']);
|
||||
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;
|
||||
|
||||
if ($captcha_ok)
|
||||
{
|
||||
if (true === user_login($_POST['user_login'], $_POST['user_pass'], 1,(int)(isset($_POST['SaveLogin']) && $_POST['SaveLogin'] == '1')))
|
||||
{
|
||||
//_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;
|
||||
|
||||
}
|
||||
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);
|
||||
}
|
||||
|
||||
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']));
|
||||
|
||||
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');
|
||||
?>
|
550
admin/docs.php
550
admin/docs.php
@ -1,298 +1,312 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* AVE.cms
|
||||
*
|
||||
* @package AVE.cms
|
||||
* @version 3.x
|
||||
* @filesource
|
||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
|
||||
*
|
||||
* @license GPL v.2
|
||||
*/
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
if (! defined('ACP'))
|
||||
{
|
||||
header('Location:index.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
global $AVE_DB, $AVE_Template;
|
||||
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');
|
||||
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 = new AVE_Document;
|
||||
$AVE_Rubric = new AVE_Rubric;
|
||||
$AVE_Navigation = new AVE_Navigation;
|
||||
$AVE_Request = new AVE_Request;
|
||||
|
||||
$AVE_Document->documentTemplateTimeAssign();
|
||||
$AVE_Document->documentTemplateTimeAssign();
|
||||
|
||||
$AVE_Rubric->rubricPermissionFetch();
|
||||
$AVE_Rubric->rubricPermissionFetch();
|
||||
|
||||
$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/docs.txt', 'docs');
|
||||
$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/docs.txt', 'docs');
|
||||
|
||||
$AVE_Template->assign("navi", $AVE_Template->fetch("navi/navi.tpl"));
|
||||
$AVE_Template->assign("navi", $AVE_Template->fetch("navi/navi.tpl"));
|
||||
|
||||
switch($_REQUEST['action'])
|
||||
{
|
||||
case '' :
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
switch($_REQUEST['sub'])
|
||||
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;
|
||||
$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'])
|
||||
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;
|
||||
break;
|
||||
|
||||
case 'find_user':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
findautor($_REQUEST['q'], 10);
|
||||
}
|
||||
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 'keywords':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
searchKeywords($_REQUEST['q']);
|
||||
}
|
||||
exit;
|
||||
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 'editstatus':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Document->documentEditStatus();
|
||||
}
|
||||
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 'image_import':
|
||||
echo json_encode(array("respons"=>image_multi_import($_REQUEST['path']), "status"=>"error", "action"=>"return"));
|
||||
exit;
|
||||
case 'new':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$_SESSION['use_editor'] = get_settings('use_editor');
|
||||
|
||||
case 'translit':
|
||||
echo($AVE_Document->documentAliasCreate());
|
||||
exit;
|
||||
if (isset($_REQUEST['sub']) && $_REQUEST['sub'] != 'save')
|
||||
{
|
||||
$AVE_Navigation->navigationAllItemList();
|
||||
$AVE_Request->requestListFetch();
|
||||
}
|
||||
|
||||
case 'checkurl':
|
||||
echo($AVE_Document->documentAliasCheck());
|
||||
exit;
|
||||
$AVE_Document->documentNew((int)$_REQUEST['rubric_id']);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'aliases':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Document->documentAliasHistoryList();
|
||||
}
|
||||
break;
|
||||
case 'innavi':
|
||||
if (check_permission_acp('document_view') && check_permission_acp('navigation_new'))
|
||||
{
|
||||
$AVE_Document->documentInNavi();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'aliases_doc':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Document->documentAliasListDoc((int)$_REQUEST['doc_id']);
|
||||
}
|
||||
break;
|
||||
case 'after':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Navigation->navigationAllItemList();
|
||||
$AVE_Document->documentFormAfter();
|
||||
}
|
||||
break;
|
||||
|
||||
case 'aliases_new':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Document->documentAliasNew();
|
||||
}
|
||||
break;
|
||||
case 'open':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Navigation->navigationItemStatusOn((int)$_REQUEST['Id']);
|
||||
$AVE_Document->documentStatusSet((int)$_REQUEST['Id'], 1);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'aliases_edit':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Document->documentAliasEdit();
|
||||
}
|
||||
break;
|
||||
case 'close':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Navigation->navigationItemStatusOff((int)$_REQUEST['Id']);
|
||||
$AVE_Document->documentStatusSet((int)$_REQUEST['Id'], 0);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'aliases_save':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Document->documentAliasSave();
|
||||
}
|
||||
break;
|
||||
case 'delete':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Navigation->navigationItemStatusOff((int)$_REQUEST['Id']);
|
||||
$AVE_Document->documentMarkDelete((int)$_REQUEST['Id']);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'aliases_del':
|
||||
if (check_permission_acp('document_view'))
|
||||
{
|
||||
$AVE_Document->documentAliasDel();
|
||||
}
|
||||
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 '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;
|
||||
}
|
||||
?>
|
File diff suppressed because it is too large
Load Diff
@ -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']);
|
||||
|
@ -1,43 +1,48 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* AVE.cms
|
||||
*
|
||||
* @package AVE.cms
|
||||
* @version 3.x
|
||||
* @filesource
|
||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
|
||||
*
|
||||
* @license GPL v.2
|
||||
*/
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
if (! defined('ACP'))
|
||||
{
|
||||
header('Location:index.php');
|
||||
exit;
|
||||
}
|
||||
|
||||
require(BASE_DIR . '/inc/init.php');
|
||||
require(BASE_DIR . '/admin/functions/func.admin.common.php');
|
||||
require(BASE_DIR . '/lib/redactor/ckeditor/adapters/ckeditor.php');
|
||||
require (BASE_DIR . '/inc/init.php');
|
||||
|
||||
$lang_system = $AVE_DB->Query("
|
||||
SELECT lang_alias_pref FROM " . PREFIX . "_settings_lang
|
||||
WHERE lang_default = '1'
|
||||
")->GetCell();
|
||||
$AVE_Template = new AVE_Template(BASE_DIR . '/admin/templates');
|
||||
$AVE_Template->assign('tpl_dir', ABS_PATH . 'admin/templates');
|
||||
|
||||
$_SESSION['admin_language'] = $lang_system;
|
||||
require (BASE_DIR . '/admin/functions/func.admin.common.php');
|
||||
require (BASE_DIR . '/lib/redactor/ckeditor/adapters/ckeditor.php');
|
||||
|
||||
$AVE_Template = new AVE_Template(BASE_DIR . '/admin/templates');
|
||||
$AVE_Template->assign('tpl_dir', ABS_PATH . 'admin/templates');
|
||||
$lang_system = $AVE_DB->Query("
|
||||
SELECT
|
||||
lang_alias_pref
|
||||
FROM
|
||||
" . PREFIX . "_settings_lang
|
||||
WHERE
|
||||
lang_default = '1'
|
||||
")->GetCell();
|
||||
|
||||
// Файлы шаблонов для 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');
|
||||
$_SESSION['admin_language'] = $lang_system;
|
||||
|
||||
// Подключаем основные ланги
|
||||
$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/main.txt');
|
||||
// Файлы шаблонов для 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');
|
||||
|
||||
define('SESSION', session_id());
|
||||
$AVE_Template->assign('sess', SESSION);
|
||||
// Подключаем основные ланги
|
||||
$AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/main.txt');
|
||||
|
||||
define('SESSION', session_id());
|
||||
$AVE_Template->assign('sess', SESSION);
|
||||
?>
|
@ -59,12 +59,12 @@ SETTINGS_PAGE_PREV = "Текст на линка "Предходна&q
|
||||
|
||||
SETTINGS_MAIN_BREADCRUMBS = "Настройки за извеждането на «Breadcrumb»"
|
||||
SETTINGS_BREAD_BOX = "Контейнер «Breadcrumb»:<br><small>Пример: <ul class="breadcrumb">%s</ul></small>"
|
||||
SETTINGS_BREAD_MAIN = "Показывать первый элемент: Главная страница:<br><small>Да/Нет</small>"
|
||||
SETTINGS_BREAD_HOST = "Добавлять адрес хоста в url:<br><small>Да/Нет</small>"
|
||||
SETTINGS_BREAD_MAIN = "Показвай първия елемент: Главна страница:<br><small>Да/Не</small>"
|
||||
SETTINGS_BREAD_HOST = "Добавяй адреса на хоста в url:<br><small>Да/Не</small>"
|
||||
SETTINGS_BREAD_SEPPARATOR = "Разделител между линковете:<br><small>Пример: <li> → </li></small>"
|
||||
SETTINGS_BREAD_SEPP_USE = "Покажи:<br><small>Да/Не</small>"
|
||||
SETTINGS_BREAD_BOX_LINK = "Контейнер за линка:<br><small>Пример: <li>%s</li></small>"
|
||||
SETTINGS_BREAD_LINK_TPL = "Шаблон ссылки<br /><small>Используются теги: [name], [link], [count]</small>"
|
||||
SETTINGS_BREAD_LINK_TPL = "Шаблон за линка<br /><small>Използват се таговете: [name], [link], [count]</small>"
|
||||
SETTINGS_BREAD_BOX_LASTLINK = "Показване на последния елемент:"
|
||||
SETTINGS_BREAD_SELF_BOX = "Контейнер за последния елемент:<br><small>Пример: <li class="active">%s</li></small>"
|
||||
|
||||
|
@ -297,4 +297,7 @@ DOC_SAVE_LOG_DOC = " документ"
|
||||
|
||||
DOC_LANG = "Язык"
|
||||
DOC_LANG_ID = "Язык документа:"
|
||||
DOC_LANG_SELECT = "Выберите язык"
|
||||
DOC_LANG_SELECT = "Выберите язык"
|
||||
|
||||
// 3.25
|
||||
DOC_CLOSE_SEARCH_RUBRIC = "Вернуться в раздел, учитывая параметры поиска"
|
@ -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 = "Доступ к управлению базой данных (<strong>Резервное копирование, Востановление, Оптимизация</strong>)"
|
||||
db_actions = "Доступ к управлению базой данных (<strong>Резервное копирование, Восстановление, Оптимизация</strong>)"
|
||||
|
||||
modules_view = "Доступ к списку модулей"
|
||||
modules_admin = "Доступ к модулями <strong>(Настройка, Управление, Использование)</strong>"
|
||||
|
@ -42,7 +42,7 @@ RUBRIK_LEGEND = "Значения пиктограмм"
|
||||
RUBRIK_NEW = "Создание новой рубрики"
|
||||
RUBRIK_NEW_TIP = "В данном разделе вы можете создать новую рубрику. Пожалуйста, укажите название новой рубрики и выберите шаблон для вывода."
|
||||
RUBRIK_BUTTON_NEW = "Создать рубрику"
|
||||
RUBRIK_EDIT_FIELDS = "Управление полями и правами доступа к рубрике"
|
||||
|
||||
RUBRIK_DESCRIPTION = "Описание рубрики"
|
||||
RUBRIK_NO_FIELDS = "<strong>Внимание!</strong> Вы не создали ни одного поля. Пожалуйста, добавьте хотя бы одно поле."
|
||||
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 = "<strong>Ошибка!</strong><br />Вы не имеете прав на редактирование шаблона рубрики, так как он используется 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 = "<strong>Сообщение:</strong><br />В на
|
||||
RUBRIC_TMPLS_FROM = "Создать копию основного шаблона"
|
||||
RUBRIC_TMPLS_INNAME = "Введите наименование шаблона"
|
||||
RUBRIC_TEMPL_REPORT = "Отредактировал дополнительный шаблон рубрики"
|
||||
RUBRIC_TMPLS_LOG_DEL = "Удалил дополнительный шаблон рубрики"
|
||||
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 = "Доступ к данным:<br /><strong>$this->curentdoc</strong> - Данные документа, перед подстановкой их в шаблон вывода"
|
||||
RUBRIK_EDIT_CODE_BEF_TIP = "Доступ к данным:<br /><strong>$data</strong> - Все данные документа<br /><strong>$data['feld']</strong> - Данные полей документа<br /><strong>$rubric_id</strong> - ID рубрики"
|
||||
RUBRIK_EDIT_CODE_AFT_TIP = "Доступ к данным:<br /><strong>$data</strong> - Все данные документа<br /><strong>$rubric_id</strong> - ID рубрики<br /><strong>$document_id</strong> - 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 = "Удалить"
|
@ -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"
|
||||
|
@ -80,6 +80,7 @@ TEMPLATES_NAVIGATION = "Меню навигации (ххх - номер ме
|
||||
TEMPLATES_IF_PRINT = "Содержимое будет показано при печати."
|
||||
TEMPLATES_DONOT_PRINT = "Содержание не будет показано при печати"
|
||||
TEMPLATES_RUBHEADER = "Настраивается в шаблоне рубрики<br/>(Шаблон оформления HEADER)"
|
||||
TEMPLATES_RUBFOOTER = "Настраивается в шаблоне рубрики<br/>(Шаблон оформления FOOTER)"
|
||||
TEMPLATES_NO_ITEMS = "В настоящий момент нет файлов"
|
||||
TEMPLATES_DOMAIN = "Системный тег вывода доменного имени"
|
||||
TEMPLATES_DOCDB = "Системный тег вывода поля документа из БД"
|
||||
|
@ -1,99 +1,102 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* AVE.cms
|
||||
*
|
||||
* @package AVE.cms
|
||||
* @version 3.x
|
||||
* @filesource
|
||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
|
||||
*
|
||||
* @license GPL v.2
|
||||
*/
|
||||
/**
|
||||
* 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;
|
||||
}
|
||||
|
||||
$AVE_Template->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;
|
||||
}
|
||||
?>
|
108
admin/rubs.php
108
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;
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -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
|
||||
}
|
||||
?>
|
@ -18,7 +18,7 @@ if (!defined('ACP'))
|
||||
}
|
||||
|
||||
get_ave_info();
|
||||
get_editable_module();
|
||||
getInstaledModules();
|
||||
DisplayMainDocuments();
|
||||
get_online_users();
|
||||
getLogRecords();
|
||||
|
@ -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; }
|
||||
|
||||
|
@ -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}
|
||||
|
@ -625,6 +625,7 @@ $(document).ready(function(){ldelim}
|
||||
<h5>{#DOC_MAIN_CONTENT#}</h5>
|
||||
</div>
|
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic">
|
||||
<col width="10">
|
||||
<col width="250">
|
||||
<col>
|
||||
<tbody>
|
||||
@ -633,12 +634,15 @@ $(document).ready(function(){ldelim}
|
||||
|
||||
{if $document->count_groups > 1}
|
||||
<tr class="group_row_{$document_field_group.group_id|default:0} group_row grey" id="group_row_{$document_field_group.group_id|default:0}">
|
||||
<td colspan="3" class="aligncenter"><h5>{if $document_field_group.group_title}{$document_field_group.group_title}{else}{#DOC_FIELD_G_UNKNOW#}{/if}</h5></td>
|
||||
<td colspan="4" class="aligncenter"><h5>{if $document_field_group.group_title}{$document_field_group.group_title}{else}{#DOC_FIELD_G_UNKNOW#}{/if}</h5></td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{foreach from=$document_field_group.fields item=field}
|
||||
<tr class="field_row_{$field.Id} field_row" id="field_row_{$field.Id}">
|
||||
<td align="center">
|
||||
<span class="code topDir"{if $field.rubric_field_alias}title="{$field.rubric_field_alias}"{/if}>{$field.Id}</span>
|
||||
</td>
|
||||
<td>
|
||||
<strong>{$field.rubric_field_title|escape}</strong>
|
||||
{if $field.rubric_field_description}
|
||||
|
@ -8,12 +8,15 @@
|
||||
|
||||
<ul id="doclinks" style="padding-left:70px">
|
||||
<li><span class="icon_sprite ico_edit floatleft"></span> <a href="index.php?do=docs&action=edit&Id={$document_id}&cp={$sess}">{#DOC_EDIT_THIS_DOCUMENT#}</a></li>
|
||||
<li><span class="icon_sprite ico_look floatleft"></span> <a href="../{if $document_id!=1}index.php?id={$document_id}&cp={$sess}{/if}" target="_blank">{#DOC_DISPLAY_NEW_WINDOW#}</a><br /><br /></li>
|
||||
<li><span class="icon_sprite ico_look floatleft"></span> <a href="../{if $document_id != 1}index.php?id={$document_id}&cp={$sess}{/if}" target="_blank">{#DOC_DISPLAY_NEW_WINDOW#}</a><br /><br /></li>
|
||||
{if $innavi}
|
||||
<li class="navig"><span class="icon_sprite ico_navigation floatleft"></span><a href="javascript:void(0);">{#DOC_INCLUDE_NAVIGATION#}</a><br /><br /></li>
|
||||
{/if}
|
||||
<li><span class="icon_sprite ico_add floatleft"></span> <a href="index.php?do=docs&action=copy&rubric_id={$rubric_id}&Id={$document_id}&cp={$sess}">{#DOC_ADD_COPY_DOCUMENT#}</a><br /></li>
|
||||
<li><span class="icon_sprite ico_add floatleft"></span> <a href="index.php?do=docs&action=new&rubric_id={$rubric_id}&cp={$sess}">{#DOC_ADD_NEW_DOCUMENT#}</a><br /><br /></li>
|
||||
{if $search_query}
|
||||
<li><span class="icon_sprite ico_copy floatleft"></span> <a href="index.php?do=docs&action=redirect&document_id={$document_id}&cp={$sess}">{#DOC_CLOSE_SEARCH_RUBRIC#}</a></li>
|
||||
{/if}
|
||||
<li><span class="icon_sprite ico_copy floatleft"></span> <a href="index.php?do=docs&rubric_id={$rubric_id}&cp={$sess}">{#DOC_CLOSE_WINDOW_RUBRIC#}</a></li>
|
||||
<li><span class="icon_sprite ico_copy floatleft"></span> <a href="index.php?do=docs&cp={$sess}">{#DOC_CLOSE_WINDOW#}</a></li>
|
||||
</ul>
|
||||
|
@ -62,8 +62,10 @@
|
||||
<td></td>
|
||||
<td>
|
||||
{foreach from=$modules item=module}
|
||||
<input type="checkbox" name="perms[]" class="float" value="mod_{$module->ModuleSysName}"{if in_array($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}><label>{$module->ModuleName}</label>
|
||||
{if $module.status == 1 && $module.ModuleIsFunction == 1}
|
||||
<input type="checkbox" name="perms[]" class="float" value="mod_{$module.ModuleSysName}"{if in_array($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}><label>{$module.ModuleName}</label>
|
||||
<div class="clear"></div>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -506,10 +506,10 @@ var AveAdmin = {
|
||||
}
|
||||
});
|
||||
|
||||
setTimeout(function() {
|
||||
AveAdmin.sticky_panel_refresh();
|
||||
}, 1);
|
||||
|
||||
setTimeout(function() {
|
||||
AveAdmin.sticky_panel_refresh();
|
||||
AveAdmin.select_form();
|
||||
}, 10);
|
||||
},
|
||||
|
||||
//Окно очистки кэша + Сессий
|
||||
|
@ -1,300 +1,294 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<head>
|
||||
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
||||
|
||||
<title>{#MAIN_PAGE_TITLE#} - {*#SUB_TITLE#*} ({$smarty.session.user_name|escape})</title>
|
||||
<title>{#MAIN_PAGE_TITLE#} - {*#SUB_TITLE#*} ({$smarty.session.user_name|escape})</title>
|
||||
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta name="generator" content="Notepad" >
|
||||
<meta name="Expires" content="Mon, 06 Jan 1990 00:00:01 GMT">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<meta http-equiv="pragma" content="no-cache">
|
||||
<meta name="generator" content="Notepad" >
|
||||
<meta name="Expires" content="Mon, 06 Jan 1990 00:00:01 GMT">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/vnd.microsoft.icon" href="{$ABS_PATH}admin/admin.favicon.ico">
|
||||
<link rel="SHORTCUT ICON" href="{$ABS_PATH}admin/admin.favicon.ico">
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/vnd.microsoft.icon" href="{$ABS_PATH}admin/admin.favicon.ico">
|
||||
<link rel="SHORTCUT ICON" href="{$ABS_PATH}admin/admin.favicon.ico">
|
||||
|
||||
<!-- CSS Files -->
|
||||
<link href="{$tpl_dir}/css/reset.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/main.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/data_table.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/nestable.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/jquery-ui_custom.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/jquery.fancybox.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/color_{$smarty.const.DEFAULT_THEME_FOLDER_COLOR}.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<!-- CSS Files -->
|
||||
<link href="{$tpl_dir}/css/reset.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/main.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/data_table.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/nestable.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/jquery-ui_custom.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/jquery.fancybox.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<link href="{$tpl_dir}/css/color_{$smarty.const.DEFAULT_THEME_FOLDER_COLOR}.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
|
||||
<!-- JS files -->
|
||||
{include file='scripts.tpl'}
|
||||
<!-- JS files -->
|
||||
{include file='scripts.tpl'}
|
||||
|
||||
<!-- JS Scripts -->
|
||||
<script>
|
||||
var ave_path = "{$ABS_PATH}";
|
||||
var ave_theme = "{$smarty.const.DEFAULT_THEME_FOLDER}";
|
||||
var ave_admintpl = "{$tpl_dir}";
|
||||
</script>
|
||||
<!-- JS Scripts -->
|
||||
<script>
|
||||
var ave_path = "{$ABS_PATH}";
|
||||
var ave_theme = "{$smarty.const.DEFAULT_THEME_FOLDER}";
|
||||
var ave_admintpl = "{$tpl_dir}";
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" language="JavaScript">
|
||||
$(document).ready(function(){ldelim}
|
||||
<script type="text/javascript" language="JavaScript">
|
||||
$(document).ready(function(){ldelim}
|
||||
|
||||
{if $smarty.const.ADMIN_MENU}
|
||||
$("#menu").sticky({ldelim}topSpacing:56{rdelim});
|
||||
{/if}
|
||||
{if $smarty.const.ADMIN_MENU}
|
||||
$("#menu").sticky({ldelim}topSpacing:56{rdelim});
|
||||
{/if}
|
||||
|
||||
{if check_permission('group_edit')}
|
||||
$(".ulAddGroup").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_GROUP#}';
|
||||
var text = '{#MAIN_ADD_NEW_GROUP_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=groups&action=new&cp={$sess}'+ '&user_group_name=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_GROUP#}", {ldelim}theme: 'error'{rdelim});
|
||||
{if check_permission('group_edit')}
|
||||
$(".ulAddGroup").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_GROUP#}';
|
||||
var text = '{#MAIN_ADD_NEW_GROUP_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=groups&action=new&cp={$sess}'+ '&user_group_name=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_GROUP#}", {ldelim}theme: 'error'{rdelim});
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
|
||||
{if check_permission('user_edit')}
|
||||
$(".ulAddUser").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_USER#}';
|
||||
var text = '{#MAIN_ADD_NEW_USER_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=user&action=new&cp={$sess}'+ '&user_name=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_USER#}", {ldelim}theme: 'error'{rdelim});
|
||||
{if check_permission('user_edit')}
|
||||
$(".ulAddUser").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_USER#}';
|
||||
var text = '{#MAIN_ADD_NEW_USER_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=user&action=new&cp={$sess}'+ '&user_name=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_USER#}", {ldelim}theme: 'error'{rdelim});
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
|
||||
{if check_permission('navigation_edit')}
|
||||
$(".ulAddNav").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_NAV#}';
|
||||
var text = '{#MAIN_ADD_NEW_NAV_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=navigation&action=new&cp={$sess}'+ '&NaviName=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_NAV#}", {ldelim}theme: 'error'{rdelim});
|
||||
{if check_permission('navigation_edit')}
|
||||
$(".ulAddNav").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_NAV#}';
|
||||
var text = '{#MAIN_ADD_NEW_NAV_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=navigation&action=new&cp={$sess}'+ '&NaviName=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_NAV#}", {ldelim}theme: 'error'{rdelim});
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
|
||||
{if check_permission('template_edit')}
|
||||
$(".ulAddTempl").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_TEMPL#}';
|
||||
var text = '{#MAIN_ADD_NEW_TEMPL_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=templates&action=new&cp={$sess}'+ '&TempName=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_TEMPL#}", {ldelim}theme: 'error'{rdelim});
|
||||
{if check_permission('template_edit')}
|
||||
$(".ulAddTempl").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_TEMPL#}';
|
||||
var text = '{#MAIN_ADD_NEW_TEMPL_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=templates&action=new&cp={$sess}'+ '&TempName=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_TEMPL#}", {ldelim}theme: 'error'{rdelim});
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
|
||||
{if check_permission('request_edit')}
|
||||
$(".ulAddRequest").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_REQUEST#}';
|
||||
var text = '{#MAIN_ADD_NEW_REQUEST_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=request&action=new&cp={$sess}'+ '&request_title_new=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_QUERY#}", {ldelim}theme: 'error'{rdelim});
|
||||
{if check_permission('request_edit')}
|
||||
$(".ulAddRequest").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_REQUEST#}';
|
||||
var text = '{#MAIN_ADD_NEW_REQUEST_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=request&action=new&cp={$sess}'+ '&request_title_new=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_QUERY#}", {ldelim}theme: 'error'{rdelim});
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
|
||||
{if check_permission('rubric_edit')}
|
||||
$(".ulAddRub").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_RUB#}';
|
||||
var text = '{#MAIN_ADD_NEW_RUB_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=rubs&action=new&cp={$sess}'+ '&rubric_title=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_RUB#}", {ldelim}theme: 'error'{rdelim});
|
||||
{if check_permission('rubric_edit')}
|
||||
$(".ulAddRub").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_RUB#}';
|
||||
var text = '{#MAIN_ADD_NEW_RUB_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=rubs&action=new&cp={$sess}'+ '&rubric_title=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_RUB#}", {ldelim}theme: 'error'{rdelim});
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
|
||||
{if check_permission('sysblocks_edit')}
|
||||
$(".ulAddBlock").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_BLOCK#}';
|
||||
var text = '{#MAIN_ADD_NEW_BLOCK_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=sysblocks&action=new&cp={$sess}'+ '&sysblock_name=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_BLOCK#}", {ldelim}theme: 'error'{rdelim});
|
||||
{if check_permission('sysblocks_edit')}
|
||||
$(".ulAddBlock").click( function(e) {ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#MAIN_ADD_NEW_BLOCK#}';
|
||||
var text = '{#MAIN_ADD_NEW_BLOCK_NAME#}';
|
||||
jPrompt(text, '', title, function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.alerts._overlay('show');
|
||||
window.location = ave_path+'admin/index.php?do=sysblocks&action=new&cp={$sess}'+ '&sysblock_name=' + b;
|
||||
{rdelim}else{ldelim}
|
||||
$.jGrowl("{#MAIN_NO_ADD_BLOCK#}", {ldelim}theme: 'error'{rdelim});
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
);
|
||||
);
|
||||
{rdelim});
|
||||
{/if}
|
||||
|
||||
{rdelim});
|
||||
{/if}
|
||||
</script>
|
||||
|
||||
{rdelim});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<body>
|
||||
<div id="leftNav_show">
|
||||
<a href="javascript:void(0);" id="toggle-LeftMenu"><span class="rightDir {if $smarty.cookies.LeftMenu != "hidden"}close{/if}" title="{#MAIN_SHOWHIDE#}"></span></a>
|
||||
</div>
|
||||
|
||||
<div id="leftNav_show">
|
||||
<a href="javascript:void(0);" id="toggle-LeftMenu"><span class="rightDir {if $smarty.cookies.LeftMenu != "hidden"}close{/if}" title="{#MAIN_SHOWHIDE#}"></span></a>
|
||||
</div>
|
||||
|
||||
<!-- Top Menu -->
|
||||
<div id="topNav">
|
||||
<div class="fixed">
|
||||
<div class="wrapper">
|
||||
<div class="welcome">
|
||||
{if $user_avatar}
|
||||
<img src="{$user_avatar}" class="avatar" alt="{$smarty.session.user_name|escape}" />
|
||||
{else}
|
||||
<img src="{$tpl_dir}/images/userPic.png" class="avatar" alt="" />
|
||||
{/if}
|
||||
<span>{#MAIN_USER_ONLINE#} <strong>{$smarty.session.user_name|escape}</strong></span>
|
||||
</div>
|
||||
<div class="userNav">
|
||||
<ul>
|
||||
{if check_permission('documents_edit') || check_permission('rubric_edit') || check_permission('request_edit') || check_permission('sysblocks_edit') || check_permission('template_edit') || check_permission('navigation_edit') || check_permission('user_edit') || check_permission('group_edit')}
|
||||
<li class="dropdown"><a title=""><img src="{$tpl_dir}/images/icons/add.png" alt="" /><span>{#MAIN_BUTTON_ADD#}</span></a>
|
||||
<ul>
|
||||
{if check_permission('documents_edit')}<li><a onclick="windowOpen('index.php?do=docs&action=add_new&pop=1&cp={$sess}','750','500','1')" href="javascript:void(0);">{#MAIN_ADD_DOC#}</a></li>{/if}
|
||||
{if check_permission('rubric_edit')}<li><a class="ulAddRub" href="index.php?do=rubs&action=new&cp={$sess}">{#MAIN_ADD_RUB#}</a></li>{/if}
|
||||
{if check_permission('request_edit')}<li><a class="ulAddRequest" href="index.php?do=request&action=new&cp={$sess}">{#MAIN_ADD_REQ#}</a></li>{/if}
|
||||
{if check_permission('sysblocks_edit')}<li><a class="ulAddBlock" href="index.php?do=sysblocks&action=new&cp={$sess}">{#MAIN_ADD_SYS#}</a></li>{/if}
|
||||
{if check_permission('template_edit')}<li><a class="ulAddTempl" href="index.php?do=templates&action=new&cp={$sess}">{#MAIN_ADD_TEM#}</a></li>{/if}
|
||||
{if check_permission('navigation_edit')}<li><a class="ulAddNav" href="index.php?do=navigation&action=new&cp={$sess}">{#MAIN_ADD_NAV#}</a></li>{/if}
|
||||
{if check_permission('user_edit')}<li><a class="ulAddUser" href="index.php?do=user&action=new&cp={$sess}">{#MAIN_ADD_USR#}</a></li>{/if}
|
||||
{if check_permission('group_edit')}<li><a class="ulAddGroup" href="index.php?do=groups&action=new&cp={$sess}">{#MAIN_ADD_GRP#}</a></li>{/if}
|
||||
</ul>
|
||||
</li>
|
||||
<!-- Top Menu -->
|
||||
<div id="topNav">
|
||||
<div class="fixed">
|
||||
<div class="wrapper">
|
||||
<div class="welcome">
|
||||
{if $user_avatar}
|
||||
<img src="{$user_avatar}" class="avatar" alt="{$smarty.session.user_name|escape}" />
|
||||
{else}
|
||||
<img src="{$tpl_dir}/images/userPic.png" class="avatar" alt="" />
|
||||
{/if}
|
||||
|
||||
<li class="dropdown dd_page" {if $smarty.cookies.LeftMenu == "visible"}style="display: none;"{/if}><a title=""><img src="{$tpl_dir}/images/icons/tasks.png" alt="" /><span>{#MAIN_BRANCHES#}</span></a>
|
||||
<ul class="menu_page">
|
||||
{$navi_top}
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
{*
|
||||
<li><img src="{$tpl_dir}/images/icons/messages.png" alt="" /><span>Messages</span><span class="numberTop">8</span></li>
|
||||
*}
|
||||
{if check_permission('modules_view')}
|
||||
{if $modules}
|
||||
<li class="dropdown"><a title=""><img src="{$tpl_dir}/images/icons/subInbox.png" alt="" /><span>{#MAIN_LINK_MODULES_H#}</span></a>
|
||||
{if $modules && check_permission('modules_view')}
|
||||
<ul>
|
||||
{foreach from=$modules item=modul}
|
||||
<li><a href="index.php?do=modules&action=modedit&mod={$modul->ModuleSysName}&moduleaction=1&cp={$sess}">{$modul->ModuleName}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
<span>{#MAIN_USER_ONLINE#} <strong>{$smarty.session.user_name|escape}</strong></span>
|
||||
</div>
|
||||
<div class="userNav">
|
||||
<ul>
|
||||
{if $smarty.const.ADMIN_MENU_QUICK_ADD}
|
||||
<li class="dropdown"><a title=""><img src="{$tpl_dir}/images/icons/add.png" alt="" /><span>{#MAIN_BUTTON_ADD#}</span></a>
|
||||
<ul>
|
||||
{if check_permission('documents_edit')}<li><a onclick="windowOpen('index.php?do=docs&action=add_new&pop=1&cp={$sess}','750','500','1')" href="javascript:void(0);">{#MAIN_ADD_DOC#}</a></li>{/if}
|
||||
{if check_permission('rubric_edit')}<li><a class="ulAddRub" href="index.php?do=rubs&action=new&cp={$sess}">{#MAIN_ADD_RUB#}</a></li>{/if}
|
||||
{if check_permission('request_edit')}<li><a class="ulAddRequest" href="index.php?do=request&action=new&cp={$sess}">{#MAIN_ADD_REQ#}</a></li>{/if}
|
||||
{if check_permission('sysblocks_edit')}<li><a class="ulAddBlock" href="index.php?do=sysblocks&action=new&cp={$sess}">{#MAIN_ADD_SYS#}</a></li>{/if}
|
||||
{if check_permission('template_edit')}<li><a class="ulAddTempl" href="index.php?do=templates&action=new&cp={$sess}">{#MAIN_ADD_TEM#}</a></li>{/if}
|
||||
{if check_permission('navigation_edit')}<li><a class="ulAddNav" href="index.php?do=navigation&action=new&cp={$sess}">{#MAIN_ADD_NAV#}</a></li>{/if}
|
||||
{if check_permission('user_edit')}<li><a class="ulAddUser" href="index.php?do=user&action=new&cp={$sess}">{#MAIN_ADD_USR#}</a></li>{/if}
|
||||
{if check_permission('group_edit')}<li><a class="ulAddGroup" href="index.php?do=groups&action=new&cp={$sess}">{#MAIN_ADD_GRP#}</a></li>{/if}
|
||||
</ul>
|
||||
</li>
|
||||
{/if}
|
||||
</li>
|
||||
{/if}
|
||||
{/if}
|
||||
{if check_permission('gen_settings') || check_permission('gen_settings_more') || check_permission('dbactions') || check_permission('gen_settings_countries') || check_permission('gen_settings_languages') }
|
||||
<li class="dropdown"><a title=""><img src="{$tpl_dir}/images/icons/settings.png" alt="" /><span>{#MAIN_LINK_SETTINGS_H#}</span></a>
|
||||
<ul>
|
||||
{if check_permission('gen_settings')}<li><a href="index.php?do=settings&cp={$sess}">{#MAIN_SETTINGS_EDIT_1#}</a></li>{/if}
|
||||
{if check_permission('gen_settings_more')}<li><a href="index.php?do=settings&sub=case&cp={$sess}">{#MAIN_SETTINGS_EDIT_2#}</a></li>{/if}
|
||||
{if check_permission('gen_settings_countries')}<li><a href="index.php?do=settings&sub=countries&cp={$sess}">{#MAIN_SETTINGS_EDIT_3#}</a></li>{/if}
|
||||
{if check_permission('gen_settings_languages')}<li><a href="index.php?do=settings&sub=language&cp={$sess}">{#MAIN_LINK_LANG#}</a></li>{/if}
|
||||
{if check_permission('db_actions')}<li><a href="index.php?do=dbsettings&action=dump_top&cp={$sess}">{#MAIN_SETTINGS_EDIT_4#}</a></li>{/if}
|
||||
</ul>
|
||||
</li>
|
||||
{/if}
|
||||
{if check_permission('cache_clear')}<li><a href="javascript:void(0);" class="clearCache" title="{#MAIN_STAT_CLEAR_CACHE#}"><img src="{$tpl_dir}/images/icons/subTrash.png" alt="" /><span>{#MAIN_STAT_CLEAR_CACHE#}</span></a></li>{/if}
|
||||
{*
|
||||
<li><a href="#" title="{#MAIN_LOGIN_HELP#}"><img src="{$tpl_dir}/images/icons/help.png" alt="" /><span>{#MAIN_LOGIN_HELP#}</span></a></li>
|
||||
*}
|
||||
<li>
|
||||
<a href="../" title="{#MAIN_LINK_SITE#}" target="_blank"><img src="{$tpl_dir}/images/icons/preview.png" alt="" /><span>{#MAIN_LINK_SITE#}</span></a>
|
||||
</li>
|
||||
<li><a href="admin.php?do=logout" class="ConfirmLogOut" title="{#MAIN_BUTTON_LOGOUT#}"><img src="{$tpl_dir}/images/icons/logout.png" alt="" /><span>{#MAIN_BUTTON_LOGOUT#}</span></a></li>
|
||||
</ul>
|
||||
|
||||
<li class="dropdown dd_page" {if $smarty.cookies.LeftMenu == "visible"}style="display: none;"{/if}>
|
||||
<a title=""><img src="{$tpl_dir}/images/icons/tasks.png" alt="" /><span>{#MAIN_BRANCHES#}</span></a>
|
||||
<ul class="menu_page">
|
||||
{$navi_top}
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
{if check_permission('modules_view')}
|
||||
{if $modules}
|
||||
<li class="dropdown"><a title=""><img src="{$tpl_dir}/images/icons/subInbox.png" alt="" /><span>{#MAIN_LINK_MODULES_H#}</span></a>
|
||||
{if $modules && check_permission('modules_view')}
|
||||
<ul>
|
||||
{foreach from=$modules item=module}
|
||||
<li><a href="index.php?do=modules&action=modedit&mod={$module.ModuleSysName}&moduleaction=1&cp={$sess}">{$module.ModuleName}</a></li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
</li>
|
||||
{/if}
|
||||
{/if}
|
||||
{if check_permission('gen_settings') || check_permission('gen_settings_more') || check_permission('dbactions') || check_permission('gen_settings_countries') || check_permission('gen_settings_languages') }
|
||||
<li class="dropdown"><a title=""><img src="{$tpl_dir}/images/icons/settings.png" alt="" /><span>{#MAIN_LINK_SETTINGS_H#}</span></a>
|
||||
<ul>
|
||||
{if check_permission('gen_settings')}<li><a href="index.php?do=settings&cp={$sess}">{#MAIN_SETTINGS_EDIT_1#}</a></li>{/if}
|
||||
{if check_permission('gen_settings_more')}<li><a href="index.php?do=settings&sub=case&cp={$sess}">{#MAIN_SETTINGS_EDIT_2#}</a></li>{/if}
|
||||
{if check_permission('gen_settings_countries')}<li><a href="index.php?do=settings&sub=countries&cp={$sess}">{#MAIN_SETTINGS_EDIT_3#}</a></li>{/if}
|
||||
{if check_permission('gen_settings_languages')}<li><a href="index.php?do=settings&sub=language&cp={$sess}">{#MAIN_LINK_LANG#}</a></li>{/if}
|
||||
{if check_permission('db_actions')}<li><a href="index.php?do=dbsettings&action=dump_top&cp={$sess}">{#MAIN_SETTINGS_EDIT_4#}</a></li>{/if}
|
||||
</ul>
|
||||
</li>
|
||||
{/if}
|
||||
{if check_permission('cache_clear')}<li><a href="javascript:void(0);" class="clearCache" title="{#MAIN_STAT_CLEAR_CACHE#}"><img src="{$tpl_dir}/images/icons/subTrash.png" alt="" /><span>{#MAIN_STAT_CLEAR_CACHE#}</span></a></li>{/if}
|
||||
{*
|
||||
<li><a href="#" title="{#MAIN_LOGIN_HELP#}"><img src="{$tpl_dir}/images/icons/help.png" alt="" /><span>{#MAIN_LOGIN_HELP#}</span></a></li>
|
||||
*}
|
||||
<li>
|
||||
<a href="../" title="{#MAIN_LINK_SITE#}" target="_blank"><img src="{$tpl_dir}/images/icons/preview.png" alt="" /><span>{#MAIN_LINK_SITE#}</span></a>
|
||||
</li>
|
||||
<li><a href="admin.php?do=logout" class="ConfirmLogOut" title="{#MAIN_BUTTON_LOGOUT#}"><img src="{$tpl_dir}/images/icons/logout.png" alt="" /><span>{#MAIN_BUTTON_LOGOUT#}</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="fix"></div>
|
||||
</div>
|
||||
<div class="fix"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Header -->
|
||||
<div id="header" class="wrapper">
|
||||
<!-- <div class="logo"><a href="index.php" class="box"></a></div> -->
|
||||
<div class="fix"></div>
|
||||
</div>
|
||||
|
||||
<!-- Wrapper -->
|
||||
<div class="wrapper">
|
||||
|
||||
<!-- Left navigation -->
|
||||
<div class="leftNav {if $smarty.cookies.LeftMenu == "hidden"}hidden{/if}">
|
||||
{*<div class="logo"><a href="index.php" class="box"></a></div>*}
|
||||
|
||||
<ul id="menu">
|
||||
<li><a href="index.php" {if $smarty.request.do == ''}class="active collapse-close"{/if}><span>{#MAIN_LINK_HOME#}</span></a></li>
|
||||
{$navi}
|
||||
</ul>
|
||||
<!-- Header -->
|
||||
<div id="header" class="wrapper">
|
||||
<div class="fix"></div>
|
||||
</div>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="content" id="contentPage">
|
||||
{$content}
|
||||
</div>
|
||||
|
||||
<div class="fix"></div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Footer -->
|
||||
<div id="footer">
|
||||
<!-- Wrapper -->
|
||||
<div class="wrapper">
|
||||
<span class="floatleft">{#oficial_site#}: {$smarty.const.APP_INFO}</span>
|
||||
<span class="floatleft ml20">{#support#}: <a href="mailto:support@ave-cms.ru">support@ave-cms.ru</a></span>
|
||||
<span class="floatright">{$smarty.const.APP_NAME} v{$smarty.const.APP_VERSION}</span>
|
||||
|
||||
<!-- Left navigation -->
|
||||
<div class="leftNav {if $smarty.cookies.LeftMenu == "hidden"}hidden{/if}">
|
||||
<ul id="menu">
|
||||
<li><a href="index.php" {if $smarty.request.do == ''}class="active collapse-close"{/if}><span>{#MAIN_LINK_HOME#}</span></a></li>
|
||||
{$navi}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="content" id="contentPage">
|
||||
{$content}
|
||||
</div>
|
||||
|
||||
<div class="fix"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript" src="{$ABS_PATH}admin/lang/{$smarty.session.admin_language}/scripts.js"></script>
|
||||
<script src="{$tpl_dir}/js/main.js" type="text/javascript"></script>
|
||||
<!-- Footer -->
|
||||
<div id="footer">
|
||||
<div class="wrapper">
|
||||
<span class="floatleft">{#oficial_site#}: {$smarty.const.APP_INFO}</span>
|
||||
<span class="floatleft ml20">{#support#}: <a href="mailto:support@ave-cms.ru">support@ave-cms.ru</a></span>
|
||||
<span class="floatright">{$smarty.const.APP_NAME} v{$smarty.const.APP_VERSION}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
<script type="text/javascript" src="{$ABS_PATH}admin/lang/{$smarty.session.admin_language}/scripts.js"></script>
|
||||
<script src="{$tpl_dir}/js/main.js" type="text/javascript"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
136
admin/templates/rubs/_field_code.tpl
Executable file
136
admin/templates/rubs/_field_code.tpl
Executable file
@ -0,0 +1,136 @@
|
||||
<div class="title">
|
||||
<h5>{#RUBRIK_FIELDS_TEMPLATES_H2#}</h5>
|
||||
</div>
|
||||
|
||||
<div class="breadCrumbHolder module">
|
||||
<div class="breadCrumb module">
|
||||
<ul>
|
||||
<li class="firstB"><a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a></li>
|
||||
<li><a href="index.php?do=modules&cp={$sess}">{#MODULES_SUB_TITLE#}</a></li>
|
||||
<li><a href="index.php?do=modules&action=modedit&mod=fieldsmanager&moduleaction=1&cp={$sess}">Управление полями</a></li>
|
||||
{if $params.id}
|
||||
<li><strong>{#RUBRIK_FIELDS_EDIT_RUBRIC#}</strong> > {$params.field.rubric_title}</li>
|
||||
<li><strong>{#RUBRIK_FIELDS_EDIT_FIELD#}</strong> > {$params.field.rubric_field_title}</li>
|
||||
{/if}
|
||||
<li><strong>{#RUBRIK_FIELDS_EDIT_TYPE#}</strong> > {$main.name} {if $params.id}(id: {$params.id}){/if}</li>
|
||||
<li>
|
||||
<strong class="code">
|
||||
{if $params.type == 'adm'}
|
||||
{#RUBRIK_FIELDS_EDIT_TPL_ADM#}
|
||||
{elseif $params.type == 'doc'}
|
||||
{#RUBRIK_FIELDS_EDIT_TPL_DOC#}{
|
||||
elseif $params.type == 'req'}
|
||||
{#RUBRIK_FIELDS_EDIT_TPL_REQ#}
|
||||
{/if}
|
||||
</strong>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{if $code_text}
|
||||
<form id="code_templ" method="post" action="index.php?do=rubs&action=ftsave&cp={$sess}" class="mainForm">
|
||||
|
||||
<div class="widget first">
|
||||
<div class="head">
|
||||
<h5 class="iFrames">{if $params.func == 'new'}{#RUBRIK_FIELDS_EDIT_TPL_CREAT#}{else}{#RUBRIK_FIELDS_EDIT_TPL_EDIT#}{/if}</h5>
|
||||
</div>
|
||||
|
||||
<div class="rowElem" style="padding: 0">
|
||||
<textarea id="code_text" name="code_text">{$code_text|escape}</textarea>
|
||||
<div class="fix"></div>
|
||||
</div>
|
||||
|
||||
<div class="rowElem">
|
||||
<button class="basicBtn SaveButton">{#RUBRIK_ALIAS_BUTT#}</button>
|
||||
|
||||
<a href="javascript:void(0);" class="button redBtn Close">{#RUBRIK_BUTTON_TPL_CLOSE#}</a>
|
||||
<div class="fix"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="func" value="{$params.func}" />
|
||||
{if $params.id}
|
||||
<input type="hidden" name="field_id" value="{$params.id}" />
|
||||
{/if}
|
||||
<input type="hidden" name="field_name" value="{$params.fld}" />
|
||||
<input type="hidden" name="field_type" value="{$params.type}" />
|
||||
|
||||
</form>
|
||||
|
||||
{include file="$codemirror_editor" conn_id="ftpl" textarea_id='code_text' ctrls='$("#code_templ").ajaxSubmit(sett_options);' height=400}
|
||||
|
||||
<script language="javascript">
|
||||
$(document).ready(function(){ldelim}
|
||||
|
||||
$(".SaveButton").on('click', function(event){ldelim}
|
||||
event.preventDefault();
|
||||
$("#code_templ").ajaxSubmit({ldelim}
|
||||
url: 'index.php?do=rubs&action=ftsave&cp={$sess}',
|
||||
dataType: 'json',
|
||||
beforeSubmit: function(){ldelim}
|
||||
$.alerts._overlay('show');
|
||||
{rdelim},
|
||||
success: function(data){ldelim}
|
||||
$.jGrowl(data['message'], {ldelim}
|
||||
header: data['header'],
|
||||
theme: data['theme']
|
||||
{rdelim});
|
||||
$.alerts._overlay('hide');
|
||||
|
||||
{if $params.func == 'new'}
|
||||
var html =
|
||||
'<a data-dialog="rft-{$params.id}" href="index.php?do=rubs&action=ftedit&rubric_id={$smarty.request.rubric_id}&id={$params.id}&fld={$params.fld}&type={$params.type}&cp={$sess}&pop=1&onlycontent=1" data-height="650" data-modal="true" class="openDialog">{#RUBRIC_TMPLS_EDIT#}</a>'
|
||||
+ '<br />'
|
||||
+ '<a href="index.php?do=rubs&action=ftdelete&rubric_id={$smarty.request.rubric_id}&id={$params.id}&fld={$params.fld}&type={$params.type}&cp={$sess}" class="link">{#RUBRIC_TMPLS_DELETE#}</a>'
|
||||
;
|
||||
|
||||
$('#{$params.type}_{$params.fld}_{$params.id}').html(html);
|
||||
$('a.openDialog').off();
|
||||
AveAdmin.modalDialog();
|
||||
{/if}
|
||||
|
||||
$('#ajax-dialog-rft-{if $params.id}{$params.id}{else}{$params.fld}{/if}').dialog('destroy').remove();
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
return false;
|
||||
{rdelim});
|
||||
|
||||
$(".Close").on('click', function(event){ldelim}
|
||||
event.preventDefault();
|
||||
$('#ajax-dialog-rft-{if $params.id}{$params.id}{else}{$params.fld}{/if}').dialog('destroy').remove();
|
||||
return false;
|
||||
{rdelim});
|
||||
|
||||
{literal}
|
||||
setTimeout(function(){editorftpl.refresh();}, 20);
|
||||
{/literal}
|
||||
|
||||
{rdelim});
|
||||
</script>
|
||||
|
||||
{else}
|
||||
|
||||
<div class="widget first">
|
||||
<div class="head">
|
||||
<h5 class="iFrames">
|
||||
{$main.name} -
|
||||
{if $params.type == 'adm'}
|
||||
{#RUBRIK_FIELDS_EDIT_TPL_ADM#}
|
||||
{elseif $params.type == 'doc'}
|
||||
{#RUBRIK_FIELDS_EDIT_TPL_DOC#}{
|
||||
elseif $params.type == 'req'}
|
||||
{#RUBRIK_FIELDS_EDIT_TPL_REQ#}
|
||||
{/if}
|
||||
</h5>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<ul class="messages first">
|
||||
<li class="highlight red">
|
||||
<strong>{#RUBRIK_FIELDS_EDIT_NO_TPL#}</strong>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
{/if}
|
142
admin/templates/rubs/_field_list.tpl
Executable file
142
admin/templates/rubs/_field_list.tpl
Executable file
@ -0,0 +1,142 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
var sess = '{$sess}';
|
||||
</script>
|
||||
|
||||
<div class="title">
|
||||
<h5>{#RUBRIK_FIELDS_TEMPLATES_H2#}</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget" style="margin-top: 0px;">
|
||||
<div class="body">
|
||||
<ul style="list-style: square; margin-left:15px;">
|
||||
<li>{#RUBRIK_FIELDS_TEMPLATES_T1#}</li>
|
||||
<li>{#RUBRIK_FIELDS_TEMPLATES_T2#}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="first tableButtons" cellpadding="0" cellspacing="0" width="100%" id="rubricButtons">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=edit&Id={$smarty.request.rubric_id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FIELDS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=fieldsgroups&Id={$smarty.request.rubric_id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FGROUPS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=template&Id={$smarty.request.rubric_id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_TEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=code&Id={$smarty.request.rubric_id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_CODE#}</a>
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=rules&Id={$smarty.request.rubric_id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_RULES#}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="breadCrumbHolder module">
|
||||
<div class="breadCrumb module">
|
||||
<ul>
|
||||
<li class="firstB">
|
||||
<a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="index.php?do=rubs&cp={$sess}">{#RUBRIK_SUB_TITLE#}</a>
|
||||
</li>
|
||||
<li>{#RUBRIK_FIELDS_TEMPLATES_H1#}</li>
|
||||
<li><strong class="code">{$rubric->rubric_title}</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{foreach from=$rubrics item=rubric}
|
||||
<div class="widget">
|
||||
<div class="head">
|
||||
<h5>{$main.name} ({$main.id})</h5>
|
||||
<div class="num">
|
||||
<a class="basicNum" href="index.php?do=rubs&action=ftlist&Id={$smarty.request.rubric_id}&cp={$sess}">{#RUBRIK_FIELDS_TEMPLATES_BACK#}</a>
|
||||
</div>
|
||||
</div>
|
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm">
|
||||
<col width="10" />
|
||||
<col />
|
||||
<col width="100" />
|
||||
<col width="100" />
|
||||
<col width="100" />
|
||||
<col width="80" />
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan="1" rowspan="2">Id</td>
|
||||
<td colspan="1" rowspan="2">{#RUBRIK_FIELDS_TEMPLATES_FNAME#}</td>
|
||||
<td colspan="3" rowspan="1">{#RUBRIK_FIELDS_TEMPLATES_FTEMPL#}</td>
|
||||
<td colspan="1" rowspan="2">{#RUBRIK_FIELDS_TEMPLATES_DB#}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border-left: solid 1px #C7D6E6 !important;">{#RUBRIK_FIELDS_TEMPLATES_PANEL#}</td>
|
||||
<td>{#RUBRIK_FIELDS_TEMPLATES_DOC#}</td>
|
||||
<td>{#RUBRIK_FIELDS_TEMPLATES_REQ#}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$rubric.fields item=field}
|
||||
<tr class="center">
|
||||
<td align="center">{$field.id}</td>
|
||||
<td><strong>{$field.title}</strong></td>
|
||||
<td align="center" id="adm_{$main.id}_{$field.id}">
|
||||
{if $field.adm_main}
|
||||
{if $field.adm_tpl}
|
||||
<a data-dialog="rft-{$field.id}" href="index.php?do=rubs&action=ftedit&rubric_id={$smarty.request.rubric_id}&id={$field.id}&fld={$main.id}&type=adm&cp={$sess}&pop=1&onlycontent=1" data-height="650" data-modal="true" class="openDialog">{#RUBRIC_TMPLS_EDIT#}</a>
|
||||
<br />
|
||||
<a href="index.php?do=rubs&action=ftdelete&rubric_id={$smarty.request.rubric_id}&id={$field.id}&fld={$main.id}&type=adm&cp={$sess}" class="link">{#RUBRIC_TMPLS_DELETE#}</a>
|
||||
{else}
|
||||
<a data-dialog="rft-{$field.id}" href="index.php?do=rubs&action=ftcreate&rubric_id={$smarty.request.rubric_id}&id={$field.id}&fld={$main.id}&type=adm&cp={$sess}&pop=1&onlycontent=1" data-height="650" data-modal="true" class="openDialog">{#RUBRIC_TMPLS_CREAT#}</a>
|
||||
{/if}
|
||||
{else}
|
||||
<small>{#RUBRIK_FIELDS_NO_TEMPLATES#}</small>
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" id="doc_{$main.id}_{$field.id}">
|
||||
{if $field.doc_main}
|
||||
{if $field.doc_tpl}
|
||||
<a data-dialog="rft-{$field.id}" href="index.php?do=rubs&action=ftedit&rubric_id={$smarty.request.rubric_id}&id={$field.id}&fld={$main.id}&type=doc&cp={$sess}&pop=1&onlycontent=1" data-height="650" data-modal="true" class="openDialog">{#RUBRIC_TMPLS_EDIT#}</a>
|
||||
<br />
|
||||
<a href="index.php?do=rubs&action=ftdelete&rubric_id={$smarty.request.rubric_id}&id={$field.id}&fld={$main.id}&type=doc&cp={$sess}" class="link">{#RUBRIC_TMPLS_DELETE#}</a>
|
||||
{else}
|
||||
<a data-dialog="rft-{$field.id}" href="index.php?do=rubs&action=ftcreate&rubric_id={$smarty.request.rubric_id}&id={$field.id}&fld={$main.id}&type=doc&cp={$sess}&pop=1&onlycontent=1" data-height="650" data-modal="true" class="openDialog">{#RUBRIC_TMPLS_CREAT#}</a>
|
||||
{/if}
|
||||
{else}
|
||||
<small>{#RUBRIK_FIELDS_NO_TEMPLATES#}</small>
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" id="req_{$main.id}_{$field.id}">
|
||||
{if $field.req_main}
|
||||
{if $field.req_tpl}
|
||||
<a data-dialog="rft-{$field.id}" href="index.php?do=rubs&action=ftedit&rubric_id={$smarty.request.rubric_id}&id={$field.id}&fld={$main.id}&type=req&cp={$sess}&pop=1&onlycontent=1" data-height="650" data-modal="true" class="openDialog">{#RUBRIC_TMPLS_EDIT#}</a>
|
||||
<br />
|
||||
<a href="index.php?do=rubs&action=ftdelete&rubric_id={$smarty.request.rubric_id}&id={$field.id}&fld={$main.id}&type=req&cp={$sess}" class="link">{#RUBRIC_TMPLS_DELETE#}</a>
|
||||
{else}
|
||||
<a data-dialog="rft-{$field.id}" href="index.php?do=rubs&action=ftcreate&rubric_id={$smarty.request.rubric_id}&id={$field.id}&fld={$main.id}&type=req&cp={$sess}&pop=1&onlycontent=1" data-height="650" data-modal="true" class="openDialog">{#RUBRIC_TMPLS_CREAT#}</a>
|
||||
{/if}
|
||||
{else}
|
||||
<small>{#RUBRIK_FIELDS_NO_TEMPLATES#}</small>
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center">
|
||||
<a data-dialog="rft-{$field.id}" title="{#RUBRIK_FILED_TEMPLATE_H#}" href="index.php?do=rubs&action=field_template&field_id={$field.id}&rubric_id={$rubric.rubric_id}&cp={$sess}&pop=1&onlycontent=1" data-height="700" data-modal="true" data-title="{#RUBRIK_FILED_TEMPLATE_H#}" class="openDialog icon_sprite ico_template topleftDir"></a>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{/foreach}
|
||||
|
||||
{include file="$codemirror_connect"}
|
136
admin/templates/rubs/_fields_list.tpl
Executable file
136
admin/templates/rubs/_fields_list.tpl
Executable file
@ -0,0 +1,136 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
var sess = '{$sess}';
|
||||
</script>
|
||||
|
||||
<div class="title">
|
||||
<h5>{#RUBRIK_FIELDS_TEMPLATES_H2#}</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget" style="margin-top: 0px;">
|
||||
<div class="body">
|
||||
<ul style="list-style: square; margin-left:15px;">
|
||||
<li>{#RUBRIK_FIELDS_TEMPLATES_T1#}</li>
|
||||
<li>{#RUBRIK_FIELDS_TEMPLATES_T2#}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="first tableButtons" cellpadding="0" cellspacing="0" width="100%" id="rubricButtons">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FIELDS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=fieldsgroups&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FGROUPS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=template&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_TEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_CODE#}</a>
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=rules&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_RULES#}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="breadCrumbHolder module">
|
||||
<div class="breadCrumb module">
|
||||
<ul>
|
||||
<li class="firstB">
|
||||
<a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="index.php?do=rubs&cp={$sess}">{#RUBRIK_SUB_TITLE#}</a>
|
||||
</li>
|
||||
<li>{#RUBRIK_FIELDS_TEMPLATES_H1#}</li>
|
||||
<li><strong class="code">{$rubric->rubric_title}</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="widget">
|
||||
<div class="head">
|
||||
<h5>{#RUBRIK_FIELDS_TEMPLATES_LIST#}</h5>
|
||||
</div>
|
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic mainForm">
|
||||
|
||||
<col />
|
||||
<col width="100" />
|
||||
<col width="100" />
|
||||
<col width="100" />
|
||||
<col width="80" />
|
||||
<col width="100" />
|
||||
<col width="80" />
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="1" rowspan="2">{#RUBRIK_FIELDS_TEMPLATES_FNAME#}</td>
|
||||
<td colspan="1" rowspan="2">{#RUBRIK_FIELDS_TEMPLATES_FFUNC#}</td>
|
||||
<td colspan="3" rowspan="1">{#RUBRIK_FIELDS_TEMPLATES_FTEMP#}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border-left: solid 1px #C7D6E6 !important;">{#RUBRIK_FIELDS_TEMPLATES_PANEL#}</td>
|
||||
<td>{#RUBRIK_FIELDS_TEMPLATES_DOC#}</td>
|
||||
<td>{#RUBRIK_FIELDS_TEMPLATES_REQ#}</td>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$fields item=field key=number}
|
||||
{if in_array($field.id, $enable)}
|
||||
<tr>
|
||||
<td>
|
||||
<strong><a class="link" href="index.php?do=rubs&action=ftshowfield&rubric_id={$smarty.request.Id}&type={$field.id}&cp={$sess}">{$field.name}</a></strong>
|
||||
</td>
|
||||
|
||||
<td class="date_text dgrey" align="center">
|
||||
{$field.id}
|
||||
</td>
|
||||
|
||||
<td align="center">
|
||||
{foreach from=$exists item=exist key=key}
|
||||
{if $field.id == $key}
|
||||
{if $exist.adm}
|
||||
<a data-dialog="rft-{$field.id}" href="index.php?do=rubs&action=ftempledit&rubric_id={$smarty.request.Id}&fld={$field.id}&type=adm&cp={$sess}&pop=1&onlycontent=1" data-height="650" data-modal="true" class="openDialog">{#RUBRIC_TMPLS_EDIT#}</a>
|
||||
{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
<td align="center">
|
||||
{foreach from=$exists item=exist key=key}
|
||||
{if $field.id == $key}
|
||||
{if $exist.doc}
|
||||
<a data-dialog="rft-{$field.id}" href="index.php?do=rubs&action=ftempledit&rubric_id={$smarty.request.Id}&fld={$field.id}&type=doc&cp={$sess}&pop=1&onlycontent=1" data-height="650" data-modal="true" class="openDialog">{#RUBRIC_TMPLS_EDIT#}</a>
|
||||
{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
<td align="center">
|
||||
{foreach from=$exists item=exist key=key}
|
||||
{if $field.id == $key}
|
||||
{if $exist.req}
|
||||
<a data-dialog="rft-{$field.id}" href="index.php?do=rubs&action=ftempledit&rubric_id={$smarty.request.Id}&fld={$field.id}&type=req&cp={$sess}&pop=1&onlycontent=1" data-height="650" data-modal="true" class="openDialog">{#RUBRIC_TMPLS_EDIT#}</a>
|
||||
{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
{include file="$codemirror_connect"}
|
@ -1,11 +1,42 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
var sess = '{$sess}';
|
||||
var sess = '{$sess}';
|
||||
</script>
|
||||
|
||||
<div class="title">
|
||||
<h5>{#RUBRIK_EDIT_CODE_T#}</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget" style="margin-top: 0px;">
|
||||
<div class="body">
|
||||
{#RUBRIK_EDIT_CODE_TIP#}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="first tableButtons" cellpadding="0" cellspacing="0" width="100%" id="rubricButtons">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FIELDS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=ftlist&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FTEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=fieldsgroups&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FGROUPS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=template&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_TEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=rules&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_RULES#}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="breadCrumbHolder module">
|
||||
<div class="breadCrumb module">
|
||||
<ul>
|
||||
@ -43,6 +74,11 @@ var sess = '{$sess}';
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{#RUBRIK_EDIT_CODE_LOAD_TIP#}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@ -50,11 +86,6 @@ var sess = '{$sess}';
|
||||
<div class="widget first">
|
||||
<div class="head">
|
||||
<h5>{#RUBRIK_CODE#}</h5>
|
||||
<div class="num">
|
||||
<a class="basicNum" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT#}</a>
|
||||
|
||||
<a class="basicNum" href="index.php?do=rubs&action=template&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_TEMPLATE#}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic">
|
||||
@ -79,6 +110,14 @@ var sess = '{$sess}';
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{#RUBRIK_EDIT_CODE_BEF_TIP#}
|
||||
</td>
|
||||
<td>
|
||||
{#RUBRIK_EDIT_CODE_AFT_TIP#}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="rowElem" id="saveBtn">
|
||||
|
@ -24,7 +24,7 @@
|
||||
<tr>
|
||||
<td>
|
||||
<div class="pr12">
|
||||
<input name="rubric_field_default" type="text" id="rubric_field_default" value="{$rubric_field_default|escape}" style="width:100%;" />
|
||||
<input class="mousetrap" name="rubric_field_default" type="text" id="rubric_field_default" value="{$rubric_field_default|escape}" style="width:100%;" />
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -124,14 +124,14 @@
|
||||
|
||||
<script language="javascript">
|
||||
$(document).ready(function(){ldelim}
|
||||
AveAdmin.ajax();
|
||||
AveAdmin.modalDialog();
|
||||
AveAdmin.ajax();
|
||||
AveAdmin.modalDialog();
|
||||
|
||||
$('#FieldsList tbody').tableSortable({ldelim}
|
||||
items: '.field_tbody',
|
||||
url: 'index.php?do=rubs&action=fieldssort&cp={$sess}',
|
||||
success: true
|
||||
{rdelim});
|
||||
$('#FieldsList tbody').tableSortable({ldelim}
|
||||
items: '.field_tbody',
|
||||
url: 'index.php?do=rubs&action=fieldssort&cp={$sess}',
|
||||
success: true
|
||||
{rdelim});
|
||||
|
||||
{rdelim});
|
||||
</script>
|
||||
|
@ -1,13 +1,44 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
|
||||
var sess = '{$sess}';
|
||||
|
||||
</script>
|
||||
|
||||
<div class="title">
|
||||
<h5>{#RUBRIK_FIELDS_GROUPS#}</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget" style="margin-top: 0px;">
|
||||
<div class="body">
|
||||
{#RUBRIK_FIELDS_GROUPS_TIP#}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="first tableButtons" cellpadding="0" cellspacing="0" width="100%" id="rubricButtons">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FIELDS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=ftlist&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FTEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=template&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_TEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_CODE#}</a>
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=rules&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_RULES#}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="breadCrumbHolder module">
|
||||
<div class="breadCrumb module">
|
||||
<ul>
|
||||
@ -31,15 +62,6 @@ var sess = '{$sess}';
|
||||
|
||||
<div class="head">
|
||||
<h5 class="iFrames">{#RUBRIK_FIELDS_GROUPS#}</h5>
|
||||
<div class="num">
|
||||
<a class="basicNum" href="index.php?do=rubs&action=template&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_TEMPLATE#}</a>
|
||||
|
||||
<a class="basicNum" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT#}</a>
|
||||
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="basicNum" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_CODE#}</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="groups_list">
|
||||
@ -91,16 +113,7 @@ var sess = '{$sess}';
|
||||
<div class="widget first">
|
||||
|
||||
<div class="head">
|
||||
<h5 class="iFrames">{#RUBRIK_FIELDS_TITLE#}</h5>
|
||||
<div class="num">
|
||||
<a class="basicNum" href="index.php?do=rubs&action=template&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_TEMPLATE#}</a>
|
||||
|
||||
<a class="basicNum" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT#}</a>
|
||||
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="basicNum" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_CODE#}</a>
|
||||
{/if}
|
||||
</div>
|
||||
<h5 class="iFrames">{#RUBRIK_FIELDS_GROUPS#}</h5>
|
||||
</div>
|
||||
|
||||
<div id="groups_list">
|
||||
|
@ -1,5 +1,4 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
|
||||
var sess = '{$sess}';
|
||||
|
||||
function openAliasWindow(fieldId, rubId, width, height, target) {ldelim}
|
||||
@ -10,12 +9,13 @@ function openAliasWindow(fieldId, rubId, width, height, target) {ldelim}
|
||||
var top = ( screen.height - height ) / 2;
|
||||
window.open('index.php?field_id='+fieldId+'&rubric_id='+rubId+'&target='+target+'&do=rubs&action=alias_add&cp={$sess}&pop=1','pop','left='+left+',top='+top+',width='+width+',height='+height+',scrollbars='+scrollbar+',resizable=1').focus();
|
||||
{rdelim}
|
||||
|
||||
</script>
|
||||
|
||||
<div class="title">
|
||||
<h5>{#RUBRIK_EDIT_FIELDS#}</h5>
|
||||
</div>
|
||||
{if !$rub_fields}
|
||||
|
||||
{if !$fields_list}
|
||||
<div class="widget" style="margin-top: 0px;">
|
||||
<div class="body">{#RUBRIK_NO_FIELDS#}</div>
|
||||
</div>
|
||||
@ -24,6 +24,34 @@ function openAliasWindow(fieldId, rubId, width, height, target) {ldelim}
|
||||
<div class="body">{#RUBRIK_FIELDS_INFO#}</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<table class="first tableButtons" cellpadding="0" cellspacing="0" width="100%" id="rubricButtons">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=template&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_TEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=ftlist&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FTEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=fieldsgroups&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FGROUPS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_CODE#}</a>
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=rules&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_RULES#}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="breadCrumbHolder module">
|
||||
<div class="breadCrumb module">
|
||||
<ul>
|
||||
@ -67,16 +95,6 @@ function openAliasWindow(fieldId, rubId, width, height, target) {ldelim}
|
||||
|
||||
<div class="head">
|
||||
<h5 class="iFrames">{#RUBRIK_FIELDS_TITLE#}</h5>
|
||||
<div class="num">
|
||||
<a class="basicNum" href="index.php?do=rubs&action=template&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_TEMPLATE#}</a>
|
||||
|
||||
<a class="basicNum" href="index.php?do=rubs&action=fieldsgroups&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_FIELDS_GROUPS#}</a>
|
||||
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="basicNum" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_CODE#}</a>
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="fields_list">
|
||||
@ -364,124 +382,6 @@ function openAliasWindow(fieldId, rubId, width, height, target) {ldelim}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{if check_permission('rubric_edit') && check_permission('rubric_perms')}
|
||||
<div class="widget first">
|
||||
<div class="head closed active">
|
||||
<h5>{#RUBRIK_SET_PERMISSION#}</h5>
|
||||
</div>
|
||||
<div style="display: block;">
|
||||
<form id="rubperm" action="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&submit=saveperms&cp={$sess}" method="post" class="mainForm">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic">
|
||||
<col width="16%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{#RUBRIK_USER_GROUP#}</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_DOC_READ#} <a href="javascript:void(0);" class="topDir link" style="cursor: help;" title="{#RUBRIK_VIEW_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_ALL_PERMISSION#} <a href="javascript:void(0);" class="topDir link" style="cursor: help;" title="{#RUBRIK_ALL_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_CREATE_DOC#} <a href="javascript:void(0);" class="topDir link" style="cursor: help;" title="{#RUBRIK_DOC_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_CREATE_DOC_NOW#} <a href="javascript:void(0);" class="topDir link" style="cursor: help;" title="{#RUBRIK_DOC_NOW_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_EDIT_OWN#} <a href="javascript:void(0);" class="topDir link" style="cursor: help;" title="{#RUBRIK_OWN_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_EDIT_OTHER#} <a href="javascript:void(0);" class="topleftDir link" style="cursor: help;" title="{#RUBRIK_OTHER_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_EDIT_DELREV#} <a href="javascript:void(0);" class="topleftDir link" style="cursor: help;" title="{#RUBRIK_DELREV_TIP#}">[?]</a>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$groups item=group}
|
||||
{assign var=doall value=$group->doall}
|
||||
<tr>
|
||||
<td>{$group->user_group_name|escape:html} </td>
|
||||
<td align="center" {if in_array('docread', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
{if $group->doall_h==1}
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="docread" />
|
||||
<input class="check_perm" name="perm[{$group->user_group}][]" type="checkbox" value="docread" checked="checked" disabled="disabled" />
|
||||
{else}
|
||||
<input class="check_perm" name="perm[{$group->user_group}][]" type="checkbox" value="docread"{if in_array('docread', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
{if $group->doall_h==1}
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="alles" />
|
||||
<input class="check_perm" name="perm[{$group->user_group}][]" type="checkbox" value="alles" checked="checked" disabled="disabled" />
|
||||
{else}
|
||||
<input class="check_perm" name="perm[{$group->user_group}][]" type="checkbox" value="alles"{if in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('new', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
<input type="hidden" name="user_group[{$group->user_group}]" value="{$group->user_group}" />
|
||||
{if $group->doall_h==1}
|
||||
<input class="check_perm" name="{$group->user_group}" type="checkbox" value="1"{$doall} />
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="new" />
|
||||
{else}
|
||||
<input class="check_perm new" id="new_{$group->user_group}" name="perm[{$group->user_group}][]" type="checkbox" value="new"{if in_array('new', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('newnow', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
<input type="hidden" name="user_group[{$group->user_group}]" value="{$group->user_group}" />
|
||||
{if $group->doall_h==1}
|
||||
<input class="check_perm" name="{$group->user_group}" type="checkbox" value="1"{$doall} />
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="newnow" />
|
||||
{else}
|
||||
<input class="check_perm newnow" id="newnow_{$group->user_group}" name="perm[{$group->user_group}][]" type="checkbox" value="newnow"{if in_array('newnow', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('editown', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
{if $group->doall_h==1}
|
||||
<input class="check_perm" name="{$group->user_group}" type="checkbox" value="1"{$doall} />
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="editown" />
|
||||
{else}
|
||||
<input class="check_perm editown" id="editown_{$group->user_group}" data-id="{$group->user_group}" name="perm[{$group->user_group}][]" type="checkbox" value="editown"{if in_array('editown', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('editall', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
{if $group->doall_h==1}
|
||||
<input class="check_perm" name="{$group->user_group}" type="checkbox" value="1"{$doall} />
|
||||
{else}
|
||||
<input class="check_perm editall" id="editall_{$group->user_group}" name="perm[{$group->user_group}][]" data-id="{$group->user_group}" type="checkbox" value="editall"{if in_array('editall', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('delrev', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
{if $group->doall_h==1}
|
||||
<input class="check_perm" name="{$group->user_group}" type="checkbox" value="1"{$doall} />
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="delrev" />
|
||||
{else}
|
||||
<input class="check_perm" name="perm[{$group->user_group}][]" type="checkbox" value="delrev"{if in_array('delrev', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="rowElem">
|
||||
<input type="submit" class="basicBtn" value="{#RUBRIK_BUTTON_PERM#}" />
|
||||
|
||||
<input type="submit" class="blackBtn SaveEditPerms" value="{#RUBRIK_BUTTON_TPL_NEXT#}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
{include file="$codemirror_connect"}
|
||||
|
||||
<script language="javascript">
|
||||
@ -623,15 +523,6 @@ $(document).ready(function(){ldelim}
|
||||
}
|
||||
});
|
||||
|
||||
$('.check_perm').on('change', function(event) {
|
||||
event.preventDefault();
|
||||
if ($(this).is(':checked')) {
|
||||
$(this).parent().parent('td').addClass('yellow');
|
||||
} else {
|
||||
$(this).parent().parent('td').removeClass('yellow');
|
||||
}
|
||||
});
|
||||
|
||||
$('.collapsible').collapsible({
|
||||
defaultOpen: 'opened',
|
||||
cssOpen: 'inactive',
|
||||
@ -643,6 +534,14 @@ $(document).ready(function(){ldelim}
|
||||
},
|
||||
speed: 200
|
||||
});
|
||||
|
||||
$('.collapsible').on('click', function() {
|
||||
setTimeout(function() {
|
||||
AveAdmin.sticky_panel_refresh();
|
||||
AveAdmin.select_form();
|
||||
}, 10);
|
||||
});
|
||||
|
||||
{/literal}
|
||||
|
||||
Mousetrap.bind(['ctrl+s', 'command+s'], function(event) {ldelim}
|
||||
@ -714,25 +613,6 @@ $(document).ready(function(){ldelim}
|
||||
return false;
|
||||
{rdelim});
|
||||
|
||||
$(".SaveEditPerms").click(function(event){ldelim}
|
||||
event.preventDefault();
|
||||
$("#rubperm").ajaxSubmit({ldelim}
|
||||
url: 'index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&submit=saveperms&cp={$sess}&ajax=1',
|
||||
dataType: 'json',
|
||||
beforeSubmit: function(){ldelim}
|
||||
$.alerts._overlay('show');
|
||||
{rdelim},
|
||||
success: function(data){ldelim}
|
||||
$.jGrowl(data['message'], {ldelim}
|
||||
header: data['header'],
|
||||
theme: data['theme']
|
||||
{rdelim});
|
||||
$.alerts._overlay('hide');
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
return false;
|
||||
{rdelim});
|
||||
|
||||
function ajaxFields(){ldelim}
|
||||
$.ajax({ldelim}
|
||||
url: 'index.php?do=rubs&action=fields&Id={$smarty.request.Id|escape}&cp={$sess}&ajax=1&onlycontent=1',
|
||||
|
@ -6,11 +6,7 @@
|
||||
<div class="title">
|
||||
<h5>{#RUBRIK_TEMPLATE_EDIT#}</h5>
|
||||
<div class="num">
|
||||
<a class="basicNum" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT#}</a>
|
||||
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="basicNum" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_CODE#}</a>
|
||||
{/if}
|
||||
<a class="basicNum" href="index.php?do=rubs&action=tmpls&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TMPLS_BUTTON#}</a>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
@ -19,6 +15,33 @@
|
||||
<div class="body">{#RUBRIK_TEMPLATE_TIP#}</div>
|
||||
</div>
|
||||
|
||||
<table class="first tableButtons" cellpadding="0" cellspacing="0" width="100%" id="rubricButtons">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FIELDS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=ftlist&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FTEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=fieldsgroups&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FGROUPS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_CODE#}</a>
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=rules&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_RULES#}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="breadCrumbHolder module">
|
||||
<div class="breadCrumb module">
|
||||
<ul>
|
||||
@ -61,6 +84,9 @@
|
||||
<li>
|
||||
<a href="#tab2">{#RUBRIK_HTML_2#}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#tab2_1">{#RUBRIK_HTML_2_1#}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#tab3">{#RUBRIK_HTML_3#}</a>
|
||||
</li>
|
||||
@ -468,6 +494,139 @@
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div id="tab2_1" class="tab_content" style="display: none;">
|
||||
|
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic">
|
||||
<col width="18%" />
|
||||
<col width="82%" />
|
||||
<thead>
|
||||
<tr class="noborder">
|
||||
<td>{#RUBRIK_TAGS#}</td>
|
||||
<td>{#RUBRIK_HTML_T#}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<strong><a class="rightDir" title="{#RUBRIK_TEMPLATES_TITLE#}" href="javascript:void(0);" onclick="textSelection2_1('[tag:title]','');">[tag:title]</a></strong>
|
||||
</td>
|
||||
<td rowspan="5" colspan="2"><textarea {$read_only} class="{if $php_forbidden==1}tpl_code_readonly{else}{/if}" style="width:100%; height:200px" name="rubric_footer_template" id="rubric_footer_template">{$rubric->rubric_footer_template|default:$prefab|escape:html}</textarea></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<strong><a class="rightDir" title="{#RUBRIK_TEMPLATES_CSS#}" href="javascript:void(0);" onclick="textSelection2('[tag:css:]','');">[tag:css:FFF:P]</a></strong>,
|
||||
<strong><a class="rightDir" title="{#RUBRIK_TEMPLATES_JS#}" href="javascript:void(0);" onclick="textSelection2_1('[tag:js:]','');">[tag:js:FFF:P]</a></strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<strong><a class="rightDir" title="{#RUBRIK_TEMPLATES_PATH#}" href="javascript:void(0);" onclick="textSelection2_1('[tag:path]','');">[tag:path]</a></strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<strong><a class="rightDir" title="{#RUBRIK_TEMPLATES_MEDIAPATH#}" href="javascript:void(0);" onclick="textSelection2_1('[tag:mediapath]','');">[tag:mediapath]</a></strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong>HTML Tags</strong></td>
|
||||
<td>
|
||||
|
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<ol>', '</ol>');"><strong>OL</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<ul>', '</ul>');"><strong>UL</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<li>', '</li>');"><strong>LI</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2('<p class="">', '</p>');"><strong>P</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<strong>', '</strong>');"><strong>B</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<em>', '</em>');"><strong>I</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<h1>', '</h1>');"><strong>H1</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<h2>', '</h2>');"><strong>H2</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<h3>', '</h3>');"><strong>H3</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<h4>', '</h4>');"><strong>H4</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<h5>', '</h5>');"><strong>H5</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<div class="" id="">', '</div>');"><strong>DIV</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<a href="" title="">', '</a>');"><strong>A</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<img src="" alt="" />', '');"><strong>IMG</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<span>', '</span>');"><strong>SPAN</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<pre>', '</pre>');"><strong>PRE</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('<br />', '');"><strong>BR</strong></a> |
|
||||
<a href="javascript:void(0);" onclick="textSelection2_1('\t', '');"><strong>TAB</strong></a> |
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic">
|
||||
<col width="3%" />
|
||||
<col width="25%" />
|
||||
<col width="15%" />
|
||||
<col width="15%" />
|
||||
<col width="15%" />
|
||||
<col width="38%" />
|
||||
<thead>
|
||||
<tr>
|
||||
<td align="center"><strong>{#RUBRIK_ID#}</strong></td>
|
||||
<td align="center"><strong>{#RUBRIK_FIELD_NAME#}</strong></td>
|
||||
<td align="center"><strong>{#RUBRIK_TAGS_ID#}</strong></td>
|
||||
<td align="center"><strong>{#RUBRIK_TAGS_ALIAS#}</strong></td>
|
||||
<td align="center"><strong>{#RUBRIK_FIELD_ALIAS#}</strong></td>
|
||||
<td align="center"><strong>{#RUBRIK_FIELD_TYPE#}</strong></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
{foreach from=$fields_list item=field_group}
|
||||
|
||||
{if $groups_count > 1}
|
||||
<tr class="grey">
|
||||
<td colspan="6"><h5>{if $field_group.group_title}{$field_group.group_title}{else}{#RUBRIK_FIELD_G_UNKNOW#}{/if}</h5></td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
{foreach from=$field_group.fields item=field}
|
||||
<tr>
|
||||
<td align="center">
|
||||
<strong class="code">{$field.Id}</strong>
|
||||
</td>
|
||||
<td>
|
||||
<strong>{$field.rubric_field_title}</strong>
|
||||
</td>
|
||||
<td>
|
||||
<a class="rightDir" title="{#RUBRIK_INSERT_HELP#}" href="javascript:void(0);" onclick="textSelection2('[tag:rfld:{$field.Id}][0]', '');"><strong>[tag:rfld:{$field.Id}][150]</strong></a>
|
||||
</td>
|
||||
<td>
|
||||
{if $field.rubric_field_alias}
|
||||
<a class="rightDir" title="{#RUBRIK_INSERT_HELP#}" href="javascript:void(0);" onclick="textSelection2('[tag:rfld:{$field.rubric_field_alias}][0]', '');"><strong>[tag:rfld:{$field.rubric_field_alias}][0]</strong></a>
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center">
|
||||
{if $field.rubric_field_alias}<strong class="code">{$field.rubric_field_alias}</strong>{/if}
|
||||
</td>
|
||||
<td>
|
||||
{section name=field_name loop=$field_array}
|
||||
{if $field.rubric_field_type == $field_array[field_name].id}{$field_array[field_name].name}{/if}
|
||||
{/section}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
{/foreach}
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="fix"></div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div id="tab3" class="tab_content" style="display: none;">
|
||||
|
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic">
|
||||
@ -785,6 +944,7 @@
|
||||
{include file="$codemirror_connect"}
|
||||
{include file="$codemirror_editor" conn_id="" textarea_id='rubric_template' ctrls='$("#RubricTpl").ajaxSubmit(sett_options);' height=500}
|
||||
{include file="$codemirror_editor" conn_id="2" textarea_id='rubric_header_template' ctrls='$("#RubricTpl").ajaxSubmit(sett_options);' height=420}
|
||||
{include file="$codemirror_editor" conn_id="2_1" textarea_id='rubric_footer_template' ctrls='$("#RubricTpl").ajaxSubmit(sett_options);' height=420}
|
||||
{include file="$codemirror_editor" conn_id="3" textarea_id='rubric_teaser_template' ctrls='$("#RubricTpl").ajaxSubmit(sett_options);' height=420}
|
||||
{include file="$codemirror_editor" conn_id="4" textarea_id='rubric_admin_teaser_template' ctrls='$("#RubricTpl").ajaxSubmit(sett_options);' height=420}
|
||||
|
||||
|
@ -88,7 +88,7 @@ $(function() {ldelim}
|
||||
<col width="40">
|
||||
<col width="30">
|
||||
<col width="40">
|
||||
<col width="40">
|
||||
<col width="20">
|
||||
<col width="20">
|
||||
<col width="20">
|
||||
<col width="20">
|
||||
@ -110,8 +110,7 @@ $(function() {ldelim}
|
||||
</div>
|
||||
</td>
|
||||
<td align="center"><a href="javascript:void(0);" class="topDir icon_sprite ico_lines float" style="cursor: help; display: inline-block" title="{#RUBRIK_COUNT_FIELDS#}"></a></td>
|
||||
<td align="center"><a href="javascript:void(0);" class="topDir icon_sprite ico_template float" style="cursor: help; display: inline-block" title="{#RUBRIK_EDIT_TMPLS#}"></a></td>
|
||||
<td align="center" colspan="5">{#RUBRIK_ACTION#}</td>
|
||||
<td align="center" colspan="6">{#RUBRIK_ACTION#}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="rubsTbody">
|
||||
@ -189,13 +188,6 @@ $(function() {ldelim}
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center"><strong class="code">{$rubric->fld_count}</strong></td>
|
||||
<td align="center">
|
||||
{if check_permission('rubric_edit')}
|
||||
<strong class="code"><a class="topDir" title="{#RUBRIK_EDIT_TMPLS#}" href="index.php?do=rubs&action=tmpls&Id={$rubric->Id}&cp={$sess}">{$rubric->tmpls_count}</a></strong>
|
||||
{else}
|
||||
<strong class="code">{$rubric->tmpls_count}</strong>
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center">
|
||||
{if check_permission('rubric_edit')}
|
||||
<a class="topleftDir icon_sprite ico_edit" title="{#RUBRIK_EDIT#}" href="index.php?do=rubs&action=edit&Id={$rubric->Id}&cp={$sess}"></a>
|
||||
@ -210,6 +202,13 @@ $(function() {ldelim}
|
||||
<span title="{#RUBRIK_NO_CHANGE2#}" class="topleftDir icon_sprite ico_template_no"></span>
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center">
|
||||
{if check_permission('rubric_edit')}
|
||||
<a class="topleftDir icon_sprite ico_template" title="{#RUBRIK_EDIT_TMPLS#}" href="index.php?do=rubs&action=tmpls&Id={$rubric->Id}&cp={$sess}"></a>
|
||||
{else}
|
||||
<span title="{#RUBRIK_NO_CHANGE2#}" class="topleftDir icon_sprite ico_template_no"></span>
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center">
|
||||
{if check_permission('rubric_edit') && check_permission('rubric_code')}
|
||||
<a class="topleftDir icon_sprite ico_attach" title="{#RUBRIK_EDIT_CODE#}" href="index.php?do=rubs&action=code&Id={$rubric->Id}&cp={$sess}"></a>
|
||||
|
240
admin/templates/rubs/rules.tpl
Normal file
240
admin/templates/rubs/rules.tpl
Normal file
@ -0,0 +1,240 @@
|
||||
<script language="Javascript" type="text/javascript">
|
||||
var sess = '{$sess}';
|
||||
</script>
|
||||
|
||||
<div class="title">
|
||||
<h5>{#RUBRIK_EDIT_RULES#}</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget" style="margin-top: 0px;">
|
||||
<div class="body">{#RUBRIC_WARNING_TIP#}</div>
|
||||
</div>
|
||||
|
||||
<table class="first tableButtons" cellpadding="0" cellspacing="0" width="100%" id="rubricButtons">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FIELDS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=ftlist&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FTEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=fieldsgroups&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FGROUPS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=template&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_TEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_CODE#}</a>
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="breadCrumbHolder module">
|
||||
<div class="breadCrumb module">
|
||||
<ul>
|
||||
<li class="firstB">
|
||||
<a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="index.php?do=rubs&cp={$sess}">{#RUBRIK_SUB_TITLE#}</a>
|
||||
</li>
|
||||
<li>{#RUBRIK_EDIT_FIELDS#}</li>
|
||||
<li><strong class="code">{$rubric->rubric_title}</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{if check_permission('rubric_edit') && check_permission('rubric_perms')}
|
||||
<div class="widget first">
|
||||
<div class="head">
|
||||
<h5>{#RUBRIK_SET_PERMISSION#}</h5>
|
||||
</div>
|
||||
<div style="display: block;">
|
||||
<form id="rubperm" action="index.php?do=rubs&action=rules&Id={$smarty.request.Id|escape}&submit=saveperms&cp={$sess}" method="post" class="mainForm">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic">
|
||||
<col width="16%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<col width="12%">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{#RUBRIK_USER_GROUP#}</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_DOC_READ#} <a href="javascript:void(0);" class="topDir link" style="cursor: help;" title="{#RUBRIK_VIEW_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_ALL_PERMISSION#} <a href="javascript:void(0);" class="topDir link" style="cursor: help;" title="{#RUBRIK_ALL_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_CREATE_DOC#} <a href="javascript:void(0);" class="topDir link" style="cursor: help;" title="{#RUBRIK_DOC_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_CREATE_DOC_NOW#} <a href="javascript:void(0);" class="topDir link" style="cursor: help;" title="{#RUBRIK_DOC_NOW_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_EDIT_OWN#} <a href="javascript:void(0);" class="topDir link" style="cursor: help;" title="{#RUBRIK_OWN_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_EDIT_OTHER#} <a href="javascript:void(0);" class="topleftDir link" style="cursor: help;" title="{#RUBRIK_OTHER_TIP#}">[?]</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
{#RUBRIK_EDIT_DELREV#} <a href="javascript:void(0);" class="topleftDir link" style="cursor: help;" title="{#RUBRIK_DELREV_TIP#}">[?]</a>
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$groups item=group}
|
||||
{assign var=doall value=$group->doall}
|
||||
<tr>
|
||||
<td>{$group->user_group_name|escape:html} </td>
|
||||
<td align="center" {if in_array('docread', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
{if $group->doall_h==1}
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="docread" />
|
||||
<input class="check_perm" name="perm[{$group->user_group}][]" type="checkbox" value="docread" checked="checked" disabled="disabled" />
|
||||
{else}
|
||||
<input class="check_perm" name="perm[{$group->user_group}][]" type="checkbox" value="docread"{if in_array('docread', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
{if $group->doall_h==1}
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="alles" />
|
||||
<input class="check_perm" name="perm[{$group->user_group}][]" type="checkbox" value="alles" checked="checked" disabled="disabled" />
|
||||
{else}
|
||||
<input class="check_perm" name="perm[{$group->user_group}][]" type="checkbox" value="alles"{if in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('new', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
<input type="hidden" name="user_group[{$group->user_group}]" value="{$group->user_group}" />
|
||||
{if $group->doall_h==1}
|
||||
<input class="check_perm" name="{$group->user_group}" type="checkbox" value="1"{$doall} />
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="new" />
|
||||
{else}
|
||||
<input class="check_perm new" id="new_{$group->user_group}" name="perm[{$group->user_group}][]" type="checkbox" value="new"{if in_array('new', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('newnow', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
<input type="hidden" name="user_group[{$group->user_group}]" value="{$group->user_group}" />
|
||||
{if $group->doall_h==1}
|
||||
<input class="check_perm" name="{$group->user_group}" type="checkbox" value="1"{$doall} />
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="newnow" />
|
||||
{else}
|
||||
<input class="check_perm newnow" id="newnow_{$group->user_group}" name="perm[{$group->user_group}][]" type="checkbox" value="newnow"{if in_array('newnow', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('editown', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
{if $group->doall_h==1}
|
||||
<input class="check_perm" name="{$group->user_group}" type="checkbox" value="1"{$doall} />
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="editown" />
|
||||
{else}
|
||||
<input class="check_perm editown" id="editown_{$group->user_group}" data-id="{$group->user_group}" name="perm[{$group->user_group}][]" type="checkbox" value="editown"{if in_array('editown', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('editall', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
{if $group->doall_h==1}
|
||||
<input class="check_perm" name="{$group->user_group}" type="checkbox" value="1"{$doall} />
|
||||
{else}
|
||||
<input class="check_perm editall" id="editall_{$group->user_group}" name="perm[{$group->user_group}][]" data-id="{$group->user_group}" type="checkbox" value="editall"{if in_array('editall', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
<td align="center" {if in_array('delrev', $group->permissions) || in_array('alles', $group->permissions)} class="yellow"{/if}>
|
||||
{if $group->doall_h==1}
|
||||
<input class="check_perm" name="{$group->user_group}" type="checkbox" value="1"{$doall} />
|
||||
<input type="hidden" name="perm[{$group->user_group}][]" value="delrev" />
|
||||
{else}
|
||||
<input class="check_perm" name="perm[{$group->user_group}][]" type="checkbox" value="delrev"{if in_array('delrev', $group->permissions) || in_array('alles', $group->permissions)} checked="checked"{/if}{if $group->user_group==2} disabled="disabled"{/if} />
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="rowElem">
|
||||
<input type="submit" class="basicBtn" value="{#RUBRIK_BUTTON_PERM#}" />
|
||||
|
||||
<input type="submit" class="blackBtn SaveEditPerms" value="{#RUBRIK_BUTTON_TPL_NEXT#}" />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
||||
<script language="javascript">
|
||||
$(document).ready(function(){ldelim}
|
||||
|
||||
{literal}
|
||||
|
||||
$(document).on('change', '#selall', function(event) {
|
||||
event.preventDefault();
|
||||
if ($('#selall').is(':checked')) {
|
||||
$('#FieldsList .checkbox').attr('checked','checked');
|
||||
$('#FieldsList .checkbox').addClass('jqTransformChecked');
|
||||
} else {
|
||||
$('#FieldsList .checkbox').removeClass('jqTransformChecked');
|
||||
$('#FieldsList .checkbox').removeAttr('checked');
|
||||
}
|
||||
});
|
||||
|
||||
$('.check_perm').on('change', function(event) {
|
||||
event.preventDefault();
|
||||
if ($(this).is(':checked')) {
|
||||
$(this).parent().parent('td').addClass('yellow');
|
||||
} else {
|
||||
$(this).parent().parent('td').removeClass('yellow');
|
||||
}
|
||||
});
|
||||
|
||||
{/literal}
|
||||
|
||||
Mousetrap.bind(['ctrl+s', 'command+s'], function(event) {ldelim}
|
||||
event.preventDefault();
|
||||
$("#rubperm").ajaxSubmit({ldelim}
|
||||
url: 'index.php?do=rubs&action=rules&Id={$smarty.request.Id|escape}&submit=saveperms&cp={$sess}&ajax=1',
|
||||
dataType: 'json',
|
||||
beforeSubmit: function(){ldelim}
|
||||
$.alerts._overlay('show');
|
||||
{rdelim},
|
||||
success: function(data){ldelim}
|
||||
$.jGrowl(data['message'], {ldelim}
|
||||
header: data['header'],
|
||||
theme: data['theme']
|
||||
{rdelim});
|
||||
$.alerts._overlay('hide');
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
return false;
|
||||
{rdelim});
|
||||
|
||||
$(".SaveEditPerms").click(function(event){ldelim}
|
||||
event.preventDefault();
|
||||
$("#rubperm").ajaxSubmit({ldelim}
|
||||
url: 'index.php?do=rubs&action=rules&Id={$smarty.request.Id|escape}&submit=saveperms&cp={$sess}&ajax=1',
|
||||
dataType: 'json',
|
||||
beforeSubmit: function(){ldelim}
|
||||
$.alerts._overlay('show');
|
||||
{rdelim},
|
||||
success: function(data){ldelim}
|
||||
$.jGrowl(data['message'], {ldelim}
|
||||
header: data['header'],
|
||||
theme: data['theme']
|
||||
{rdelim});
|
||||
$.alerts._overlay('hide');
|
||||
{rdelim}
|
||||
{rdelim});
|
||||
return false;
|
||||
{rdelim});
|
||||
|
||||
|
||||
{rdelim});
|
||||
</script>
|
@ -37,12 +37,6 @@ $(document).ready(function(){ldelim}
|
||||
<h5>{#RUBRIC_TMPLS_HEAD#}</h5>
|
||||
<div class="num">
|
||||
<a class="basicNum" href="index.php?do=rubs&action=template&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_TEMPLATE#}</a>
|
||||
|
||||
<a class="basicNum" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT#}</a>
|
||||
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="basicNum" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIK_EDIT_CODE#}</a>
|
||||
{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -52,6 +46,34 @@ $(document).ready(function(){ldelim}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<table class="first tableButtons" cellpadding="0" cellspacing="0" width="100%" id="rubricButtons">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<col width="20%">
|
||||
<tr>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=edit&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FIELDS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=ftlist&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FTEMPLATES#}</a>
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=fieldsgroups&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_FGROUPS#}</a>
|
||||
</td>
|
||||
<td>
|
||||
{if check_permission('rubric_code')}
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=code&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_CODE#}</a>
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
<a class="button basicBtn topBtn" href="index.php?do=rubs&action=rules&Id={$smarty.request.Id|escape}&cp={$sess}">{#RUBRIC_TABLE_BTN_RULES#}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="breadCrumbHolder module">
|
||||
<div class="breadCrumb module">
|
||||
<ul>
|
||||
|
78
admin/templates/settings/edit_file.tpl
Normal file
78
admin/templates/settings/edit_file.tpl
Normal file
@ -0,0 +1,78 @@
|
||||
<div class="title">
|
||||
<h5>{#SETTINGS_FILE_EDIT_H#} {$file_name}</h5>
|
||||
</div>
|
||||
|
||||
<div class="widget">
|
||||
<div class="title">
|
||||
<h5>{#SETTINGS_FILE_CONTENT#} {$file_name}</h5>
|
||||
</div>
|
||||
|
||||
<form id="code_form" method="post" action="{$formaction}" class="mainForm">
|
||||
<div class="rowElem" style="padding: 0">
|
||||
<textarea id="code_text" name="code_text">{$template|escape}</textarea>
|
||||
<div class="fix"></div>
|
||||
</div>
|
||||
|
||||
<div class="rowElem">
|
||||
<button type="submit" class="basicBtn">{#SETTINGS_BUTTON_SAVE#}</button>
|
||||
{#SETTINGS_OR#}
|
||||
<button class="blackBtn SaveEditFile">{#SETTINGS_BUTTON_SAVE_AJAX#}</button>
|
||||
<div class="fix"></div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<script language="Javascript" type="text/javascript">
|
||||
var sett_options = {ldelim}
|
||||
url: '{$formaction}',
|
||||
dataType: 'json',
|
||||
data: {ldelim} ajax: '1' {rdelim},
|
||||
beforeSubmit: Request,
|
||||
success: Response
|
||||
{rdelim}
|
||||
|
||||
function Request(){ldelim}
|
||||
$.alerts._overlay('show');
|
||||
{rdelim}
|
||||
|
||||
function Response(data){ldelim}
|
||||
$.alerts._overlay('hide');
|
||||
$.jGrowl(data['message'], {ldelim}
|
||||
header: data['header'],
|
||||
theme: data['theme']
|
||||
{rdelim});
|
||||
{rdelim}
|
||||
|
||||
$(document).ready(function(){ldelim}
|
||||
|
||||
Mousetrap.bind(['ctrl+s', 'command+s'], function(e) {ldelim}
|
||||
if (e.preventDefault) {ldelim}
|
||||
e.preventDefault();
|
||||
{rdelim} else {ldelim}
|
||||
// internet explorer
|
||||
e.returnValue = false;
|
||||
{rdelim}
|
||||
$("#code_form").ajaxSubmit(sett_options);
|
||||
return false;
|
||||
{rdelim});
|
||||
|
||||
$(".SaveEditFile").click(function(e){ldelim}
|
||||
if (e.preventDefault) {ldelim}
|
||||
e.preventDefault();
|
||||
{rdelim} else {ldelim}
|
||||
// internet explorer
|
||||
e.returnValue = false;
|
||||
{rdelim}
|
||||
$("#code_form").ajaxSubmit(sett_options);
|
||||
return false;
|
||||
{rdelim});
|
||||
|
||||
{literal}
|
||||
setTimeout(function(){editorfile.refresh();}, 20);
|
||||
{/literal}
|
||||
|
||||
{rdelim});
|
||||
</script>
|
||||
|
||||
{include file="$codemirror_editor" conn_id="file" textarea_id='code_text' ctrls='$("#code_form").ajaxSubmit(sett_options);' height=450}
|
@ -24,13 +24,12 @@
|
||||
|
||||
<div class="widget first">
|
||||
<div class="body">
|
||||
{if check_permission('cache_clear')}<a class="button basicBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a>{/if}
|
||||
|
||||
{if check_permission('cache_thumb')}<a class="button basicBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a>{/if}
|
||||
|
||||
{if check_permission('document_revisions')}<a class="button basicBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a>{/if}
|
||||
|
||||
{if check_permission('gen_settings')}<a class="button basicBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a>{/if}
|
||||
{if check_permission('cache_clear')}<a class="button redBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a> {/if}
|
||||
{if check_permission('cache_thumb')}<a class="button redBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a> {/if}
|
||||
{if check_permission('document_revisions')}<a class="button redBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a> {/if}
|
||||
{if check_permission('gen_settings')}<a class="button redBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a> {/if}
|
||||
{if check_permission('gen_settings_robots')}<a data-dialog="robots" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=robots&cp={$sess}">{#SETTINGS_FILE_ROBOTS#}</a> {/if}
|
||||
{if check_permission('gen_settings_fcustom')}<a data-dialog="custom" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=custom&cp={$sess}">{#SETTINGS_FILE_CUSTOM#}</a>{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -18,13 +18,12 @@
|
||||
|
||||
<div class="widget first">
|
||||
<div class="body">
|
||||
{if check_permission('cache_clear')}<a class="button basicBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a>{/if}
|
||||
|
||||
{if check_permission('cache_thumb')}<a class="button basicBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a>{/if}
|
||||
|
||||
{if check_permission('document_revisions')}<a class="button basicBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a>{/if}
|
||||
|
||||
{if check_permission('gen_settings')}<a class="button basicBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a>{/if}
|
||||
{if check_permission('cache_clear')}<a class="button redBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a> {/if}
|
||||
{if check_permission('cache_thumb')}<a class="button redBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a> {/if}
|
||||
{if check_permission('document_revisions')}<a class="button redBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a> {/if}
|
||||
{if check_permission('gen_settings')}<a class="button redBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a> {/if}
|
||||
{if check_permission('gen_settings_robots')}<a data-dialog="robots" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=robots&cp={$sess}">{#SETTINGS_FILE_ROBOTS#}</a> {/if}
|
||||
{if check_permission('gen_settings_fcustom')}<a data-dialog="custom" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=custom&cp={$sess}">{#SETTINGS_FILE_CUSTOM#}</a>{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -145,4 +144,5 @@ function Response(data){ldelim}
|
||||
{rdelim});
|
||||
{rdelim}
|
||||
|
||||
</script>
|
||||
</script>
|
||||
{include file="$codemirror_connect"}
|
@ -1,31 +1,30 @@
|
||||
<div class="title"><h5>{#SETTINGS_COUNTRIES#}</h5></div>
|
||||
|
||||
<div class="widget" style="margin-top: 0px;">
|
||||
<div class="body">
|
||||
<div class="body">
|
||||
{#SETTINGS_COUNTRY_TIP#}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="breadCrumbHolder module">
|
||||
<div class="breadCrumb module">
|
||||
<ul>
|
||||
<li class="firstB"><a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a></li>
|
||||
<li><a href="index.php?do=settings&cp={$sess}">{#SETTINGS_MAIN_TITLE#}</a></li>
|
||||
<ul>
|
||||
<li class="firstB"><a href="index.php" title="{#MAIN_PAGE#}">{#MAIN_PAGE#}</a></li>
|
||||
<li><a href="index.php?do=settings&cp={$sess}">{#SETTINGS_MAIN_TITLE#}</a></li>
|
||||
<li>{#SETTINGS_COUNTRIES#}</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="widget first">
|
||||
<div class="body">
|
||||
{if check_permission('cache_clear')}<a class="button basicBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a>{/if}
|
||||
|
||||
{if check_permission('cache_thumb')}<a class="button basicBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a>{/if}
|
||||
|
||||
{if check_permission('document_revisions')}<a class="button basicBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a>{/if}
|
||||
|
||||
{if check_permission('gen_settings')}<a class="button basicBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a>{/if}
|
||||
{if check_permission('cache_clear')}<a class="button redBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a> {/if}
|
||||
{if check_permission('cache_thumb')}<a class="button redBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a> {/if}
|
||||
{if check_permission('document_revisions')}<a class="button redBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a> {/if}
|
||||
{if check_permission('gen_settings')}<a class="button redBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a> {/if}
|
||||
{if check_permission('gen_settings_robots')}<a data-dialog="robots" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=robots&cp={$sess}">{#SETTINGS_FILE_ROBOTS#}</a> {/if}
|
||||
{if check_permission('gen_settings_fcustom')}<a data-dialog="custom" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=custom&cp={$sess}">{#SETTINGS_FILE_CUSTOM#}</a>{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -40,14 +39,14 @@
|
||||
<li><a href="index.php?do=settings&action=paginations&cp={$sess}">{#SETTINGS_PAGINATION#}</a></li>
|
||||
</ul>
|
||||
<table cellpadding="0" cellspacing="0" width="100%" class="tableStatic">
|
||||
<thead>
|
||||
<tr>
|
||||
<td width="20%">{#SETTINGS_COUNTRY_NAME#}</td>
|
||||
<td width="20%">{#SETTINGS_ACTIVE#}</td>
|
||||
<td width="20%">{#SETTINGS_IN_EC#}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<thead>
|
||||
<tr>
|
||||
<td width="20%">{#SETTINGS_COUNTRY_NAME#}</td>
|
||||
<td width="20%">{#SETTINGS_ACTIVE#}</td>
|
||||
<td width="20%">{#SETTINGS_IN_EC#}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$countries item=land name=l}
|
||||
<tr {if $land.country_status==1}class="green"{/if}>
|
||||
<td>
|
||||
@ -65,8 +64,8 @@
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="rowElem" id="saveBtn">
|
||||
<div class="saveBtn">
|
||||
@ -92,13 +91,13 @@
|
||||
|
||||
$(document).ready(function(){ldelim}
|
||||
|
||||
var sett_options = {ldelim}
|
||||
var sett_options = {ldelim}
|
||||
url: 'index.php?do=settings&sub=countries&cp={$sess}&save=1',
|
||||
beforeSubmit: Request,
|
||||
success: Response
|
||||
success: Response
|
||||
{rdelim}
|
||||
|
||||
$(".SaveSettings").click(function(e){ldelim}
|
||||
$(".SaveSettings").click(function(e){ldelim}
|
||||
e.preventDefault();
|
||||
var title = '{#SETTINGS_BUTTON_SAVE#}';
|
||||
var confirm = '{#SETTINGS_SAVE_CONFIRM#}';
|
||||
@ -107,20 +106,20 @@ $(document).ready(function(){ldelim}
|
||||
title,
|
||||
function(b){ldelim}
|
||||
if (b){ldelim}
|
||||
$("#settings").ajaxSubmit(sett_options);
|
||||
$("#settings").ajaxSubmit(sett_options);
|
||||
{rdelim}
|
||||
{rdelim}
|
||||
);
|
||||
{rdelim});
|
||||
|
||||
Mousetrap.bind(['ctrl+s', 'command+s'], function(e) {ldelim}
|
||||
if (e.preventDefault) {ldelim}
|
||||
e.preventDefault();
|
||||
{rdelim} else {ldelim}
|
||||
// internet explorer
|
||||
e.returnValue = false;
|
||||
{rdelim}
|
||||
$("#settings").ajaxSubmit(sett_options);
|
||||
if (e.preventDefault) {ldelim}
|
||||
e.preventDefault();
|
||||
{rdelim} else {ldelim}
|
||||
// internet explorer
|
||||
e.returnValue = false;
|
||||
{rdelim}
|
||||
$("#settings").ajaxSubmit(sett_options);
|
||||
return false;
|
||||
{rdelim});
|
||||
|
||||
@ -136,4 +135,5 @@ function Response(){ldelim}
|
||||
$.jGrowl('{#SETTINGS_SAVED#}',{ldelim}theme: 'accept'{rdelim});
|
||||
{rdelim}
|
||||
|
||||
</script>
|
||||
</script>
|
||||
{include file="$codemirror_connect"}
|
@ -18,13 +18,12 @@
|
||||
|
||||
<div class="widget first">
|
||||
<div class="body">
|
||||
{if check_permission('cache_clear')}<a class="button basicBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a>{/if}
|
||||
|
||||
{if check_permission('cache_thumb')}<a class="button basicBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a>{/if}
|
||||
|
||||
{if check_permission('document_revisions')}<a class="button basicBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a>{/if}
|
||||
|
||||
{if check_permission('gen_settings')}<a class="button basicBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a>{/if}
|
||||
{if check_permission('cache_clear')}<a class="button redBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a> {/if}
|
||||
{if check_permission('cache_thumb')}<a class="button redBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a> {/if}
|
||||
{if check_permission('document_revisions')}<a class="button redBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a> {/if}
|
||||
{if check_permission('gen_settings')}<a class="button redBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a> {/if}
|
||||
{if check_permission('gen_settings_robots')}<a data-dialog="robots" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=robots&cp={$sess}">{#SETTINGS_FILE_ROBOTS#}</a> {/if}
|
||||
{if check_permission('gen_settings_fcustom')}<a data-dialog="custom" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=custom&cp={$sess}">{#SETTINGS_FILE_CUSTOM#}</a>{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -101,4 +100,5 @@
|
||||
<input type="submit" class="basicBtn" value="{#SETTINGS_LANG_ADD#}" onclick="windowOpen('index.php?do=settings&sub=editlang&pop=1&cp={$sess}','800','400','1','settings');" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{include file="$codemirror_connect"}
|
@ -19,13 +19,12 @@
|
||||
|
||||
<div class="widget first">
|
||||
<div class="body">
|
||||
{if check_permission('cache_clear')}<a class="button basicBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a>{/if}
|
||||
|
||||
{if check_permission('cache_thumb')}<a class="button basicBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a>{/if}
|
||||
|
||||
{if check_permission('document_revisions')}<a class="button basicBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a>{/if}
|
||||
|
||||
{if check_permission('gen_settings')}<a class="button basicBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a>{/if}
|
||||
{if check_permission('cache_clear')}<a class="button redBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a> {/if}
|
||||
{if check_permission('cache_thumb')}<a class="button redBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a> {/if}
|
||||
{if check_permission('document_revisions')}<a class="button redBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a> {/if}
|
||||
{if check_permission('gen_settings')}<a class="button redBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a> {/if}
|
||||
{if check_permission('gen_settings_robots')}<a data-dialog="robots" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=robots&cp={$sess}">{#SETTINGS_FILE_ROBOTS#}</a> {/if}
|
||||
{if check_permission('gen_settings_fcustom')}<a data-dialog="custom" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=custom&cp={$sess}">{#SETTINGS_FILE_CUSTOM#}</a>{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
@ -19,13 +19,12 @@
|
||||
|
||||
<div class="widget first">
|
||||
<div class="body">
|
||||
{if check_permission('cache_clear')}<a class="button basicBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a>{/if}
|
||||
|
||||
{if check_permission('cache_thumb')}<a class="button basicBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a>{/if}
|
||||
|
||||
{if check_permission('document_revisions')}<a class="button basicBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a>{/if}
|
||||
|
||||
{if check_permission('gen_settings')}<a class="button basicBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a>{/if}
|
||||
{if check_permission('cache_clear')}<a class="button redBtn clearCacheSess" href="javascript:void(0);">{#MAIN_STAT_CLEAR_CACHE_FULL#}</a> {/if}
|
||||
{if check_permission('cache_thumb')}<a class="button redBtn clearThumb" href="javascript:void(0);">{#MAIN_STAT_CLEAR_THUMB#}</a> {/if}
|
||||
{if check_permission('document_revisions')}<a class="button redBtn clearRev" href="javascript:void(0);">{#MAIN_STAT_CLEAR_REV#}</a> {/if}
|
||||
{if check_permission('gen_settings')}<a class="button redBtn clearCount" href="javascript:void(0);">{#MAIN_STAT_CLEAR_COUNT#}</a> {/if}
|
||||
{if check_permission('gen_settings_robots')}<a data-dialog="robots" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=robots&cp={$sess}">{#SETTINGS_FILE_ROBOTS#}</a> {/if}
|
||||
{if check_permission('gen_settings_fcustom')}<a data-dialog="custom" data-height="650" data-modal="true" class="button greenBtn openDialog" href="index.php?do=settings&action=custom&cp={$sess}">{#SETTINGS_FILE_CUSTOM#}</a>{/if}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -84,4 +83,5 @@
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
{include file="$codemirror_connect"}
|
@ -82,7 +82,7 @@
|
||||
<td>
|
||||
<strong><a class="rightDir" title="{#TEMPLATES_THEME_FOLDER#}" href="javascript:void(0);" onclick="textSelection('[tag:theme:',']');">[tag:theme:folder]</a></strong>
|
||||
</td>
|
||||
<td rowspan="27">
|
||||
<td rowspan="28">
|
||||
<textarea {$read_only} class="{if $php_forbidden==1}tpl_code_readonly{else}{/if}" wrap="off" style="width:100%; height:100%;" name="template_text" id="template_text">{$row->template_text|default:$prefab|escape}</textarea>
|
||||
<ul class="messages" style="margin-top: 10px;">
|
||||
<li class="highlight grey">
|
||||
@ -110,6 +110,12 @@
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<strong><a class="rightDir" title="{#TEMPLATES_RUBFOOTER#}" href="javascript:void(0);" onclick="textSelection('[tag:rubfooter]','');">[tag:rubfooter]</a></strong>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<strong><a class="rightDir" title="{#TEMPLATES_TITLE#}" href="javascript:void(0);" onclick="textSelection('[tag:title]','');">[tag:title]</a></strong>
|
||||
|
3113
class/class.core.php
3113
class/class.core.php
File diff suppressed because it is too large
Load Diff
@ -591,7 +591,8 @@ class AVE_DB
|
||||
|
||||
foreach ((array)$stack as $call)
|
||||
{
|
||||
if (@$call['class'] == __CLASS__) continue;
|
||||
if (@$call['class'] == __CLASS__)
|
||||
continue;
|
||||
|
||||
$function = $call['function'];
|
||||
|
||||
@ -611,7 +612,8 @@ class AVE_DB
|
||||
}
|
||||
|
||||
|
||||
/************************* Внешние методы класса *************************/
|
||||
/************************* Внешние методы класса *************************/
|
||||
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для выполнения запроса к MySQL
|
||||
@ -657,31 +659,39 @@ class AVE_DB
|
||||
*/
|
||||
public function Query($query, $TTL = null, $cache_id = '', $log = true)
|
||||
{
|
||||
// Если это документ, то меняем расположение
|
||||
if (substr($cache_id, 0, 3) == 'doc')
|
||||
{
|
||||
$cache_id = (int)str_replace('doc_', '', $cache_id);
|
||||
$cache_id = 'doc/' . (floor($cache_id / 1000)) . '/' . $cache_id;
|
||||
}
|
||||
|
||||
// Принудительная фильтрация запроса
|
||||
//$query = filter_var($query, FILTER_SANITIZE_STRING);
|
||||
|
||||
$result = array();
|
||||
|
||||
$TTL = strtoupper(substr(trim($query), 0, 6)) == 'SELECT' ? $TTL : null;
|
||||
/*
|
||||
// Не знаю кто поставил эту заглушку, но я выкл ее
|
||||
if (defined('ACP')) $TTL = null;
|
||||
*/
|
||||
if ($TTL && $TTL != "nocache")
|
||||
// Если это SELECT - то отслеживаем кеширование
|
||||
$TTL = strtoupper(substr(trim($query), 0, 6)) == 'SELECT'
|
||||
? $TTL
|
||||
: null;
|
||||
|
||||
// Если включен DEV MODE, то отключаем кеширование запросов
|
||||
if (defined('DEV_MODE') AND DEV_MODE)
|
||||
$TTL = null;
|
||||
|
||||
if ($TTL && ($TTL != 'nocache' AND $TTL != null))
|
||||
{
|
||||
$cache_file = md5($query);
|
||||
|
||||
$cache_dir = BASE_DIR . '/cache/sql/' . (trim($cache_id) > '' ? trim($cache_id) . '/' : substr($cache_file, 0, 2) . '/' . substr($cache_file, 2, 2) . '/' . substr($cache_file, 4, 2) . '/');
|
||||
$cache_dir = BASE_DIR . '/cache/sql/' . (trim($cache_id) > ''
|
||||
? trim($cache_id) . '/'
|
||||
: substr($cache_file, 0, 2) . '/' . substr($cache_file, 2, 2) . '/' . substr($cache_file, 4, 2) . '/');
|
||||
|
||||
if(! file_exists($cache_dir))
|
||||
if (! file_exists($cache_dir))
|
||||
mkdir($cache_dir, 0777, true);
|
||||
|
||||
if(! (file_exists($cache_dir . $cache_file) && ($TTL == -1 ? true : @time() - @filemtime($cache_dir . $cache_file) < $TTL)))
|
||||
if (! (file_exists($cache_dir . $cache_file) && ($TTL == -1 ? true : time() - filemtime($cache_dir . $cache_file) < $TTL)))
|
||||
{
|
||||
$res = $this->Real_Query($query, $log);
|
||||
|
||||
@ -702,6 +712,7 @@ class AVE_DB
|
||||
return $this->Real_Query($query, $log);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This method is needed for prepared statements. They require
|
||||
* the data type of the field to be bound with "i" s", etc.
|
||||
@ -737,6 +748,7 @@ class AVE_DB
|
||||
return '';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для экранирования специальных символов в строках для использования в выражениях SQL
|
||||
*
|
||||
@ -753,6 +765,7 @@ class AVE_DB
|
||||
return $value;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для экранирования специальных символов в строках для использования в выражениях SQL
|
||||
*
|
||||
@ -763,13 +776,26 @@ class AVE_DB
|
||||
{
|
||||
$value = htmlspecialchars($value);
|
||||
|
||||
$value = strtr($value, array(
|
||||
$search = array(
|
||||
'<' => '<',
|
||||
';' => ':',
|
||||
'|' => '|',
|
||||
'&' => '&',
|
||||
'>' => '>',
|
||||
"'" => ''',
|
||||
'"' => '"',
|
||||
')' => ')',
|
||||
'(' => '(',
|
||||
'{' => '{',
|
||||
'}' => '}',
|
||||
'$' => '$',
|
||||
'&gt;' => '>',
|
||||
"'" => "'"
|
||||
));
|
||||
'&gt;' => '>'
|
||||
);
|
||||
|
||||
$value = str_replace(array_keys($search), array_values($search), $value);
|
||||
$value = str_ireplace('%3Cscript', '', $value);
|
||||
|
||||
$value = filter_var($value, FILTER_SANITIZE_STRING);
|
||||
|
||||
if (! is_array($value))
|
||||
{
|
||||
@ -808,18 +834,23 @@ class AVE_DB
|
||||
*/
|
||||
public function NumAllRows($query, $TTL = null, $cache_id = '')
|
||||
{
|
||||
if ($TTL)
|
||||
{
|
||||
$cache_file = md5($query).'.count';
|
||||
// Если включен DEV MODE, то отключаем кеширование запросов
|
||||
if (defined('DEV_MODE') AND DEV_MODE)
|
||||
$TTL = null;
|
||||
|
||||
$cache_dir = BASE_DIR.'/cache/sql/'.(trim($cache_id) > ''
|
||||
? trim($cache_id).'/'
|
||||
: substr($cache_file, 0, 2).'/'.substr($cache_file, 2, 2).'/'.substr($cache_file, 4, 2).'/');
|
||||
if ($TTL AND ($TTL != "nocache" AND $TTL != null))
|
||||
{
|
||||
// Кол-во
|
||||
$cache_file = md5($query) . '.count';
|
||||
|
||||
$cache_dir = BASE_DIR . '/cache/sql/' . (trim($cache_id) > ''
|
||||
? trim($cache_id) . '/'
|
||||
: substr($cache_file, 0, 2) . '/'. substr($cache_file, 2, 2) . '/' . substr($cache_file, 4, 2) . '/');
|
||||
|
||||
if (! file_exists($cache_dir))
|
||||
mkdir($cache_dir, 0777, true);
|
||||
|
||||
if (! (file_exists($cache_dir.$cache_file) && ($TTL==-1 ? true : @time()-@filemtime($cache_dir.$cache_file) < $TTL)))
|
||||
if (! (file_exists($cache_dir . $cache_file) && ($TTL == -1 ? true : time() - filemtime($cache_dir . $cache_file) < $TTL)))
|
||||
{
|
||||
if ($query <> $this->_last_query)
|
||||
{
|
||||
@ -1147,5 +1178,27 @@ class AVE_DB
|
||||
return rrmdir($cache_dir);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для очищения кеша запросов
|
||||
*
|
||||
* @param $cache_id
|
||||
* @return bool
|
||||
*/
|
||||
public function clear_request($cache_id)
|
||||
{
|
||||
$request = request_get_settings($cache_id);
|
||||
|
||||
$cache_from_id = BASE_DIR . '/cache/sql/request/settings/' . (trim($request->Id) > ''
|
||||
? trim($request->Id) . '/'
|
||||
: '');
|
||||
|
||||
$cache_from_alias = BASE_DIR . '/cache/sql/request/settings/' . (trim($request->request_alias) > ''
|
||||
? trim($request->request_alias) . '/'
|
||||
: '');
|
||||
|
||||
return (rrmdir($cache_from_id) AND rrmdir($cache_from_alias));
|
||||
}
|
||||
|
||||
} // End AVE_DB class
|
||||
?>
|
@ -182,13 +182,82 @@ class AVE_Document
|
||||
return $field;
|
||||
}
|
||||
|
||||
/**
|
||||
* Внутренние методы
|
||||
*/
|
||||
|
||||
/**
|
||||
* Управление Документами
|
||||
*/
|
||||
function _get_rubric_fields ($id)
|
||||
{
|
||||
global $AVE_DB;
|
||||
|
||||
$sql = "
|
||||
SELECT
|
||||
Id,
|
||||
rubric_field_type,
|
||||
rubric_field_numeric
|
||||
FROM
|
||||
".PREFIX."_rubric_fields
|
||||
WHERE
|
||||
rubric_id = '" . $id . "'
|
||||
";
|
||||
|
||||
$query = $AVE_DB->Query($sql);
|
||||
|
||||
$ids = array();
|
||||
|
||||
while ($row = $query->FetchAssocArray())
|
||||
{
|
||||
$ids[$row['Id']]['rubric_field_type'] = $row['rubric_field_type'];
|
||||
$ids[$row['Id']]['rubric_field_numeric'] = (int)$row['rubric_field_numeric'];
|
||||
}
|
||||
|
||||
return $ids;
|
||||
}
|
||||
|
||||
|
||||
function _get_document_text_fields ($id)
|
||||
{
|
||||
global $AVE_DB;
|
||||
|
||||
$sql = "
|
||||
SELECT
|
||||
rubric_field_id
|
||||
FROM
|
||||
".PREFIX."_document_fields_text
|
||||
WHERE
|
||||
document_id = '" . $id . "'
|
||||
";
|
||||
|
||||
$query = $AVE_DB->Query($sql);
|
||||
|
||||
$ids = array();
|
||||
|
||||
while ($row = $query->GetCell())
|
||||
array_push($ids, $row);
|
||||
|
||||
return $ids;
|
||||
}
|
||||
|
||||
|
||||
function _get_rubric ($id)
|
||||
{
|
||||
global $AVE_DB;
|
||||
|
||||
if (! $id)
|
||||
return false;
|
||||
|
||||
$sql = "
|
||||
SELECT
|
||||
rubric_alias,
|
||||
rubric_alias_history,
|
||||
rubric_code_start,
|
||||
rubric_code_end
|
||||
FROM
|
||||
" . PREFIX . "_rubrics
|
||||
WHERE
|
||||
Id = '" . $id . "'
|
||||
";
|
||||
|
||||
return $AVE_DB->Query($sql)->FetchRow();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для получения списка документов в Панели управления
|
||||
@ -209,6 +278,9 @@ class AVE_Document
|
||||
$ex_docstatus = '';
|
||||
$navi_docstatus = '';
|
||||
|
||||
// При смене страницы убираем из сессии параметры выборки документов
|
||||
unset ($_SESSION['search_query']);
|
||||
|
||||
// Если в запросе пришел параметр на поиск документа по названию
|
||||
if (!empty($_REQUEST['QueryTitel']))
|
||||
{
|
||||
@ -428,6 +500,9 @@ class AVE_Document
|
||||
$db_sort = 'ORDER BY doc.Id DESC';
|
||||
$navi_sort = '&sort=id_desc';
|
||||
|
||||
// Параметры вывборки документов
|
||||
$search_query = base64_encode($_SERVER['QUERY_STRING']);
|
||||
|
||||
// Если в запросе используется параметр сортировки
|
||||
if (!empty($_REQUEST['sort']))
|
||||
{
|
||||
@ -597,6 +672,9 @@ class AVE_Document
|
||||
// Циклически обрабатываем полученные данные с целью приведения некоторых из них к удобочитаемому виду
|
||||
while ($row = $sql->FetchRow())
|
||||
{
|
||||
// Запомниаем в сесии, параметры выборки для документа
|
||||
$_SESSION['search_query'][$row->Id] = $search_query;
|
||||
|
||||
// Определяем количество комментариев, оставленных для данного документа
|
||||
$row->ist_remark = $AVE_DB->Query("
|
||||
SELECT
|
||||
@ -1085,23 +1163,27 @@ class AVE_Document
|
||||
/**
|
||||
* Метод, предназначенный для сохранения документа в БД
|
||||
*
|
||||
* @param int $rubric_id идентификатор Рубрики
|
||||
* @param int $document_id идентификатор Документа
|
||||
* @param array $data Документ в массиве структура - хитрая
|
||||
* @param bool $update_non_exists_fields Изменять поля на пустые
|
||||
* значения у не переданных полей или не надо
|
||||
* @param bool $rubric_cod Использовать код рубрики или не надо
|
||||
* возвращает номер документа если все удачно и false если все плохо
|
||||
* @param int $rubric_id Идентификатор Рубрики
|
||||
* @param int $document_id Идентификатор Документа или null, если документ новый
|
||||
* @param array $data Документ в массиве структура - хитрая
|
||||
* @param bool $update_non_exists_fields Изменять поля на пустые значения у не переданных полей или не надо
|
||||
* @param bool $rubric_code Использовать код рубрики или не надо
|
||||
* @param bool $revisions Использовать ревизии документов
|
||||
* @param bool $logs Писать системные сообщения в журнал
|
||||
* @param bool $generate Генерировать Meta
|
||||
*
|
||||
* return int/bool Возвращает номер документа если все удачно или false если все плохо
|
||||
*/
|
||||
|
||||
function documentSave($rubric_id, $document_id, $data, $update_non_exists_fields = false, $rubric_code = true, $revisions = true, $logs = true, $generate = true)
|
||||
function documentSave ($rubric_id, $document_id, $data, $update_non_exists_fields = false, $rubric_code = true, $revisions = true, $logs = true, $generate = true)
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
//-- Проверяем входящие данные -- //
|
||||
|
||||
$rubric_id = (int)$rubric_id;
|
||||
$document_id = (int)$document_id;
|
||||
// Если отсутсвует рубрика, ничего не делаем
|
||||
if(! $rubric_id)
|
||||
return false;
|
||||
|
||||
// Если отсутсвуют данные, ничего не делаем
|
||||
if(! isset($data))
|
||||
@ -1111,30 +1193,21 @@ class AVE_Document
|
||||
if(! isset($data['feld']))
|
||||
return false;
|
||||
|
||||
$rubric_id = (int)$rubric_id;
|
||||
$document_id = (int)$document_id;
|
||||
|
||||
// Определяем тип опреации
|
||||
$oper = 'INSERT';
|
||||
|
||||
// Забираем параметры рубрики
|
||||
$_rubric = $AVE_DB->Query("
|
||||
SELECT
|
||||
rubric_alias,
|
||||
rubric_alias_history,
|
||||
rubric_code_start,
|
||||
rubric_code_end
|
||||
FROM
|
||||
" . PREFIX . "_rubrics
|
||||
WHERE
|
||||
Id = '" . $rubric_id . "'
|
||||
")->FetchRow();
|
||||
$_rubric = $this->_get_rubric($rubric_id);
|
||||
|
||||
// Запускаем триггер перед сохранением
|
||||
Hooks::trigger('DocumentBeforeSave', array('rubric_id' => $rubric_id, 'document_id' => $document_id, 'data' => $data));
|
||||
Hooks::trigger('DocumentBeforeSave', array('rubric_id' => $rubric_id, 'document_id' => $document_id, 'data' => $data, 'requests' => $_REQUEST));
|
||||
|
||||
// Выполняем стартовый код рубрики
|
||||
if ($rubric_code)
|
||||
{
|
||||
eval ('?>' . $_rubric->rubric_code_start . '<?');
|
||||
}
|
||||
eval ('?'.'>' . $_rubric->rubric_code_start . '<'.'?');
|
||||
|
||||
// Если нет данных для сохранения, перкращаем сохранение и переходим на страницу документов
|
||||
if (empty($data))
|
||||
@ -1154,6 +1227,7 @@ class AVE_Document
|
||||
|| (defined('UGROUP') && UGROUP == 1) ))
|
||||
return false;
|
||||
|
||||
// Title документа
|
||||
$data['document_title'] = $_url = empty($data['document_title'])
|
||||
? $AVE_Template->get_config_vars('DOC_WITHOUT_TITLE')
|
||||
: $data['document_title'];
|
||||
@ -1332,7 +1406,7 @@ class AVE_Document
|
||||
else
|
||||
{
|
||||
// Если оператор INSERT
|
||||
// Если новый алиас документа, сопадает с алиасом в истории, просто стираем историю
|
||||
// Если новый алиас документа, совпадает с алиасом в истории, просто стираем историю
|
||||
$AVE_DB->Query("
|
||||
DELETE FROM
|
||||
". PREFIX . "_document_alias_history
|
||||
@ -1378,9 +1452,9 @@ class AVE_Document
|
||||
$fields = array();
|
||||
|
||||
// Получаем структуру документа
|
||||
if($oper == 'INSERT')
|
||||
if ($oper == 'INSERT')
|
||||
{
|
||||
$sql = $AVE_DB->Query("
|
||||
$sql = "
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@ -1389,28 +1463,29 @@ class AVE_Document
|
||||
rubric_id = '" . $rubric_id . "'
|
||||
ORDER BY
|
||||
rubric_field_position ASC
|
||||
");
|
||||
";
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql = $AVE_DB->Query("
|
||||
$sql = "
|
||||
SELECT
|
||||
doc.Id AS df_id,
|
||||
rub.*,
|
||||
rubric_field_default,
|
||||
doc.field_value
|
||||
df.field_value
|
||||
FROM
|
||||
" . PREFIX . "_rubric_fields AS rub
|
||||
LEFT JOIN
|
||||
" . PREFIX . "_document_fields AS doc
|
||||
" . PREFIX . "_document_fields AS df
|
||||
ON rubric_field_id = rub.Id
|
||||
WHERE
|
||||
document_id = '" . $document_id . "'
|
||||
ORDER BY
|
||||
rubric_field_position ASC
|
||||
");
|
||||
";
|
||||
}
|
||||
|
||||
$query = $AVE_DB->Query($sql);
|
||||
|
||||
// Если пришел вызов поля, который связан с модулем
|
||||
if (isset($data['field_module']))
|
||||
{
|
||||
@ -1420,18 +1495,18 @@ class AVE_Document
|
||||
|
||||
$mod_function = (string)$mod_val . '_document_save';
|
||||
|
||||
$fields = $mod_function($mod_key, $mod_val, $sql, $data['feld'][$mod_key], $mod_key, $rubric_id);
|
||||
$fields = $mod_function($mod_key, $mod_val, $query, $data['feld'][$mod_key], $mod_key, $rubric_id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
while ($row = $sql->FetchRow())
|
||||
while ($row = $query->FetchRow())
|
||||
{
|
||||
array_push($fields, $row);
|
||||
$fields[$row->Id] = $row;
|
||||
}
|
||||
}
|
||||
|
||||
unset($sql);
|
||||
unset($sql, $query);
|
||||
|
||||
$where = ($oper == 'UPDATE' ? 'WHERE Id = ' . $document_id : '');
|
||||
$author = ($oper != 'UPDATE' ? 'document_author_id = ' . $_SESSION['user_id'] . ',' : '');
|
||||
@ -1518,8 +1593,13 @@ class AVE_Document
|
||||
if ($logs)
|
||||
reportLog(($oper=='INSERT'
|
||||
? $AVE_Template->get_config_vars('DOC_SAVE_ADD')
|
||||
: $AVE_Template->get_config_vars('DOC_SAVE_EDIT'))
|
||||
. $AVE_Template->get_config_vars('DOC_SAVE_LOG_DOC') .' (' . $data['document_title'] . ' Id: ' . $document_id . ')');
|
||||
: $AVE_Template->get_config_vars('DOC_SAVE_EDIT')) . $AVE_Template->get_config_vars('DOC_SAVE_LOG_DOC') .' (' . $data['document_title'] . ' Id: ' . $document_id . ')');
|
||||
|
||||
// Получаем ID полей в данной рубрике
|
||||
$rubric_fields = $this->_get_rubric_fields($rubric_id);
|
||||
|
||||
// Получаем ID текстовых полей в данном документе
|
||||
$document_text_fields = $this->_get_document_text_fields($document_id);
|
||||
|
||||
// Циклически обрабатываем поля документа
|
||||
foreach ($fields as $k => $v)
|
||||
@ -1535,23 +1615,10 @@ class AVE_Document
|
||||
? $data['feld'][$fld_id]
|
||||
: $v->rubric_field_default);
|
||||
|
||||
if (! $AVE_DB->Query("
|
||||
SELECT 1
|
||||
FROM
|
||||
" . PREFIX . "_rubric_fields
|
||||
WHERE
|
||||
Id = '" . $fld_id . "'
|
||||
AND
|
||||
rubric_id = '" . $rubric_id . "'
|
||||
LIMIT 1
|
||||
")->NumRows())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------- */
|
||||
|
||||
if(! is_array($fld_val))
|
||||
// Если значение поля не является массивом
|
||||
if (! is_array ($fld_val))
|
||||
{
|
||||
// Если запрещено использование php кода, тогда обнуляем данные поля
|
||||
if (! check_permission('document_php'))
|
||||
@ -1565,23 +1632,13 @@ class AVE_Document
|
||||
$fld_val = pretty_chars($fld_val);
|
||||
}
|
||||
|
||||
$field_rubric = $AVE_DB->Query("
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
" . PREFIX . "_rubric_fields
|
||||
WHERE
|
||||
Id = '" . $fld_id . "'
|
||||
")->FetchRow();
|
||||
|
||||
// Отправляем полученные данные в функцию поля, в раздел "Save"
|
||||
// для преобразования перед сохранением
|
||||
$func = 'get_field_' . $field_rubric->rubric_field_type;
|
||||
$func = 'get_field_' . $rubric_fields[$fld_id]['rubric_field_type'];
|
||||
|
||||
if (is_callable($func))
|
||||
{
|
||||
// Если вызывается функция
|
||||
if (is_callable ($func))
|
||||
$fld_val = $func($fld_val, 'save', $fld_id, '', 0, $x, 0, 0, 0);
|
||||
}
|
||||
|
||||
//-- Собираем запрос к БД на добавление нового поля с его содержимым --//
|
||||
|
||||
@ -1597,9 +1654,9 @@ class AVE_Document
|
||||
? ''
|
||||
: "rubric_field_id = '" . $fld_id . "', document_id = '" . $document_id . "',");
|
||||
|
||||
$fval = (is_array($fld_val)
|
||||
? serialize($fld_val)
|
||||
: ($fld_val));
|
||||
$fval = is_array ($fld_val)
|
||||
? serialize ($fld_val)
|
||||
: $fld_val;
|
||||
|
||||
$substr = 500;
|
||||
|
||||
@ -1607,22 +1664,22 @@ class AVE_Document
|
||||
$substr = 499;
|
||||
|
||||
// Сохраняем первые 500 символов
|
||||
$f_val_500 = mb_substr($fval, 0, $substr);
|
||||
$f_val_500 = mb_substr ($fval, 0, $substr);
|
||||
|
||||
// Проверяем чтобы не было в конце слеша - \
|
||||
if (mb_substr($f_val_500, 498, 1) == '\\')
|
||||
$slash = true;
|
||||
|
||||
if ($slash)
|
||||
$f_val_500 = rtrim($f_val_500, '\\');
|
||||
$f_val_500 = rtrim ($f_val_500, '\\');
|
||||
|
||||
$sql = "
|
||||
$operator
|
||||
SET
|
||||
$insert
|
||||
field_value = '" . $f_val_500 . "',
|
||||
field_number_value = '" . (($field_rubric->rubric_field_numeric)
|
||||
? preg_replace('/[^\d.]/', '', $fld_val)
|
||||
field_number_value = '" . (($rubric_fields[$fld_id]['rubric_field_numeric'])
|
||||
? preg_replace ('/[^\d.]/', '', $fld_val)
|
||||
: 0) . "',
|
||||
document_in_search = '" . $search . "'
|
||||
$where
|
||||
@ -1636,27 +1693,21 @@ class AVE_Document
|
||||
if (mb_strlen($fval) > $substr)
|
||||
{
|
||||
// Проверяем есть ли запись о поле в БД
|
||||
$check_field = $AVE_DB->Query("
|
||||
SELECT
|
||||
Id
|
||||
FROM
|
||||
" .PREFIX . "_document_fields_text
|
||||
WHERE
|
||||
document_id = '" . $document_id . "'
|
||||
AND
|
||||
rubric_field_id='" . $fld_id . "'
|
||||
")->GetCell();
|
||||
$check_field = false;
|
||||
|
||||
$operator = ($check_field > 0
|
||||
if (in_array ($fld_id, $document_text_fields))
|
||||
$check_field = true;
|
||||
|
||||
$operator = ($check_field
|
||||
? "UPDATE " . PREFIX . "_document_fields_text"
|
||||
: "INSERT INTO " . PREFIX . "_document_fields_text"
|
||||
);
|
||||
|
||||
$where = ($check_field > 0
|
||||
$where = ($check_field
|
||||
? "WHERE document_id = '" . $document_id . "' AND rubric_field_id = '" . $fld_id . "'"
|
||||
: '');
|
||||
|
||||
$insert = ($check_field > 0
|
||||
$insert = ($check_field
|
||||
? ''
|
||||
: "rubric_field_id = '" . $fld_id . "', document_id = '" . $document_id . "',");
|
||||
|
||||
@ -1701,22 +1752,20 @@ class AVE_Document
|
||||
doc_id = '" . $document_id . "'
|
||||
");
|
||||
|
||||
// Выполняем код рубрики, после сохранения
|
||||
if ($rubric_code)
|
||||
{
|
||||
eval ('?>' . $_rubric->rubric_code_end . '<?');
|
||||
}
|
||||
|
||||
// Запускаем триггер после сохранения
|
||||
Hooks::trigger('DocumentAfterSave', array('rubric_id' => $rubric_id, 'document_id' => $document_id, 'data' => $data, 'field_module' => $data['field_module']));
|
||||
|
||||
// Выполняем код рубрики, после сохранения
|
||||
if ($rubric_code)
|
||||
eval ('?>' . $_rubric->rubric_code_end . '<?');
|
||||
|
||||
// Чистим кеш
|
||||
$AVE_DB->clearcache('rub_' . $rubric_id);
|
||||
$AVE_DB->clearcache('doc_' . $document_id);
|
||||
$AVE_DB->clearcompile('doc_' . $document_id);
|
||||
$AVE_DB->clearcacherequest('doc_' . $document_id);
|
||||
|
||||
unset($_rubric);
|
||||
unset ($_rubric, $fields);
|
||||
|
||||
// Дополнительные обработки
|
||||
if ($generate)
|
||||
@ -1819,7 +1868,9 @@ class AVE_Document
|
||||
$innavi = check_permission_acp('navigation_new') ? '&innavi=1' : '';
|
||||
|
||||
// Определяем статус документа
|
||||
$document_status = !empty($_REQUEST['document_status']) ? (int)$_REQUEST['document_status'] : '0';
|
||||
$document_status = ! empty($_REQUEST['document_status'])
|
||||
? (int)$_REQUEST['document_status']
|
||||
: '0';
|
||||
|
||||
// Если статус документа не определен
|
||||
if (empty($document_status) && $_SESSION['user_group'] != 1)
|
||||
@ -1832,7 +1883,7 @@ class AVE_Document
|
||||
// которые пользователь ввел в поля документа
|
||||
foreach ($_POST['feld'] as $val)
|
||||
{
|
||||
if (!empty($val))
|
||||
if (! empty($val))
|
||||
{
|
||||
$newtext .= $val;
|
||||
$newtext .= "\n---------------------\n";
|
||||
@ -1850,6 +1901,7 @@ class AVE_Document
|
||||
$body_to_admin = str_replace('%N%', "\n", $body_to_admin);
|
||||
$body_to_admin = str_replace('%TITLE%', stripslashes($_POST['document_title']), $body_to_admin);
|
||||
$body_to_admin = str_replace('%USER%', "'" . $_SESSION['user_name'] . "'", $body_to_admin);
|
||||
|
||||
send_mail(
|
||||
$system_mail,
|
||||
$body_to_admin . $text,
|
||||
@ -2201,6 +2253,7 @@ class AVE_Document
|
||||
groups.Id AS group_id,
|
||||
rub.*,
|
||||
rubric_field_default,
|
||||
rubric_field_alias,
|
||||
doc.field_value,
|
||||
field_more.field_value as field_value_more
|
||||
FROM
|
||||
@ -2263,6 +2316,7 @@ class AVE_Document
|
||||
$fields_list[$group_id]['fields'][$field->Id]['Id'] = $field->Id;
|
||||
$fields_list[$group_id]['fields'][$field->Id]['rubric_id'] = $row->rubric_id;
|
||||
$fields_list[$group_id]['fields'][$field->Id]['rubric_field_title'] = $field->rubric_field_title;
|
||||
$fields_list[$group_id]['fields'][$field->Id]['rubric_field_alias'] = $field->rubric_field_alias;
|
||||
$fields_list[$group_id]['fields'][$field->Id]['rubric_field_description'] = $field->rubric_field_description;
|
||||
$fields_list[$group_id]['fields'][$field->Id]['result'] = $field->field;
|
||||
}
|
||||
@ -3693,10 +3747,47 @@ class AVE_Document
|
||||
exit;
|
||||
}
|
||||
|
||||
$search_query = $_SESSION['search_query'][$document_id] ? true : false;
|
||||
|
||||
$AVE_Template->assign('search_query', $search_query);
|
||||
$AVE_Template->assign($document);
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('documents/form_after.tpl'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Редирект сохраненного документа на раздел, учитывая фильтр
|
||||
*
|
||||
*/
|
||||
function documentSaveRedirect()
|
||||
{
|
||||
$document_id = isset($_REQUEST['document_id'])
|
||||
? (int)$_REQUEST['document_id']
|
||||
: 0;
|
||||
|
||||
// Если не пришел $documet_id
|
||||
if (! $document_id)
|
||||
{
|
||||
header('Location:index.php?do=docs&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Параметры поиска
|
||||
$search_query = base64_decode($_SESSION['search_query'][$document_id]);
|
||||
|
||||
$search_query = $search_query
|
||||
? $search_query
|
||||
: 'do=docs&cp=' . SESSION;
|
||||
|
||||
// Убираем из сессии данный документ
|
||||
unset ($_SESSION['search_query'][$document_id]);
|
||||
|
||||
// Переходим на страницу
|
||||
header('Location: index.php?' . $search_query);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для смены автора документа
|
||||
*
|
||||
|
@ -1,406 +1,497 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* AVE.cms
|
||||
*
|
||||
* @package AVE.cms
|
||||
* @version 3.x
|
||||
* @filesource
|
||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
|
||||
*
|
||||
*/
|
||||
|
||||
class AVE_Module
|
||||
{
|
||||
/**
|
||||
* Внутренние методы
|
||||
*/
|
||||
|
||||
/**
|
||||
* Метод, который обрабатывает все module.php и записывает как свойство класса списки модулей
|
||||
*/
|
||||
function getModules()
|
||||
{
|
||||
global $AVE_DB;
|
||||
|
||||
$modules = array();
|
||||
|
||||
// Получаем из БД информацию о всех установленных модулях
|
||||
$modules_db = $this->moduleListGet();
|
||||
|
||||
// Определяем директорию, где хранятся модули
|
||||
$d = dir(BASE_DIR . '/modules');
|
||||
|
||||
// Циклически обрабатываем директории
|
||||
while (false !== ($entry = $d->read()))
|
||||
{
|
||||
if (substr($entry, 0, 1) == '.') continue;
|
||||
|
||||
$module_dir = $d->path . '/' . $entry;
|
||||
if (!is_dir($module_dir)) continue;
|
||||
|
||||
$modul = array();
|
||||
if (!(is_file($module_dir . '/module.php') && @include($module_dir . '/module.php')))
|
||||
{
|
||||
// Если не удалось подключить основной файл модуля module.php - Фиксируем ошибку
|
||||
$modules['errors'][] = $entry;
|
||||
continue;
|
||||
}
|
||||
|
||||
// Дополняем массив с данными модуля
|
||||
$modul['permission'] = check_permission('mod_'. $modul['ModuleSysName']);
|
||||
$row = isset($modules_db[$modul['ModuleName']]) ? $modules_db[$modul['ModuleName']] : false;
|
||||
|
||||
// установленные модули
|
||||
if ($row)
|
||||
{
|
||||
$modul['status'] = $row->ModuleStatus;
|
||||
$modul['id'] = $row->Id;
|
||||
$modul['need_update'] = ($row->ModuleVersion != $modul['ModuleVersion']);
|
||||
$modul['ModuleVersion'] = $row->ModuleVersion;
|
||||
$modul['template'] = ($row->ModuleTemplate ? $row->ModuleTemplate : 0);
|
||||
}
|
||||
// неустановленные модули
|
||||
else
|
||||
{
|
||||
$modul['status'] = false;
|
||||
$modul['id'] = $modul['ModuleSysName'];
|
||||
$modul['template'] = (!empty($modul['ModuleTemplate']) ? $modul['ModuleTemplate'] : '');
|
||||
}
|
||||
// записываем в массив
|
||||
$modules[$modul['ModuleSysName']] = $modul;
|
||||
}
|
||||
$d->Close();
|
||||
return $modules;
|
||||
}
|
||||
|
||||
/**
|
||||
* Внешние методы
|
||||
*/
|
||||
|
||||
/**
|
||||
* Метод, преданзначеный для выода модулей
|
||||
* AVE.cms
|
||||
*
|
||||
* @package AVE.cms
|
||||
* @version 3.x
|
||||
* @filesource
|
||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
|
||||
*
|
||||
*/
|
||||
function moduleList()
|
||||
|
||||
class AVE_Module
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
public $_modules = array();
|
||||
|
||||
$assign = array(); // Массив для передачи в Smarty
|
||||
$errors = array(); // Массив с ошибками
|
||||
|
||||
// Получаем список всех шаблонов
|
||||
$sql = $AVE_DB->Query("
|
||||
SELECT Id, template_title
|
||||
FROM " . PREFIX . "_templates
|
||||
");
|
||||
while ($row = $sql->FetchRow())
|
||||
function __construct()
|
||||
{
|
||||
$assign['all_templates'][$row->Id] = htmlspecialchars($row->template_title, ENT_QUOTES);
|
||||
$this->_modules = $this->getModules();
|
||||
}
|
||||
|
||||
$author_title = $AVE_Template->get_config_vars('MODULES_AUTHOR');
|
||||
$modules = $this->getModules();
|
||||
foreach ($modules as $module)
|
||||
/**
|
||||
* Метод, который обрабатывает все module.php и записывает как свойство класса списки модулей
|
||||
*/
|
||||
function getModules()
|
||||
{
|
||||
$module['info'] = $module['ModuleDescription'] . (!$module['ModuleAutor'] ? '<br /><br />' : "<br /><br /><strong>$author_title</strong><br />" . $module['ModuleAutor'] . "<br />") . '<br /><em>' . $module['ModuleCopyright'] . '</em>';
|
||||
// установленные модули
|
||||
if ($module['status'] !== false)
|
||||
$modules = array();
|
||||
|
||||
// Получаем из БД информацию о всех установленных модулях
|
||||
$modules_db = $this->moduleListGet();
|
||||
|
||||
// Определяем директорию, где хранятся модули
|
||||
$d = dir(BASE_DIR . '/modules');
|
||||
|
||||
// Циклически обрабатываем директории
|
||||
while (false !== ($entry = $d->read()))
|
||||
{
|
||||
$installed_modules[$module['ModuleName']] = $module;
|
||||
}
|
||||
// неустановленные модули
|
||||
else
|
||||
{
|
||||
$not_installed_modules[$module['ModuleName']] = $module;
|
||||
if (substr($entry, 0, 1) == '.')
|
||||
continue;
|
||||
|
||||
if (! is_dir(BASE_DIR . '/modules/' . $entry))
|
||||
continue;
|
||||
|
||||
$AVE_Template = new AVE_Template(BASE_DIR . '/admin/templates');
|
||||
|
||||
$_no_lang_file = false;
|
||||
|
||||
// Языковой файл
|
||||
$lang_file = BASE_DIR . '/modules/'.$entry.'/lang/' . $_SESSION['user_language'] . '.txt';
|
||||
|
||||
// Отдаем смарти переменные
|
||||
if (file_exists($lang_file))
|
||||
$AVE_Template->config_load($lang_file, 'name');
|
||||
else
|
||||
$_no_lang_file = true;
|
||||
|
||||
$module_dir = $d->path . '/' . $entry;
|
||||
|
||||
if (! is_dir($module_dir))
|
||||
continue;
|
||||
|
||||
$module = array();
|
||||
|
||||
if (! (is_file($module_dir . '/info.php') && @include($module_dir . '/info.php')))
|
||||
{
|
||||
// Если не удалось подключить основной файл модуля module.php - Фиксируем ошибку
|
||||
$modules['errors'][] = $entry;
|
||||
continue;
|
||||
}
|
||||
|
||||
$module['ModuleName'] = !$_no_lang_file
|
||||
? $AVE_Template->get_config_vars('MODULE_NAME')
|
||||
: 'No name';
|
||||
|
||||
$module['ModuleDescription'] = !$_no_lang_file
|
||||
? $AVE_Template->get_config_vars('MODULE_DESCRIPTION')
|
||||
: 'No description';
|
||||
|
||||
// Дополняем массив с данными модуля
|
||||
$module['permission'] = check_permission('mod_'. $module['ModuleSysName']);
|
||||
|
||||
// Установлен/Не установлен по системному имени
|
||||
$row = isset($modules_db[$module['ModuleSysName']])
|
||||
? $modules_db[$module['ModuleSysName']]
|
||||
: false;
|
||||
|
||||
// установленные модули
|
||||
if ($row)
|
||||
{
|
||||
$module['status'] = $row->ModuleStatus;
|
||||
$module['id'] = $row->Id;
|
||||
$module['need_update'] = ($row->ModuleVersion != $module['ModuleVersion']);
|
||||
$module['template'] = ($row->ModuleTemplate ? $row->ModuleTemplate : 0);
|
||||
$module['ModuleVersion'] = $row->ModuleVersion;
|
||||
}
|
||||
// неустановленные модули
|
||||
else
|
||||
{
|
||||
$module['status'] = false;
|
||||
$module['id'] = $module['ModuleSysName'];
|
||||
$module['template'] = (! empty($module['ModuleTemplate']) ? $module['ModuleTemplate'] : '');
|
||||
}
|
||||
|
||||
// записываем в массив
|
||||
$modules[$module['ModuleSysName']] = $module;
|
||||
|
||||
unset ($module);
|
||||
}
|
||||
|
||||
// Закрываем папку
|
||||
$d->Close();
|
||||
|
||||
return $modules;
|
||||
}
|
||||
!empty($installed_modules) ? ksort($installed_modules) : $installed_modules = '';
|
||||
!empty($not_installed_modules) ? ksort($not_installed_modules) : $not_installed_modules = '';
|
||||
|
||||
$assign['installed_modules'] = $installed_modules;
|
||||
$assign['not_installed_modules'] = $not_installed_modules;
|
||||
|
||||
// Массив с ошибками
|
||||
if(!empty($modules['errors'])){
|
||||
foreach ($modules['errors'] as $error)
|
||||
{
|
||||
$assign['errors'][] = $AVE_Template->get_config_vars('MODULES_ERROR') . $error;
|
||||
}
|
||||
}
|
||||
// Передаем данные в шаблон и отображаем страницу со списком модулей
|
||||
$AVE_Template->assign($assign);
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('modules/modules.tpl'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для обновления в БД информации о шаблонах модулей
|
||||
*
|
||||
*/
|
||||
function moduleOptionsSave()
|
||||
{
|
||||
global $AVE_DB;
|
||||
|
||||
// Циклически обрабатываем массив с информацией о шаблонах модулей
|
||||
foreach ($_POST['Template'] as $id => $template_id)
|
||||
/**
|
||||
* Метод, преданзначеный для выода модулей
|
||||
*
|
||||
*/
|
||||
function moduleList()
|
||||
{
|
||||
// Обновление информации о шаблоне модуля
|
||||
$AVE_DB->Query("
|
||||
UPDATE " . PREFIX . "_module
|
||||
SET ModuleTemplate = '" . (int)$template_id . "'
|
||||
WHERE Id = '" . (int)$id . "'
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
$assign = array(); // Массив для передачи в Smarty
|
||||
$errors = array(); // Массив с ошибками
|
||||
|
||||
// Получаем список всех шаблонов
|
||||
$sql = $AVE_DB->Query("
|
||||
SELECT
|
||||
Id,
|
||||
template_title
|
||||
FROM
|
||||
" . PREFIX . "_templates
|
||||
");
|
||||
}
|
||||
|
||||
// Выполянем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
while ($row = $sql->FetchRow())
|
||||
$assign['all_templates'][$row->Id] = htmlspecialchars($row->template_title, ENT_QUOTES);
|
||||
|
||||
/**
|
||||
* Метод, предназанченный для установки или переустановки модуля
|
||||
*
|
||||
*/
|
||||
function moduleInstall()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
// Заголовок: Автор модуля
|
||||
$author_title = $AVE_Template->get_config_vars('MODULES_AUTHOR');
|
||||
|
||||
// Получаем данные модуля
|
||||
$modules = $this->getModules();
|
||||
$modul = $modules[MODULE_PATH];
|
||||
// Получаем список всех модулей
|
||||
$modules = $this->_modules;
|
||||
|
||||
// Удаляем информацию о модуле в таблице module
|
||||
$AVE_DB->Query("
|
||||
DELETE
|
||||
FROM " . PREFIX . "_module
|
||||
WHERE ModuleSysName = '" . MODULE_PATH . "'
|
||||
");
|
||||
|
||||
// Определяем, имеет ли модуль возможность настройки в Панели управления
|
||||
$modul['ModuleAdminEdit'] = (!empty($modul['ModuleAdminEdit'])) ? $modul['ModuleAdminEdit'] : 0;
|
||||
|
||||
// Определяем, имеет ли модуль возможность смены шаблона
|
||||
$modul['ModuleTemplate'] = ($modul['ModuleTemplate']) ? $modul['ModuleTemplate'] : 0;
|
||||
|
||||
// Добавляем информацию о модуле в таблицу module
|
||||
$AVE_DB->Query("
|
||||
INSERT " . PREFIX . "_module
|
||||
SET
|
||||
ModuleName = '" . $modul['ModuleName'] . "',
|
||||
ModuleStatus = '1',
|
||||
ModuleAveTag = '" . $modul['ModuleAveTag'] . "',
|
||||
ModulePHPTag = '" . $modul['ModulePHPTag'] . "',
|
||||
ModuleFunction = '" . $modul['ModuleFunction'] . "',
|
||||
ModuleIsFunction = '" . $modul['ModuleIsFunction'] . "',
|
||||
ModuleSysName = '" . MODULE_PATH . "',
|
||||
ModuleVersion = '" . $modul['ModuleVersion'] . "',
|
||||
ModuleTemplate = '" . $modul['ModuleTemplate'] . "',
|
||||
ModuleAdminEdit = '" . $modul['ModuleAdminEdit'] . "'
|
||||
");
|
||||
|
||||
// Подключаем файл с запросами к БД для данного модуля
|
||||
$module_sql_deinstall = array();
|
||||
$module_sql_install = array();
|
||||
$sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php';
|
||||
if (is_file($sql_file) && @include($sql_file))
|
||||
{
|
||||
// Выполняем запросы удаления таблиц модуля
|
||||
// из массива $module_sql_deinstall файла sql.php
|
||||
foreach ($module_sql_deinstall as $sql)
|
||||
foreach ($modules as $module)
|
||||
{
|
||||
$AVE_DB->Query(str_replace('CPPREFIX', PREFIX, $sql));
|
||||
$module['info'] = $module['ModuleDescription'] . (! $module['ModuleAutor']
|
||||
? '<br /><br />'
|
||||
: "<br /><br /><strong>$author_title</strong><br />" . $module['ModuleAutor'] . "<br />") . '<br /><em>' . $module['ModuleCopyright'] . '</em>';
|
||||
// установленные модули
|
||||
if ($module['status'] !== false)
|
||||
$installed_modules[$module['ModuleSysName']] = $module;
|
||||
// неустановленные модули
|
||||
else
|
||||
$not_installed_modules[$module['ModuleSysName']] = $module;
|
||||
}
|
||||
|
||||
// Выполняем запросы создания таблиц и данных модуля
|
||||
// из массива $module_sql_install файла sql.php
|
||||
foreach ($module_sql_install as $sql)
|
||||
! empty($installed_modules)
|
||||
? ksort($installed_modules)
|
||||
: $installed_modules = '';
|
||||
|
||||
! empty($not_installed_modules)
|
||||
? ksort($not_installed_modules)
|
||||
: $not_installed_modules = '';
|
||||
|
||||
$assign['installed_modules'] = $installed_modules;
|
||||
$assign['not_installed_modules'] = $not_installed_modules;
|
||||
|
||||
// Массив с ошибками
|
||||
if (! empty($modules['errors']))
|
||||
{
|
||||
$AVE_DB->Query(str_replace('CPPREFIX', PREFIX, $sql));
|
||||
foreach ($modules['errors'] as $error)
|
||||
{
|
||||
$assign['errors'][] = $AVE_Template->get_config_vars('MODULES_ERROR') . $error;
|
||||
}
|
||||
}
|
||||
|
||||
// Передаем данные в шаблон и отображаем страницу со списком модулей
|
||||
$AVE_Template->assign($assign);
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('modules/modules.tpl'));
|
||||
}
|
||||
// Сохраняем системное сообщение в журнал
|
||||
($_REQUEST['action'] == "reinstall") ? reportLog($AVE_Template->get_config_vars('MODULES_ACTION_REINSTALL') . ' (' . $modul['ModuleName'] . ')') : reportLog($AVE_Template->get_config_vars('MODULES_ACTION_INSTALL') . ' (' . $modul['ModuleName'] . ')');
|
||||
|
||||
// Выполняем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для обновления модуля при увеличении номера версии модуля
|
||||
*
|
||||
*/
|
||||
function moduleUpdate()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
// Подключаем файл с запросами к БД для данного модуля
|
||||
$module_sql_update = array();
|
||||
$sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php';
|
||||
$mod_file = BASE_DIR . '/modules/' . MODULE_PATH . '/module.php';
|
||||
if (file_exists($mod_file) && file_exists($sql_file))
|
||||
/**
|
||||
* Метод получения списка модулей
|
||||
*
|
||||
* @param int $status статус возвращаемых модулей
|
||||
* 1 - активные модули
|
||||
* 0 - неактивные модули
|
||||
* если не указано возвращает модули без учета статуса
|
||||
* @return array
|
||||
*/
|
||||
function moduleListGet($status = null)
|
||||
{
|
||||
include($mod_file);
|
||||
include($sql_file);
|
||||
// Выполняем запросы обновления модуля
|
||||
// из массива $module_sql_update файла sql.php
|
||||
foreach ($module_sql_update as $sql)
|
||||
global $AVE_DB;
|
||||
|
||||
$modules = array();
|
||||
|
||||
// Условие, определяющее статус документа для запроса к БД
|
||||
$where_status = ($status !== null)
|
||||
? "WHERE ModuleStatus = '" . (int)$status . "'"
|
||||
: '';
|
||||
|
||||
// Выполняем запрос к БД и получаем список документов,
|
||||
// согласно статусу, либо все модули, если статус не указан
|
||||
$sql = $AVE_DB->Query("
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
" . PREFIX . "_module
|
||||
" . $where_status . "
|
||||
ORDER BY
|
||||
ModuleName ASC
|
||||
");
|
||||
|
||||
while ($row = $sql->FetchRow())
|
||||
$modules[$row->ModuleSysName] = $row;
|
||||
|
||||
// Возвращаем список модулей
|
||||
return $modules;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для обновления в БД информации о шаблонах модулей
|
||||
*
|
||||
*/
|
||||
function moduleOptionsSave()
|
||||
{
|
||||
global $AVE_DB;
|
||||
|
||||
// Циклически обрабатываем массив с информацией о шаблонах модулей
|
||||
foreach ($_POST['Template'] as $id => $template_id)
|
||||
{
|
||||
$AVE_DB->Query(str_replace('CPPREFIX', PREFIX, $sql));
|
||||
// Обновление информации о шаблоне модуля
|
||||
$AVE_DB->Query("
|
||||
UPDATE
|
||||
" . PREFIX . "_module
|
||||
SET
|
||||
ModuleTemplate = '" . (int)$template_id . "'
|
||||
WHERE
|
||||
Id = '" . (int)$id . "'
|
||||
");
|
||||
}
|
||||
|
||||
// Выполянем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
// Обновляем модуль, если в нем не применяется (отсутствует) файл sql.php
|
||||
elseif (file_exists($mod_file) && file_exists($sql_file) === false)
|
||||
|
||||
/**
|
||||
* Метод, предназанченный для установки или переустановки модуля
|
||||
*
|
||||
*/
|
||||
function moduleInstall()
|
||||
{
|
||||
include($mod_file);
|
||||
$AVE_DB->Query("
|
||||
UPDATE " . PREFIX . "_module
|
||||
SET
|
||||
ModuleName = '" . $modul['ModuleName'] . "',
|
||||
ModuleStatus = '1',
|
||||
ModuleAveTag = '" . $modul['ModuleAveTag'] . "',
|
||||
ModulePHPTag = '" . $modul['ModulePHPTag'] . "',
|
||||
ModuleFunction = '" . $modul['ModuleFunction'] . "',
|
||||
ModuleIsFunction = '" . $modul['ModuleIsFunction'] . "',
|
||||
ModuleSysName = '" . MODULE_PATH . "',
|
||||
ModuleVersion = '" . $modul['ModuleVersion'] . "',
|
||||
ModuleTemplate = '" . $modul['ModuleTemplate'] . "',
|
||||
ModuleAdminEdit = '" . $modul['ModuleAdminEdit'] . "'
|
||||
WHERE
|
||||
ModuleSysName = '" . MODULE_PATH . "'
|
||||
");
|
||||
}
|
||||
// Сохраняем системное сообщение в журнал
|
||||
reportLog($AVE_Template->get_config_vars('MODULES_ACTION_UPDATE') . ' (' . MODULE_PATH . ')');
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
// Выполянем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
// Получаем данные модуля
|
||||
$modules = $this->_modules;
|
||||
|
||||
/**
|
||||
* Метод, предназанченный для удаление модуля
|
||||
*
|
||||
*/
|
||||
function moduleDelete()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
$modul = $modules[MODULE_PATH];
|
||||
|
||||
// Подключаем файл с запросами к БД для данного модуля
|
||||
$module_sql_deinstall = array();
|
||||
$sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php';
|
||||
if (is_file($sql_file) && @include($sql_file))
|
||||
{
|
||||
// Выполняем запросы удаления таблиц модуля
|
||||
// из массива $module_sql_deinstall файла sql.php
|
||||
foreach ($module_sql_deinstall as $sql)
|
||||
// Удаляем информацию о модуле в таблице module
|
||||
$AVE_DB->Query("
|
||||
DELETE
|
||||
FROM
|
||||
" . PREFIX . "_module
|
||||
WHERE
|
||||
ModuleSysName = '" . MODULE_PATH . "'
|
||||
");
|
||||
|
||||
// Определяем, имеет ли модуль возможность настройки в Панели управления
|
||||
$modul['ModuleAdminEdit'] = (!empty($modul['ModuleAdminEdit']))
|
||||
? $modul['ModuleAdminEdit']
|
||||
: 0;
|
||||
|
||||
// Определяем, имеет ли модуль возможность смены шаблона
|
||||
$modul['ModuleTemplate'] = ($modul['ModuleTemplate'])
|
||||
? $modul['ModuleTemplate']
|
||||
: 0;
|
||||
|
||||
// Добавляем информацию о модуле в таблицу module
|
||||
$AVE_DB->Query("
|
||||
INSERT INTO
|
||||
" . PREFIX . "_module
|
||||
SET
|
||||
ModuleName = '" . $modul['ModuleName'] . "',
|
||||
ModuleStatus = '1',
|
||||
ModuleAveTag = '" . $modul['ModuleAveTag'] . "',
|
||||
ModulePHPTag = '" . $modul['ModulePHPTag'] . "',
|
||||
ModuleFunction = '" . $modul['ModuleFunction'] . "',
|
||||
ModuleIsFunction = '" . $modul['ModuleIsFunction'] . "',
|
||||
ModuleSysName = '" . MODULE_PATH . "',
|
||||
ModuleVersion = '" . $modul['ModuleVersion'] . "',
|
||||
ModuleTemplate = '" . $modul['ModuleTemplate'] . "',
|
||||
ModuleAdminEdit = '" . $modul['ModuleAdminEdit'] . "'
|
||||
");
|
||||
|
||||
// Подключаем файл с запросами к БД для данного модуля
|
||||
$module_sql_deinstall = array();
|
||||
$module_sql_install = array();
|
||||
$sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php';
|
||||
|
||||
if (is_file($sql_file) && @include($sql_file))
|
||||
{
|
||||
$AVE_DB->Query(str_replace('CPPREFIX', PREFIX, $sql));
|
||||
// Выполняем запросы удаления таблиц модуля
|
||||
// из массива $module_sql_deinstall файла sql.php
|
||||
foreach ($module_sql_deinstall as $sql)
|
||||
{
|
||||
$AVE_DB->Query(str_replace('CPPREFIX', PREFIX, $sql));
|
||||
}
|
||||
|
||||
// Выполняем запросы создания таблиц и данных модуля
|
||||
// из массива $module_sql_install файла sql.php
|
||||
foreach ($module_sql_install as $sql)
|
||||
{
|
||||
$AVE_DB->Query(str_replace('CPPREFIX', PREFIX, $sql));
|
||||
}
|
||||
}
|
||||
// Сохраняем системное сообщение в журнал
|
||||
($_REQUEST['action'] == "reinstall")
|
||||
? reportLog($AVE_Template->get_config_vars('MODULES_ACTION_REINSTALL') . ' (' . $modul['ModuleName'] . ')')
|
||||
: reportLog($AVE_Template->get_config_vars('MODULES_ACTION_INSTALL') . ' (' . $modul['ModuleName'] . ')');
|
||||
|
||||
// Выполняем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Удаляем информацию о модуле в таблице module
|
||||
$AVE_DB->Query("
|
||||
DELETE
|
||||
FROM " . PREFIX . "_module
|
||||
WHERE ModuleSysName = '" . MODULE_PATH . "'
|
||||
");
|
||||
|
||||
// Сохраняем системное сообщение в журнал
|
||||
reportLog($AVE_Template->get_config_vars('MODULES_ACTION_DELETE') .' (' . MODULE_PATH . ')');
|
||||
|
||||
// Выполянем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Метод, предназначенный для отключения/включение модуля в Панели управления
|
||||
*
|
||||
*/
|
||||
function moduleStatusChange()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
$status = $AVE_DB->Query("
|
||||
SELECT ModuleName, ModuleStatus FROM " . PREFIX . "_module
|
||||
WHERE ModuleSysName = '" . MODULE_PATH . "'
|
||||
")->FetchRow();
|
||||
|
||||
$ModuleStatus = ($status->ModuleStatus == "0" || $status->ModuleStatus == NULL) ? "1" : "0";
|
||||
|
||||
// Выполняем запрос к БД на смену статуса модуля
|
||||
$AVE_DB->Query("
|
||||
UPDATE " . PREFIX . "_module
|
||||
SET
|
||||
ModuleStatus = '".$ModuleStatus."'
|
||||
WHERE
|
||||
ModuleSysName = '" . MODULE_PATH . "'
|
||||
");
|
||||
|
||||
// Сохраняем системное сообщение в журнал
|
||||
reportLog((($ModuleStatus == "0") ? $AVE_Template->get_config_vars('MODULES_ACTION_OFFLINE') : $AVE_Template->get_config_vars('MODULES_ACTION_ONLINE')) . ' (' . $status->ModuleName . ')');
|
||||
|
||||
// Выполняем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Метод получения списка модулей
|
||||
*
|
||||
* @param int $status статус возвращаемых модулей
|
||||
* 1 - активные модули
|
||||
* 0 - неактивные модули
|
||||
* если не указано возвращает модули без учета статуса
|
||||
* @return array
|
||||
*/
|
||||
function moduleListGet($status = null)
|
||||
{
|
||||
global $AVE_DB;
|
||||
|
||||
$modules = array();
|
||||
|
||||
// Условие, определяющее статус документа для запроса к БД
|
||||
$where_status = ($status !== null) ? "WHERE ModuleStatus = '" . (int)$status . "'" : '';
|
||||
|
||||
// Выполняем запрос к БД и получаем список документов,
|
||||
// согласно статусу, либо все модули, если статус не указан
|
||||
$sql = $AVE_DB->Query("
|
||||
SELECT * FROM " . PREFIX . "_module
|
||||
" . $where_status . "
|
||||
ORDER BY ModuleName ASC
|
||||
");
|
||||
while ($row = $sql->FetchRow())
|
||||
/**
|
||||
* Метод, предназначенный для обновления модуля при увеличении номера версии модуля
|
||||
*
|
||||
*/
|
||||
function moduleUpdate()
|
||||
{
|
||||
$modules[$row->ModuleName] = $row;
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
// Подключаем файл с запросами к БД для данного модуля
|
||||
$module_sql_update = array();
|
||||
|
||||
$sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php';
|
||||
|
||||
$mod_file = BASE_DIR . '/modules/' . MODULE_PATH . '/module.php';
|
||||
|
||||
if (file_exists($mod_file) && file_exists($sql_file))
|
||||
{
|
||||
include($mod_file);
|
||||
include($sql_file);
|
||||
// Выполняем запросы обновления модуля
|
||||
// из массива $module_sql_update файла sql.php
|
||||
foreach ($module_sql_update as $sql)
|
||||
{
|
||||
$AVE_DB->Query(str_replace('CPPREFIX', PREFIX, $sql));
|
||||
}
|
||||
}
|
||||
// Обновляем модуль, если в нем не применяется (отсутствует) файл sql.php
|
||||
elseif (file_exists($mod_file) && file_exists($sql_file) === false)
|
||||
{
|
||||
include($mod_file);
|
||||
|
||||
$AVE_DB->Query("
|
||||
UPDATE
|
||||
" . PREFIX . "_module
|
||||
SET
|
||||
ModuleName = '" . $modul['ModuleName'] . "',
|
||||
ModuleStatus = '1',
|
||||
ModuleAveTag = '" . $modul['ModuleAveTag'] . "',
|
||||
ModulePHPTag = '" . $modul['ModulePHPTag'] . "',
|
||||
ModuleFunction = '" . $modul['ModuleFunction'] . "',
|
||||
ModuleIsFunction = '" . $modul['ModuleIsFunction'] . "',
|
||||
ModuleSysName = '" . MODULE_PATH . "',
|
||||
ModuleVersion = '" . $modul['ModuleVersion'] . "',
|
||||
ModuleTemplate = '" . $modul['ModuleTemplate'] . "',
|
||||
ModuleAdminEdit = '" . $modul['ModuleAdminEdit'] . "'
|
||||
WHERE
|
||||
ModuleSysName = '" . MODULE_PATH . "'
|
||||
");
|
||||
}
|
||||
// Сохраняем системное сообщение в журнал
|
||||
reportLog ($AVE_Template->get_config_vars('MODULES_ACTION_UPDATE') . ' (' . MODULE_PATH . ')');
|
||||
|
||||
// Выполянем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
// Возвращаем список модулей
|
||||
return $modules;
|
||||
}
|
||||
|
||||
function moduleRemove($dir)
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
/**
|
||||
* Метод, предназанченный для удаление модуля
|
||||
*
|
||||
*/
|
||||
function moduleDelete()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
$directory = BASE_DIR . '/modules/' . $dir;
|
||||
// Подключаем файл с запросами к БД для данного модуля
|
||||
$module_sql_deinstall = array();
|
||||
|
||||
$files = glob($directory . '*', GLOB_MARK);
|
||||
foreach($files as $file){
|
||||
if(substr($file, -1) == '/')
|
||||
moduleRemove($file);
|
||||
else
|
||||
unlink($file);
|
||||
$sql_file = BASE_DIR . '/modules/' . MODULE_PATH . '/sql.php';
|
||||
|
||||
if (is_file($sql_file) && @include($sql_file))
|
||||
{
|
||||
// Выполняем запросы удаления таблиц модуля
|
||||
// из массива $module_sql_deinstall файла sql.php
|
||||
foreach ($module_sql_deinstall as $sql)
|
||||
{
|
||||
$AVE_DB->Query(str_replace('CPPREFIX', PREFIX, $sql));
|
||||
}
|
||||
}
|
||||
|
||||
// Удаляем информацию о модуле в таблице module
|
||||
$AVE_DB->Query("
|
||||
DELETE
|
||||
FROM
|
||||
" . PREFIX . "_module
|
||||
WHERE
|
||||
ModuleSysName = '" . MODULE_PATH . "'
|
||||
");
|
||||
|
||||
// Сохраняем системное сообщение в журнал
|
||||
reportLog ($AVE_Template->get_config_vars('MODULES_ACTION_DELETE') .' (' . MODULE_PATH . ')');
|
||||
|
||||
// Выполянем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
rrmdir($directory);
|
||||
|
||||
// Сохраняем системное сообщение в журнал
|
||||
reportLog($AVE_Template->get_config_vars('MODULES_ACTION_REMOVE') . ' (' . $dir . ')');
|
||||
/**
|
||||
* Метод, предназначенный для отключения/включение модуля в Панели управления
|
||||
*
|
||||
*/
|
||||
function moduleStatusChange()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
// Выполянем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
$status = $AVE_DB->Query("
|
||||
SELECT
|
||||
ModuleName,
|
||||
ModuleStatus
|
||||
FROM
|
||||
" . PREFIX . "_module
|
||||
WHERE
|
||||
ModuleSysName = '" . MODULE_PATH . "'
|
||||
")->FetchRow();
|
||||
|
||||
$ModuleStatus = ($status->ModuleStatus == "0" || $status->ModuleStatus == NULL)
|
||||
? "1"
|
||||
: "0";
|
||||
|
||||
// Выполняем запрос к БД на смену статуса модуля
|
||||
$AVE_DB->Query("
|
||||
UPDATE
|
||||
" . PREFIX . "_module
|
||||
SET
|
||||
ModuleStatus = '".$ModuleStatus."'
|
||||
WHERE
|
||||
ModuleSysName = '" . MODULE_PATH . "'
|
||||
");
|
||||
|
||||
// Сохраняем системное сообщение в журнал
|
||||
reportLog ((($ModuleStatus == "0")
|
||||
? $AVE_Template->get_config_vars('MODULES_ACTION_OFFLINE')
|
||||
: $AVE_Template->get_config_vars('MODULES_ACTION_ONLINE')) . ' (' . $status->ModuleName . ')');
|
||||
|
||||
// Выполняем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
function moduleRemove($dir)
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
$directory = BASE_DIR . '/modules/' . $dir;
|
||||
|
||||
$files = glob($directory . '*', GLOB_MARK);
|
||||
|
||||
foreach ($files as $file)
|
||||
{
|
||||
if(substr($file, -1) == '/')
|
||||
moduleRemove($file);
|
||||
else
|
||||
unlink($file);
|
||||
}
|
||||
|
||||
rrmdir ($directory);
|
||||
|
||||
// Сохраняем системное сообщение в журнал
|
||||
reportLog ($AVE_Template->get_config_vars('MODULES_ACTION_REMOVE') . ' (' . $dir . ')');
|
||||
|
||||
// Выполянем обновление страницы со списком модулей
|
||||
header('Location:index.php?do=modules&cp=' . SESSION);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
@ -193,7 +193,8 @@
|
||||
|
||||
// Выполняем запрос к БД и получаем всю информацию о данном меню
|
||||
$row = $AVE_DB->Query("
|
||||
SELECT *
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
" . PREFIX . "_navigation
|
||||
WHERE
|
||||
@ -241,7 +242,8 @@
|
||||
");
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($navigation_id, $_REQUEST['alias']);
|
||||
$this->clearCache($navigation_id, $_REQUEST['alias']);
|
||||
$this->clearCacheId($navigation_id, $_REQUEST['alias']);
|
||||
|
||||
if ($sql === false)
|
||||
{
|
||||
@ -362,7 +364,7 @@
|
||||
")->FetchRow();
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($navigation_id, $sql->alias);
|
||||
$this->clearCache($navigation_id, $sql->alias);
|
||||
|
||||
//-- Выполняем запрос к БД на удаление общей информации и шаблона оформления меню
|
||||
$AVE_DB->Query("DELETE FROM " . PREFIX . "_navigation WHERE navigation_id = '" . $navigation_id . "'");
|
||||
@ -630,7 +632,7 @@
|
||||
")->GetCell();
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($_REQUEST['navigation_id'], $alias);
|
||||
$this->clearCache($_REQUEST['navigation_id'], $alias);
|
||||
|
||||
$AVE_Template->assign('select_tpl', 'navigation/select.tpl');
|
||||
$AVE_Template->assign('items', $items);
|
||||
@ -714,7 +716,7 @@
|
||||
")->GetCell();
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($_REQUEST['navigation_id'], $alias);
|
||||
$this->clearCache($_REQUEST['navigation_id'], $alias);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -756,7 +758,7 @@
|
||||
")->GetCell();
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($_REQUEST['navigation_id'], $alias);
|
||||
$this->clearCache($_REQUEST['navigation_id'], $alias);
|
||||
}
|
||||
|
||||
$message = 'Пункт меню успешно сохранен';
|
||||
@ -939,7 +941,7 @@
|
||||
")->FetchRow();
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($nav->navigation_id, $nav->alias);
|
||||
$this->clearCache($nav->navigation_id, $nav->alias);
|
||||
|
||||
// Выполняем обновление страницы
|
||||
header('Location:' . get_referer_admin_link());
|
||||
@ -995,7 +997,7 @@
|
||||
")->FetchRow();
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($nav->navigation_id, $nav->alias);
|
||||
$this->clearCache($nav->navigation_id, $nav->alias);
|
||||
|
||||
// Сохраняем системное сообщение в журнал
|
||||
reportLog($AVE_Template->get_config_vars('NAVI_REPORT_ACT') . " (id: $row->navigation_item_id)");
|
||||
@ -1054,7 +1056,7 @@
|
||||
")->FetchRow();
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($nav->navigation_id, $nav->alias);
|
||||
$this->clearCache($nav->navigation_id, $nav->alias);
|
||||
|
||||
// Сохраняем системное сообщение в журнал
|
||||
reportLog($AVE_Template->get_config_vars('NAVI_REPORT_DEACT') . " (id: $row->navigation_item_id)");
|
||||
@ -1103,7 +1105,7 @@
|
||||
")->FetchRow();
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($nav->navigation_id, $nav->alias);
|
||||
$this->clearCache($nav->navigation_id, $nav->alias);
|
||||
|
||||
$AVE_Template->assign('item', $item);
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('navigation/item.tpl'));
|
||||
@ -1152,7 +1154,7 @@
|
||||
")->FetchRow();
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($nav->navigation_id, $nav->alias);
|
||||
$this->clearCache($nav->navigation_id, $nav->alias);
|
||||
|
||||
if (isAjax())
|
||||
{
|
||||
@ -1248,7 +1250,7 @@
|
||||
")->FetchRow();
|
||||
|
||||
//-- Стираем кеш навигации
|
||||
$this->clearCahe($nav->navigation_id, $nav->alias);
|
||||
$this->clearCache($nav->navigation_id, $nav->alias);
|
||||
|
||||
echo json_encode(
|
||||
array(
|
||||
@ -1260,7 +1262,7 @@
|
||||
}
|
||||
|
||||
|
||||
function clearCahe($id, $alias = '')
|
||||
function clearCache($id, $alias = '')
|
||||
{
|
||||
if (file_exists(BASE_DIR . '/cache/sql/nav/template-' . $id . '.cache'))
|
||||
unlink(BASE_DIR . '/cache/sql/nav/template-' . $id . '.cache');
|
||||
@ -1275,5 +1277,27 @@
|
||||
unlink(BASE_DIR . '/cache/sql/nav/items-' . $alias . '.cache');
|
||||
}
|
||||
|
||||
|
||||
function clearCacheId($id, $alias = '')
|
||||
{
|
||||
$dir_id = BASE_DIR . '/cache/sql/nav_' . $id;
|
||||
$dir_alias = BASE_DIR . '/cache/sql/nav_' . $alias;
|
||||
|
||||
if (file_exists($dir_id))
|
||||
{
|
||||
foreach (glob($dir_id . '/*') as $file)
|
||||
{
|
||||
unlink($file);
|
||||
}
|
||||
}
|
||||
|
||||
if (file_exists($dir_alias))
|
||||
{
|
||||
foreach (glob($dir_alias . '/*') as $file)
|
||||
{
|
||||
unlink($file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -476,9 +476,11 @@ class AVE_Request
|
||||
|
||||
$sql = $AVE_DB->Query("SELECT Id FROM " . PREFIX . "_documents WHERE rubric_id = ".$_REQUEST['rubric_id']);
|
||||
|
||||
$AVE_DB->clear_request($request_id);
|
||||
|
||||
while ($row = $sql->FetchRow())
|
||||
{
|
||||
$AVE_DB->clearcacherequest('doc_'.$row->Id);
|
||||
$AVE_DB->clearcacherequest('doc_' . $row->Id);
|
||||
}
|
||||
|
||||
// Сохраняем системное сообщение в журнал
|
||||
@ -813,11 +815,15 @@ class AVE_Request
|
||||
// require(BASE_DIR . '/functions/func.parserequest.php');
|
||||
request_get_condition_sql_string($request_id, true);
|
||||
|
||||
if (! isAjax()){
|
||||
if (! isAjax())
|
||||
{
|
||||
header('Location:index.php?do=request&action=conditions&rubric_id=' . $_REQUEST['rubric_id'] . '&Id=' . $request_id . '&cp=' . SESSION);
|
||||
exit;
|
||||
}else{
|
||||
if (!$message){
|
||||
}
|
||||
else
|
||||
{
|
||||
if (! $message)
|
||||
{
|
||||
$message = $AVE_Template->get_config_vars('REQUEST_COND_NEW_SUC');
|
||||
$header = $AVE_Template->get_config_vars('REQUEST_SUCCESS');
|
||||
$theme = 'accept';
|
||||
|
4057
class/class.rubs.php
4057
class/class.rubs.php
File diff suppressed because it is too large
Load Diff
@ -218,6 +218,8 @@ class AVE_Settings
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->clearSettingsCache();
|
||||
|
||||
$_SESSION['use_editor'] = intval($_REQUEST['use_editor']);
|
||||
$message = $AVE_Template->get_config_vars('SETTINGS_SAVED');
|
||||
$header = $AVE_Template->get_config_vars('SETTINGS_SUCCESS');
|
||||
@ -317,6 +319,7 @@ class AVE_Settings
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('settings/settings_lang.tpl'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Метод Редактирования параметров языков
|
||||
*
|
||||
@ -340,6 +343,7 @@ class AVE_Settings
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('settings/settings_lang_edit.tpl'));
|
||||
}
|
||||
|
||||
|
||||
function settingsLanguageEditSave()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
@ -589,5 +593,143 @@ class AVE_Settings
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Функция очищает кеш системных настроек
|
||||
*
|
||||
*/
|
||||
function clearSettingsCache()
|
||||
{
|
||||
$cache_dir = BASE_DIR . '/cache/sql/settings/';
|
||||
|
||||
return rrmdir($cache_dir);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Функция редактирования robots.txt
|
||||
*
|
||||
*/
|
||||
function editRobots()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
$file_name = 'robots.txt';
|
||||
|
||||
$_REQUEST['sub'] = (! isset($_REQUEST['sub']))
|
||||
? ''
|
||||
: $_REQUEST['sub'];
|
||||
|
||||
switch ($_REQUEST['sub'])
|
||||
{
|
||||
case 'save':
|
||||
$file = BASE_DIR . '/' . $file_name;
|
||||
|
||||
$template = stripcslashes($_REQUEST['code_text']);
|
||||
|
||||
$result = file_put_contents($file, trim($template));
|
||||
|
||||
if ($result === false)
|
||||
{
|
||||
$message = $AVE_Template->get_config_vars('SETTINGS_SAVED_ERR_FILE');
|
||||
$header = $AVE_Template->get_config_vars('SETTINGS_ERROR');
|
||||
$theme = 'error';
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = $AVE_Template->get_config_vars('SETTINGS_SAVED_FILE');
|
||||
$header = $AVE_Template->get_config_vars('SETTINGS_SUCCESS');
|
||||
$theme = 'accept';
|
||||
}
|
||||
|
||||
if (isAjax())
|
||||
{
|
||||
echo json_encode(array('message' => $message, 'header' => $header, 'theme' => $theme));
|
||||
}
|
||||
else
|
||||
{
|
||||
$AVE_Template->assign('message', $message);
|
||||
header('Location:index.php?do=settings&cp=' . SESSION);
|
||||
}
|
||||
exit;
|
||||
|
||||
default:
|
||||
$file = BASE_DIR . '/' . $file_name;
|
||||
|
||||
$template = file_get_contents($file);
|
||||
|
||||
$formaction = "index.php?do=settings&action=robots&sub=save&cp=" . SESSION;
|
||||
|
||||
$AVE_Template->assign('file_name', $file_name);
|
||||
$AVE_Template->assign('formaction', $formaction);
|
||||
$AVE_Template->assign('template', $template);
|
||||
break;
|
||||
}
|
||||
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('settings/edit_file.tpl'));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Функция редактирования func.custom.php
|
||||
*
|
||||
*/
|
||||
function editCustom()
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
$file_name = 'func.custom.php';
|
||||
|
||||
$_REQUEST['sub'] = (! isset($_REQUEST['sub']))
|
||||
? ''
|
||||
: $_REQUEST['sub'];
|
||||
|
||||
switch ($_REQUEST['sub'])
|
||||
{
|
||||
case 'save':
|
||||
$file = BASE_DIR . '/functions/' . $file_name;
|
||||
|
||||
$template = stripcslashes($_REQUEST['code_text']);
|
||||
|
||||
$result = file_put_contents($file, trim($template));
|
||||
|
||||
if ($result === false)
|
||||
{
|
||||
$message = $AVE_Template->get_config_vars('SETTINGS_SAVED_ERR_FILE');
|
||||
$header = $AVE_Template->get_config_vars('SETTINGS_ERROR');
|
||||
$theme = 'error';
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = $AVE_Template->get_config_vars('SETTINGS_SAVED_FILE');
|
||||
$header = $AVE_Template->get_config_vars('SETTINGS_SUCCESS');
|
||||
$theme = 'accept';
|
||||
}
|
||||
|
||||
if (isAjax())
|
||||
{
|
||||
echo json_encode(array('message' => $message, 'header' => $header, 'theme' => $theme));
|
||||
}
|
||||
else
|
||||
{
|
||||
$AVE_Template->assign('message', $message);
|
||||
header('Location:index.php?do=settings&cp=' . SESSION);
|
||||
}
|
||||
exit;
|
||||
|
||||
default:
|
||||
$file = BASE_DIR . '/functions/' . $file_name;
|
||||
|
||||
$template = file_get_contents($file);
|
||||
|
||||
$formaction = "index.php?do=settings&action=robots&sub=save&cp=" . SESSION;
|
||||
|
||||
$AVE_Template->assign('file_name', $file_name);
|
||||
$AVE_Template->assign('formaction', $formaction);
|
||||
$AVE_Template->assign('template', $template);
|
||||
break;
|
||||
}
|
||||
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('settings/edit_file.tpl'));
|
||||
}
|
||||
}
|
||||
?>
|
@ -161,7 +161,8 @@ class Image_Toolbox {
|
||||
* <i>integer</i> <b>$height</b> imageheight of new image to be created<br>
|
||||
* <i>string</i> <b>$fillcolor</b> optional fill the new image with this color (hexformat, e.g. '#FF0000')<br>
|
||||
*/
|
||||
function Image_Toolbox() {
|
||||
function __construct()
|
||||
{
|
||||
$args = func_get_args();
|
||||
$argc = func_num_args();
|
||||
|
||||
|
@ -32,24 +32,25 @@ class AVE_User
|
||||
* @public array
|
||||
*/
|
||||
public $_allowed_admin_permission = array(
|
||||
'alles', // все права
|
||||
'adminpanel', // доступ в админку
|
||||
'group_view', 'group_edit', // группы пользователей
|
||||
'user_view', 'user_edit', 'user_perms', // пользователи
|
||||
'template_view', 'template_edit', 'template_php', // шаблоны
|
||||
'rubric_view', 'rubric_edit', 'rubric_php', 'rubric_perms', 'rubric_code', // рубрики
|
||||
'document_view', 'document_php', 'document_revisions', // документы
|
||||
'remark_view', 'remark_edit', // заметки
|
||||
'request_view', 'request_edit', 'request_php', // запросы
|
||||
'navigation_view', 'navigation_edit', // навигация
|
||||
'blocks_view', 'blocks_edit', // визуальные блоки
|
||||
'sysblocks_view', 'sysblocks_edit', // системные блоки
|
||||
'modules_view', 'modules_admin', 'modules_system', // модули
|
||||
'mediapool_int', 'mediapool_add', 'mediapool_del', 'mediapool_finder', // файловый менеджер
|
||||
'gen_settings', 'gen_settings_more', 'gen_settings_countries', 'gen_settings_languages', // общие настройки
|
||||
'db_actions', // база данных
|
||||
'logs_view', 'logs_clear', // логи
|
||||
'cache_clear', 'cache_thumb' // сессии и кеш
|
||||
'alles', // все права
|
||||
'adminpanel', // доступ в админку
|
||||
'group_view', 'group_edit', // группы пользователей
|
||||
'user_view', 'user_edit', 'user_perms', // пользователи
|
||||
'template_view', 'template_edit', 'template_php', // шаблоны
|
||||
'rubric_view', 'rubric_edit', 'rubric_php', 'rubric_perms', 'rubric_code', // рубрики
|
||||
'document_view', 'document_php', 'document_revisions', // документы
|
||||
'remark_view', 'remark_edit', // заметки
|
||||
'request_view', 'request_edit', 'request_php', // запросы
|
||||
'navigation_view', 'navigation_edit', // навигация
|
||||
'blocks_view', 'blocks_edit', // визуальные блоки
|
||||
'sysblocks_view', 'sysblocks_edit', // системные блоки
|
||||
'modules_view', 'modules_admin', 'modules_system', // модули
|
||||
'mediapool_int', 'mediapool_add', 'mediapool_del', 'mediapool_finder', // файловый менеджер
|
||||
'gen_settings', 'gen_settings_more', 'gen_settings_countries', 'gen_settings_languages', // общие настройки
|
||||
'gen_settings_robots', 'gen_settings_fcustom',
|
||||
'db_actions', // база данных
|
||||
'logs_view', 'logs_clear', // логи
|
||||
'cache_clear', 'cache_thumb' // сессии и кеш
|
||||
);
|
||||
|
||||
/**
|
||||
@ -309,8 +310,10 @@ class AVE_User
|
||||
SELECT
|
||||
user_group_name,
|
||||
user_group_permission
|
||||
FROM " . PREFIX . "_user_groups
|
||||
WHERE user_group = '" . $user_group_id . "'
|
||||
FROM
|
||||
" . PREFIX . "_user_groups
|
||||
WHERE
|
||||
user_group = '" . $user_group_id . "'
|
||||
")->FetchRow();
|
||||
}
|
||||
|
||||
@ -321,9 +324,9 @@ class AVE_User
|
||||
else
|
||||
{
|
||||
$AVE_Template->assign('g_all_permissions', $this->_allowed_admin_permission);
|
||||
$AVE_Template->assign('g_group_permissions', explode('|', $row->user_group_permission));
|
||||
$AVE_Template->assign('g_group_permissions', array_diff(explode('|', $row->user_group_permission), array('')));
|
||||
$AVE_Template->assign('g_name', $row->user_group_name);
|
||||
$AVE_Template->assign('modules', $AVE_Module->moduleListGet(1));
|
||||
$AVE_Template->assign('modules', $AVE_Module->_modules);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
// Чекбокс (Checkbox)
|
||||
function get_field_checkbox($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null)
|
||||
function get_field_checkbox($field_value, $action, $field_id = 0, $tpl = '', $tpl_empty = 0, &$maxlength = null, $document_fields = array(), $rubric_id = 0, $default = null)
|
||||
{
|
||||
|
||||
global $AVE_Template;
|
||||
@ -20,7 +20,9 @@ function get_field_checkbox($field_value, $action, $field_id=0, $tpl='', $tpl_em
|
||||
$fld_dir = dirname(__FILE__) . '/';
|
||||
$tpl_dir = $fld_dir . 'tpl/';
|
||||
|
||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt';
|
||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP')
|
||||
? $_SESSION['admin_language']
|
||||
: $_SESSION['user_language']) . '.txt';
|
||||
|
||||
$AVE_Template->config_load($lang_file, 'lang');
|
||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars());
|
||||
@ -36,19 +38,22 @@ function get_field_checkbox($field_value, $action, $field_id=0, $tpl='', $tpl_em
|
||||
$AVE_Template->assign('doc_id', (isset($_REQUEST['Id']) ? (int)$_REQUEST['Id'] : 0));
|
||||
|
||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin');
|
||||
return $AVE_Template->fetch($tpl_file);
|
||||
|
||||
return $AVE_Template->fetch($tpl_file);
|
||||
break;
|
||||
|
||||
case 'doc':
|
||||
$field_value = clean_php($field_value);
|
||||
|
||||
$res = ((int)$field_value === 1) ? (int)$field_value : 0;
|
||||
$res = ((int)$field_value === 1)
|
||||
? (int)$field_value
|
||||
: 0;
|
||||
|
||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc');
|
||||
|
||||
if($tpl_empty && $tpl_file)
|
||||
if ($tpl_empty && $tpl_file)
|
||||
{
|
||||
$AVE_Template->assign('field_id', $field_id);
|
||||
$AVE_Template->assign('field_value', $field_value);
|
||||
return $AVE_Template->fetch($tpl_file);
|
||||
}
|
||||
@ -59,12 +64,15 @@ function get_field_checkbox($field_value, $action, $field_id=0, $tpl='', $tpl_em
|
||||
case 'req':
|
||||
$field_value = clean_php($field_value);
|
||||
|
||||
$res = ((int)$field_value === 1) ? (int)$field_value : 0;
|
||||
$res = ((int)$field_value === 1)
|
||||
? (int)$field_value
|
||||
: 0;
|
||||
|
||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req');
|
||||
|
||||
if($tpl_empty && $tpl_file)
|
||||
if ($tpl_empty && $tpl_file)
|
||||
{
|
||||
$AVE_Template->assign('field_id', $field_id);
|
||||
$AVE_Template->assign('field_value', $field_value);
|
||||
return $AVE_Template->fetch($tpl_file);
|
||||
}
|
||||
@ -74,7 +82,9 @@ function get_field_checkbox($field_value, $action, $field_id=0, $tpl='', $tpl_em
|
||||
|
||||
case 'save':
|
||||
$field_value = clean_php($field_value);
|
||||
$res = ((int)$field_value === 1) ? $field_value : '0';
|
||||
$res = ((int)$field_value === 1)
|
||||
? $field_value
|
||||
: '0';
|
||||
break;
|
||||
|
||||
case 'name':
|
||||
|
@ -39,7 +39,7 @@ $image.http Есть ли в ссылке http или https (true/false)
|
||||
{/if}
|
||||
{if isset($image.description) && $image.description != ''}
|
||||
<p>
|
||||
{$image.description}
|
||||
{$image.description|html_entity_decode}
|
||||
</p>
|
||||
{/if}
|
||||
</div>
|
||||
|
@ -1,96 +0,0 @@
|
||||
.cascad3 {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.cascad3_item {
|
||||
display: inline-block;
|
||||
margin: 3px;
|
||||
width: 120px;
|
||||
height: 226px;
|
||||
background-color: rgba(255, 255, 255, 0.5);
|
||||
border: solid 1px #eaeaea;
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.cascad3_item:hover {
|
||||
background-color: rgba(255, 255, 255, 1.0);
|
||||
border: solid 1px rgba(234, 234, 234, 0.5);
|
||||
-webkit-box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.cascad3_item:hover > .header {
|
||||
background-color: rgba(210, 210, 210, 0.3);
|
||||
}
|
||||
|
||||
.cascad3_item .header {
|
||||
background-color: rgba(210, 210, 210, 0.5);
|
||||
height: 26px;
|
||||
margin-bottom: 10px;
|
||||
cursor: move;
|
||||
border-radius: 5px 5px 0 0;
|
||||
}
|
||||
|
||||
.cascad3_item .image {
|
||||
background-color: #fcfcfc;
|
||||
border: solid 1px #eaeaea;
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
}
|
||||
|
||||
.cascad3_item input {
|
||||
display: inline-block;
|
||||
width: 100px;
|
||||
margin-top: 5px;
|
||||
border-radius: 0 0 2px 2px;
|
||||
border: 1px solid #eaeaea !important;
|
||||
resize: none !important;
|
||||
box-shadow: none !important;
|
||||
-webkit-box-shadow: none !important;
|
||||
-moz-box-shadow: none !important;
|
||||
padding: 3px !important;
|
||||
box-sizing: border-box !important;
|
||||
-webkit-box-sizing: border-box !important;
|
||||
-moz-box-sizing: border-box !important;
|
||||
}
|
||||
|
||||
.cascad3_item .view {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 3px;
|
||||
cursor: pointer !important;
|
||||
}
|
||||
|
||||
.cascad3_item .delete {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
right: 3px;
|
||||
cursor: pointer !important;
|
||||
}
|
||||
|
||||
.cascad3_item .info {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
right: 3px;
|
||||
cursor: pointer !important;
|
||||
}
|
||||
|
||||
.cascad3_sortable > .ui-state-highlight {
|
||||
display: inline-block;
|
||||
margin: 5px;
|
||||
width: 120px;
|
||||
height: 200px;
|
||||
background-color: rgba(255,255,255,0.5); !important;
|
||||
border: solid 1px #eaeaea;
|
||||
border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
-webkit-border-radius: 5px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
}
|
@ -1,307 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* AVE.cms
|
||||
*
|
||||
* @package AVE.cms
|
||||
* @version 3.x
|
||||
* @filesource
|
||||
* @copyright © 2007-2014 AVE.cms, http://www.ave-cms.ru
|
||||
*
|
||||
* @license GPL v.2
|
||||
*/
|
||||
|
||||
// Изображение (Каскад)
|
||||
function get_field_image_multi_new_3inputs($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength=null, $document_fields=array(), $rubric_id=0, $default=null)
|
||||
{
|
||||
|
||||
global $AVE_Template, $img_pixel;
|
||||
|
||||
$fld_dir = dirname(__FILE__) . '/';
|
||||
$tpl_dir = $fld_dir . 'tpl/';
|
||||
$fld_name = basename($fld_dir);
|
||||
|
||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt';
|
||||
|
||||
$AVE_Template->config_load($lang_file, 'lang');
|
||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars());
|
||||
$AVE_Template->config_load($lang_file, 'admin');
|
||||
|
||||
$res = 0;
|
||||
|
||||
$iniset_count = ini_get('max_file_uploads');
|
||||
|
||||
switch ($action)
|
||||
{
|
||||
case 'edit':
|
||||
|
||||
$items = array();
|
||||
$items = unserialize($field_value);
|
||||
$image_items = array();
|
||||
|
||||
if($items != false){
|
||||
|
||||
foreach($items as $k => $v){
|
||||
$image_item = explode('|', $v);
|
||||
|
||||
$image[$k]['url'] = $image_item[0];
|
||||
$image[$k]['thumb'] = ($image_item[0] != '') ? make_thumbnail(array('size' => 'f100x100', 'link' => $image_item[0])) : $img_pixel;
|
||||
$image[$k]['desc'] = (isset($image_item[1])) ? htmlspecialchars($image_item[1], ENT_QUOTES) : '';
|
||||
$image[$k]['desc2'] = (isset($image_item[2])) ? htmlspecialchars($image_item[2], ENT_QUOTES) : '';
|
||||
$image[$k]['desc3'] = (isset($image_item[3])) ? htmlspecialchars($image_item[3], ENT_QUOTES) : '';
|
||||
}
|
||||
|
||||
if (!empty($image)) {
|
||||
$image_items = $image;
|
||||
}
|
||||
}
|
||||
|
||||
$show_upload = true;
|
||||
|
||||
if(preg_match("/%id/i", $default))
|
||||
{
|
||||
if ($_REQUEST['action'] != 'new') {
|
||||
$path_upload = trim(@str_replace('%id', $_REQUEST['Id'], $default), '/');
|
||||
$show_upload = true;
|
||||
} else {
|
||||
$path_upload = (!empty($default)) ? trim($default, '/') : '';
|
||||
$show_upload = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$path_upload = (!empty($default)) ? $default : '';
|
||||
$show_upload = true;
|
||||
}
|
||||
|
||||
$dir_upload = '/' . UPLOAD_DIR . '/' . ((!empty($path_upload)) ? $path_upload . '/' : '');
|
||||
|
||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin');
|
||||
|
||||
$AVE_Template->assign('max_files', $AVE_Template->get_config_vars('max_f_f') . $iniset_count);
|
||||
$AVE_Template->assign('dir_upload', $AVE_Template->get_config_vars('upl_dir') . $dir_upload);
|
||||
$AVE_Template->assign('show_upload', $show_upload);
|
||||
|
||||
$AVE_Template->assign('field_dir', $fld_name);
|
||||
$AVE_Template->assign('images', $image_items);
|
||||
$AVE_Template->assign('field_id', $field_id);
|
||||
$AVE_Template->assign('doc_id', (int)$_REQUEST['Id']);
|
||||
return $AVE_Template->fetch($tpl_file);
|
||||
break;
|
||||
|
||||
case 'doc':
|
||||
|
||||
$items = (isset($field_value)) ? unserialize($field_value) : array();
|
||||
|
||||
$res = array();
|
||||
|
||||
if($items != false){
|
||||
foreach($items as $image_item)
|
||||
{
|
||||
$image_item = clean_php($image_item);
|
||||
$field_param = explode('|', $image_item);
|
||||
if($image_item){
|
||||
if ($tpl_empty)
|
||||
{
|
||||
$image_item = $field_param;
|
||||
}
|
||||
else
|
||||
{
|
||||
$image_item = preg_replace_callback(
|
||||
'/\[tag:parametr:(\d+)\]/i',
|
||||
function($data) use($field_param)
|
||||
{
|
||||
return $field_param[(int)$data[1]];
|
||||
},
|
||||
$tpl
|
||||
);
|
||||
|
||||
$image_item = preg_replace_callback(
|
||||
'/\[tag:watermark:(.+?):([a-zA-Z]+):([0-9]+)\]/',
|
||||
create_function(
|
||||
'$m',
|
||||
'return watermarks(\'$m[1]\', \'$m[2]\', $m[3]);'
|
||||
),
|
||||
$image_item
|
||||
);
|
||||
|
||||
$image_item = preg_replace_callback('/\[tag:([r|c|f|t|s]\d+x\d+r*):(.+?)]/', 'callback_make_thumbnail', $image_item);
|
||||
}
|
||||
}
|
||||
$res[] = $image_item;
|
||||
}
|
||||
}
|
||||
|
||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'doc');
|
||||
|
||||
if($tpl_empty && $tpl_file){
|
||||
|
||||
$AVE_Template->assign('field_id', $field_id);
|
||||
$AVE_Template->assign('field_value', $res);
|
||||
$AVE_Template->assign('field_count', count($res));
|
||||
$AVE_Template->assign('rubric_id', $rubric_id);
|
||||
$AVE_Template->assign('default', $default);
|
||||
|
||||
return $AVE_Template->fetch($tpl_file);
|
||||
}
|
||||
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl;
|
||||
break;
|
||||
|
||||
case 'req':
|
||||
$items = unserialize($field_value);
|
||||
|
||||
$res = '';
|
||||
|
||||
if($items != false) {
|
||||
foreach($items as $image_item)
|
||||
{
|
||||
$image_item = clean_php($image_item);
|
||||
$field_param = explode('|', $image_item);
|
||||
if($image_item){
|
||||
if ($tpl_empty)
|
||||
{
|
||||
$image_item = $field_param;
|
||||
}
|
||||
else
|
||||
{
|
||||
$image_item = preg_replace_callback(
|
||||
'/\[tag:parametr:(\d+)\]/i',
|
||||
function($data) use($field_param)
|
||||
{
|
||||
return $field_param[(int)$data[1]];
|
||||
},
|
||||
$tpl
|
||||
);
|
||||
|
||||
$image_item = preg_replace_callback(
|
||||
'/\[tag:watermark:(.+?):([a-zA-Z]+):([0-9]+)\]/',
|
||||
create_function(
|
||||
'$m',
|
||||
'return watermarks(\'$m[1]\', \'$m[2]\', $m[3]);'
|
||||
),
|
||||
$image_item
|
||||
);
|
||||
|
||||
$image_item = preg_replace_callback('/\[tag:([r|c|f]\d+x\d+r*):(.+?)]/', 'callback_make_thumbnail', $image_item);
|
||||
}
|
||||
}
|
||||
$res[] = $image_item;
|
||||
}
|
||||
}
|
||||
|
||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'req');
|
||||
|
||||
if($tpl_empty && $tpl_file){
|
||||
|
||||
$AVE_Template->assign('field_id', $field_id);
|
||||
$AVE_Template->assign('field_value', $res);
|
||||
$AVE_Template->assign('field_count', count($res));
|
||||
$AVE_Template->assign('rubric_id', $rubric_id);
|
||||
$AVE_Template->assign('default', $default);
|
||||
|
||||
return $AVE_Template->fetch($tpl_file);
|
||||
}
|
||||
|
||||
return (!empty($res)) ? implode(PHP_EOL, $res) : $tpl;
|
||||
break;
|
||||
|
||||
case 'save':
|
||||
foreach ($field_value as $v)
|
||||
{
|
||||
if(!empty($v['url'])){
|
||||
$field_value_new[] = $v['url'] . '|' . $v['descr'] . '|' . $v['descr2'] . '|' . $v['descr3'];
|
||||
}
|
||||
}
|
||||
if (isset($field_value_new)) {
|
||||
return @serialize($field_value_new);
|
||||
} else {
|
||||
return $field_value_new = '';
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'name' :
|
||||
return $AVE_Template->get_config_vars('name');
|
||||
break;
|
||||
|
||||
case 'upload':
|
||||
$error = false;
|
||||
|
||||
$files_unput = 'cascad3_files'.'_'.$_REQUEST['field_id'].'_'.$_REQUEST['doc_id'];
|
||||
|
||||
if(preg_match("/%id/i", $default))
|
||||
{
|
||||
$path = trim(@str_replace('%id', $_REQUEST['doc_id'], $default), '/');
|
||||
}
|
||||
else
|
||||
{
|
||||
$path = (!empty($default)) ? $default : '';
|
||||
}
|
||||
|
||||
function getExtension($file)
|
||||
{
|
||||
$file = pathinfo($file);
|
||||
return $file['extension'];
|
||||
}
|
||||
|
||||
$valid_formats = array("jpg", "png", "gif", "bmp","jpeg");
|
||||
|
||||
$dir = '/' . UPLOAD_DIR . '/' . ((!empty($path)) ? $path . '/' : '');
|
||||
$dir_abs = BASE_DIR . $dir;
|
||||
|
||||
if (!is_dir($dir_abs)) @mkdir($dir_abs, 0777, true);
|
||||
|
||||
foreach ($_FILES[$files_unput]['name'] as $name => $value) {
|
||||
|
||||
$filename = strtolower(stripslashes(prepare_url($_FILES[$files_unput]['name'][$name])));
|
||||
//$size = filesize($_FILES[$files_unput]['tmp_name'][$name]);
|
||||
|
||||
$ext = getExtension($filename);
|
||||
$ext = strtolower($ext);
|
||||
|
||||
if(in_array($ext, $valid_formats))
|
||||
{
|
||||
if (file_exists($dir_abs . $filename))
|
||||
{
|
||||
$filename = rand(1000, 9999) . '_' . $filename;
|
||||
}
|
||||
|
||||
if (@move_uploaded_file($_FILES[$files_unput]['tmp_name'][$name], $dir_abs . $filename)) {
|
||||
$new_files[] = $filename;
|
||||
$error = false;
|
||||
} else {
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error = true;
|
||||
@unlink($_FILES[$files_unput]['tmp_name'][$name]);
|
||||
}
|
||||
}
|
||||
if ($error !== true) {
|
||||
echo json_encode(array(
|
||||
'files' => $new_files,
|
||||
'dir' => $dir,
|
||||
'respons' => 'succes',
|
||||
'message' => $AVE_Template->get_config_vars('resp_s_m'),
|
||||
'header' => $AVE_Template->get_config_vars('resp_s_h'),
|
||||
'theme' => 'accept'
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo json_encode(array(
|
||||
'respons' => 'error',
|
||||
'message' => $AVE_Template->get_config_vars('resp_e_m'),
|
||||
'header' => $AVE_Template->get_config_vars('resp_e_h'),
|
||||
'theme' => 'error'
|
||||
)
|
||||
);
|
||||
}
|
||||
exit;
|
||||
}
|
||||
|
||||
return ($res ? $res : $field_value);
|
||||
}
|
@ -1,235 +0,0 @@
|
||||
var Cascad3 = {
|
||||
|
||||
init: false,
|
||||
|
||||
init: function() {
|
||||
if (this.initialized) return;
|
||||
this.initialized = true;
|
||||
|
||||
this.cascad3();
|
||||
},
|
||||
|
||||
cascad3: function() {
|
||||
this.cascad3_sortable();
|
||||
this.cascad3_del_item();
|
||||
this.cascad3_del_all_item();
|
||||
this.cascad3_add_single();
|
||||
this.cascad3_add_folder();
|
||||
this.cascad3_upload_files();
|
||||
this.cascad3_click_upload();
|
||||
},
|
||||
|
||||
cascad3_update: function() {
|
||||
this.cascad3_maxid();
|
||||
this.cascad3_del_item();
|
||||
AveAdmin.fancy_box();
|
||||
AveAdmin.tooltip();
|
||||
},
|
||||
|
||||
cascad3_maxid: function(id, doc) {
|
||||
var maxid = 1;
|
||||
$('#cascad3_' + doc + '_' + id).children('.cascad3_sortable').children('.cascad3_item').each(function() {
|
||||
maxid = Math.max(maxid, parseInt($(this).attr("data-id")) + 1);
|
||||
});
|
||||
return maxid;
|
||||
},
|
||||
|
||||
cascad3_del_item: function() {
|
||||
$('.cascad3_item .delete').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var id = $(this).attr('data-id');
|
||||
jConfirm(
|
||||
del_conf,
|
||||
del_head,
|
||||
function(b) {
|
||||
if (b) {
|
||||
$('#cascad3_image_' + id).remove();
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
},
|
||||
|
||||
cascad3_del_all_item: function() {
|
||||
$('.cascad3_del_all').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var c_id = $(this).parent().parent().parent('.cascad3').attr("data-id");
|
||||
var d_id = $(this).parent().parent().parent('.cascad3').attr("data-doc");
|
||||
jConfirm(
|
||||
del_all_c,
|
||||
del_all_h,
|
||||
function(b) {
|
||||
if (b) {
|
||||
$('#cascad3_' + d_id + '_' + c_id).children('.cascad3_sortable').children('.cascad3_item').each(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
},
|
||||
|
||||
cascad3_upload_files: function() {
|
||||
$('.cascad3_upload').on('change', function(event) {
|
||||
|
||||
var cascad3_input = $(this);
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
if (cascad3_input.val() == '') {
|
||||
return false;
|
||||
}
|
||||
|
||||
var files_input = this.files.length;
|
||||
var max_files = cascad3_input.attr("data-max-files");
|
||||
|
||||
if (files_input > max_files) {
|
||||
$.jGrowl(max_f_t, {
|
||||
header: max_f_h,
|
||||
theme: 'error'
|
||||
});
|
||||
|
||||
cascad3_input.replaceWith(cascad3_input.val('').clone(true));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
var cid = $(this).parent('.cascad3').attr("data-id");
|
||||
var did = $(this).parent('.cascad3').attr("data-doc");
|
||||
var rid = $(this).parent('.cascad3').attr("data-rubric");
|
||||
|
||||
$('#formDoc').ajaxSubmit({
|
||||
url: 'index.php?do=fields',
|
||||
data: {
|
||||
"field_id": cid,
|
||||
"rubric_id": rid,
|
||||
"doc_id": did,
|
||||
"field": 'image_multi_new_3inputs',
|
||||
"type": 'upload'
|
||||
},
|
||||
beforeSend: function() {
|
||||
$.alerts._overlay('show');
|
||||
},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data['respons'] == 'succes') {
|
||||
for (var p = 0, max = data.files.length; p < max; p++) {
|
||||
iid = Cascad3.cascad3_maxid(cid, did);
|
||||
var field_value = data['dir'] + data.files[p];
|
||||
var img_path = '../index.php?thumb=' + field_value + '&mode=f&width=128&height=128';
|
||||
$('#cascad3_' + did + '_' + cid + ' > .cascad3_sortable:last').prepend(
|
||||
'<div class="cascad3_item ui-state-default" id="cascad3_image_' + cid + '_' + did + '_' + iid + '" data-id="' + iid + '" doc=id="' + did + '">' +
|
||||
'<div class="header grey_bg"></div>' +
|
||||
'<a class="topDir icon_sprite ico_photo view fancy preview__' + cid + '_' + did + '_' + iid + '" href="' + field_value + '" title="' + look + '"></a>' +
|
||||
'<a class="topDir icon_sprite ico_delete delete" href="javascript:void(0);" title="' + del + '" data-id="' + cid + '_' + did + '_' + iid + '"></a>' +
|
||||
'<span class="topDir icon_sprite ico_info info" title="' + field_value + '"></span>' +
|
||||
'<input type="hidden" value="' + field_value + '" name="feld[' + cid + '][' + iid + '][url]" id="image__' + cid + '_' + did + '_' + iid + '">' +
|
||||
'<img id="preview__' + cid + '_' + did + '_' + iid + '" src="' + img_path + '" onclick="browse_uploads(\'image__' + cid + '_' + did + '_' + iid + '\');" class="image" alt="" width="100" height="100" />' +
|
||||
'<input class="mousetrap" name="feld[' + cid + '][' + iid + '][descr]" placeholder="' + place + ' 1" value = ""/>' +
|
||||
'<input class="mousetrap" name="feld[' + cid + '][' + iid + '][descr2]" placeholder="' + place + ' 2" value = ""/>' +
|
||||
'<input class="mousetrap" name="feld[' + cid + '][' + iid + '][descr3]" placeholder="' + place + ' 3" value = ""/>' +
|
||||
'</div>'
|
||||
);
|
||||
$.alerts._overlay('hide');
|
||||
Cascad3.cascad3_update();
|
||||
}
|
||||
}
|
||||
$.jGrowl(data['message'], {
|
||||
header: data['header'],
|
||||
theme: data['theme']
|
||||
});
|
||||
cascad3_input.replaceWith(cascad3_input = cascad3_input.clone(true));
|
||||
cascad3_input.val();
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
},
|
||||
|
||||
cascad3_click_upload: function() {
|
||||
$('.cascad3_upload_local').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var c_id = $(this).parent().parent().parent('.cascad3').attr("data-id");
|
||||
var d_id = $(this).parent().parent().parent('.cascad3').attr("data-doc");
|
||||
$('.cascad3_upload_field_' + c_id + '_' + d_id).trigger('click');
|
||||
});
|
||||
},
|
||||
|
||||
cascad3_add_single: function() {
|
||||
$('.cascad3_add_single').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var c_id = $(this).parent().parent().parent('.cascad3').attr("data-id");
|
||||
var d_id = $(this).parent().parent().parent('.cascad3').attr("data-doc");
|
||||
var iid = Cascad3.cascad3_maxid(c_id, d_id);
|
||||
$('#cascad3_' + d_id + '_' + c_id + ' > .cascad3_sortable:last').prepend(
|
||||
'<div class="cascad3_item ui-state-default" id="cascad3_image_' + c_id + '_' + d_id + '_' + iid + '" data-id="' + iid + '" data-doc="' + d_id + '">' +
|
||||
'<div class="header grey_bg"></div>' +
|
||||
'<a class="topDir icon_sprite ico_photo view fancy preview__' + c_id + '_' + d_id + '_' + iid + '" href="" title="' + look + '"></a>' +
|
||||
'<a class="topDir icon_sprite ico_delete delete" href="javascript:void(0);" title="' + del + '" data-id="' + c_id + '_' + d_id + '_' + iid + '"></a>' +
|
||||
'<input type="hidden" value="" name="feld[' + c_id + '][' + iid + '][url]" id="image__' + c_id + '_' + d_id + '_' + iid + '">' +
|
||||
'<img id="preview__' + c_id + '_' + d_id + '_' + iid + '" src="' + blank + '" onclick="browse_uploads(\'image__' + c_id + '_' + d_id + '_' + iid + '\');" class="image" alt="" width="100" height="100" />' +
|
||||
'<input class="mousetrap" name="feld[' + c_id + '][' + iid + '][descr]" placeholder="' + place + ' 1" value = ""/>' +
|
||||
'<input class="mousetrap" name="feld[' + c_id + '][' + iid + '][descr2]" placeholder="' + place + ' 2" value = ""/>' +
|
||||
'<input class="mousetrap" name="feld[' + c_id + '][' + iid + '][descr3]" placeholder="' + place + ' 3" value = ""/>' +
|
||||
'</div>'
|
||||
);
|
||||
browse_uploads('image__' + c_id + '_' + d_id + '_' + iid + '');
|
||||
Cascad3.cascad3_update();
|
||||
});
|
||||
},
|
||||
|
||||
cascad3_sortable: function() {
|
||||
$('.cascad3_sortable').sortable({
|
||||
handle: ".header",
|
||||
placeholder: "ui-state-highlight grey_bg"
|
||||
});
|
||||
//$(".cascad3").disableSelection();
|
||||
},
|
||||
|
||||
cascad3_add_folder: function() {
|
||||
$('.cascad3_add_folder').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var c_id = $(this).parent().parent().parent('.cascad3').attr("data-id");
|
||||
var d_id = $(this).parent().parent().parent('.cascad3').attr("data-doc");
|
||||
browse_dirs("cascad3__" + c_id + '_' + d_id);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function() {
|
||||
Cascad3.init();
|
||||
|
||||
$.fn.myPlugin = function cascad3_add_items(dir, cid, did) {
|
||||
|
||||
$.ajax({
|
||||
url: ave_path + 'admin/index.php?do=docs&action=image_import&ajax=run',
|
||||
data: {
|
||||
"path": dir
|
||||
},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
$.alerts._overlay('hide');
|
||||
for (var p = 0, max = data.respons.length; p < max; p++) {
|
||||
var iid = Cascad3.cascad3_maxid(cid, did);
|
||||
var field_value = dir + data.respons[p];
|
||||
var img_path = '../index.php?thumb=' + field_value + '&mode=f&width=128&height=128';
|
||||
$('#cascad3_' + did + '_' + cid + ' > .cascad3_sortable:last').prepend(
|
||||
'<div class="cascad3_item ui-state-default" id="cascad3_image_' + cid + '_' + did + '_' + iid + '" data-id="' + iid + '" doc=id="' + did + '">' +
|
||||
'<div class="header grey_bg"></div>' +
|
||||
'<a class="topDir icon_sprite ico_photo view fancy preview__' + cid + '_' + did + '_' + iid + '" href="' + field_value + '" title="' + look + '"></a>' +
|
||||
'<a class="topDir icon_sprite ico_delete delete" href="javascript:void(0);" title="' + del + '" data-id="' + cid + '_' + did + '_' + iid + '"></a>' +
|
||||
'<span class="topDir icon_sprite ico_info info" title="' + field_value + '"></span>' +
|
||||
'<input type="hidden" value="' + field_value + '" name="feld[' + cid + '][' + iid + '][url]" id="image__' + cid + '_' + did + '_' + iid + '">' +
|
||||
'<img id="preview__' + cid + '_' + did + '_' + iid + '" src="' + img_path + '" onclick="browse_uploads(\'image__' + cid + '_' + did + '_' + iid + '\');" class="image" alt="" width="100" height="100" />' +
|
||||
'<input class="mousetrap" name="feld[' + cid + '][' + iid + '][descr]" placeholder="' + place + ' 1" value = ""/>' +
|
||||
'<input class="mousetrap" name="feld[' + cid + '][' + iid + '][descr2]" placeholder="' + place + ' 2" value = ""/>' +
|
||||
'<input class="mousetrap" name="feld[' + cid + '][' + iid + '][descr3]" placeholder="' + place + ' 3" value = ""/>' +
|
||||
'</div>'
|
||||
);
|
||||
Cascad3.cascad3_update();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
@ -1,231 +0,0 @@
|
||||
var Cascad3 = {
|
||||
|
||||
init: false,
|
||||
|
||||
init: function() {
|
||||
if (this.initialized) return;
|
||||
this.initialized = true;
|
||||
|
||||
this.cascad3();
|
||||
},
|
||||
|
||||
cascad3: function() {
|
||||
this.cascad3_sortable();
|
||||
this.cascad3_del_item();
|
||||
this.cascad3_del_all_item();
|
||||
this.cascad3_add_single();
|
||||
this.cascad3_add_folder();
|
||||
this.cascad3_upload_files();
|
||||
this.cascad3_click_upload();
|
||||
},
|
||||
|
||||
cascad3_update: function() {
|
||||
this.cascad3_maxid();
|
||||
this.cascad3_del_item();
|
||||
AveAdmin.fancy_box();
|
||||
AveAdmin.tooltip();
|
||||
},
|
||||
|
||||
cascad3_maxid: function(id, doc) {
|
||||
var maxid = 1;
|
||||
$('#cascad3_' + doc + '_' + id).children('.cascad3_sortable').children('.cascad3_item').each(function() {
|
||||
maxid = Math.max(maxid, parseInt($(this).attr("data-id")) + 1);
|
||||
});
|
||||
return maxid;
|
||||
},
|
||||
|
||||
cascad3_del_item: function() {
|
||||
$('.cascad3_item .delete').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var id = $(this).attr('data-id');
|
||||
jConfirm(
|
||||
del_conf,
|
||||
del_head,
|
||||
function(b) {
|
||||
if (b) {
|
||||
$('#cascad3_image_' + id).remove();
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
},
|
||||
|
||||
cascad3_del_all_item: function() {
|
||||
$('.cascad3_del_all').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var c_id = $(this).parent().parent().parent('.cascad3').attr("data-id");
|
||||
var d_id = $(this).parent().parent().parent('.cascad3').attr("data-doc");
|
||||
jConfirm(
|
||||
del_all_c,
|
||||
del_all_h,
|
||||
function(b) {
|
||||
if (b) {
|
||||
$('#cascad3_' + d_id + '_' + c_id).children('.cascad3_sortable').children('.cascad3_item').each(function() {
|
||||
$(this).remove();
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
});
|
||||
},
|
||||
|
||||
cascad3_upload_files: function() {
|
||||
$('.cascad3_upload').on('change', function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
var cascad3_input = $(this);
|
||||
|
||||
event.preventDefault();
|
||||
|
||||
if (cascad3_input.val() == '') {
|
||||
return false;
|
||||
}
|
||||
|
||||
var files_input = this.files.length;
|
||||
var max_files = cascad3_input.attr("data-max-files");
|
||||
|
||||
if (files_input > max_files) {
|
||||
$.jGrowl(max_f_t, {
|
||||
header: max_f_h,
|
||||
theme: 'error'
|
||||
});
|
||||
|
||||
cascad3_input.replaceWith(cascad3_input.val('').clone(true));
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
var cid = $(this).parent('.cascad3').attr("data-id");
|
||||
var did = $(this).parent('.cascad3').attr("data-doc");
|
||||
var rid = $(this).parent('.cascad3').attr("data-rubric");
|
||||
|
||||
$('#docmanager_edit').ajaxSubmit({
|
||||
url: 'index.php?do=fields',
|
||||
data: {
|
||||
"field_id": cid,
|
||||
"rubric_id": rid,
|
||||
"doc_id": did,
|
||||
"field": 'image_multi_new_3inputs',
|
||||
"type": 'upload'
|
||||
},
|
||||
beforeSend: function() {
|
||||
$.alerts._overlay('show');
|
||||
},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (data['respons'] == 'succes') {
|
||||
for (var p = 0, max = data.files.length; p < max; p++) {
|
||||
iid = Cascad3.cascad3_maxid(cid, did);
|
||||
var field_value = data['dir'] + data.files[p];
|
||||
var img_path = '../index.php?thumb=' + field_value + '&mode=f&width=128&height=128';
|
||||
$('#cascad3_' + did + '_' + cid + ' > .cascad3_sortable:last').prepend(
|
||||
'<div class="cascad3_item ui-state-default" id="cascad3_image_' + cid + '_' + did + '_' + iid + '" data-id="' + iid + '" doc=id="' + did + '">' +
|
||||
'<div class="header grey_bg"></div>' +
|
||||
'<a class="topDir icon_sprite ico_photo view fancy preview__' + cid + '_' + did + '_' + iid + '" href="' + field_value + '" title="' + look + '"></a>' +
|
||||
'<a class="topDir icon_sprite ico_delete delete" href="javascript:void(0);" title="' + del + '" data-id="' + cid + '_' + did + '_' + iid + '"></a>' +
|
||||
'<span class="topDir icon_sprite ico_info info" title="' + field_value + '"></span>' +
|
||||
'<input type="hidden" value="' + field_value + '" name="data[' + did + '][feld][' + cid + '][' + iid + '][url]" id="image__' + cid + '_' + did + '_' + iid + '">' +
|
||||
'<img id="preview__' + cid + '_' + did + '_' + iid + '" src="' + img_path + '" onclick="browse_uploads(\'image__' + cid + '_' + did + '_' + iid + '\');" class="image" alt="" width="100" height="100" />' +
|
||||
'<textarea class="mousetrap" name="data[' + did + '][feld][' + cid + '][' + iid + '][descr]" placeholder="' + place + '"></textarea>' +
|
||||
'</div>'
|
||||
);
|
||||
$.alerts._overlay('hide');
|
||||
Cascad3.cascad3_update();
|
||||
}
|
||||
}
|
||||
$.jGrowl(data['message'], {
|
||||
header: data['header'],
|
||||
theme: data['theme']
|
||||
});
|
||||
cascad3_input.replaceWith(cascad3_input = cascad3_input.clone(true));
|
||||
cascad3_input.val();
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
},
|
||||
|
||||
cascad3_click_upload: function() {
|
||||
$('.cascad3_upload_local').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var c_id = $(this).parent().parent().parent('.cascad3').attr("data-id");
|
||||
var d_id = $(this).parent().parent().parent('.cascad3').attr("data-doc");
|
||||
$('.cascad3_upload_field_' + c_id + '_' + d_id).trigger('click');
|
||||
});
|
||||
},
|
||||
|
||||
cascad3_add_single: function() {
|
||||
$('.cascad3_add_single').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var c_id = $(this).parent().parent().parent('.cascad3').attr("data-id");
|
||||
var d_id = $(this).parent().parent().parent('.cascad3').attr("data-doc");
|
||||
var iid = Cascad3.cascad3_maxid(c_id, d_id);
|
||||
$('#cascad3_' + d_id + '_' + c_id + ' > .cascad3_sortable:last').prepend(
|
||||
'<div class="cascad3_item ui-state-default" id="cascad3_image_' + c_id + '_' + d_id + '_' + iid + '" data-id="' + iid + '" data-doc="' + d_id + '">' +
|
||||
'<div class="header grey_bg"></div>' +
|
||||
'<a class="topDir icon_sprite ico_photo view fancy preview__' + c_id + '_' + d_id + '_' + iid + '" href="" title="' + look + '"></a>' +
|
||||
'<a class="topDir icon_sprite ico_delete delete" href="javascript:void(0);" title="' + del + '" data-id="' + c_id + '_' + d_id + '_' + iid + '"></a>' +
|
||||
'<input type="hidden" value="" name="data[' + d_id + '][feld][' + c_id + '][' + iid + '][url]" id="image__' + c_id + '_' + d_id + '_' + iid + '">' +
|
||||
'<img id="preview__' + c_id + '_' + d_id + '_' + iid + '" src="' + blank + '" onclick="browse_uploads(\'image__' + c_id + '_' + d_id + '_' + iid + '\');" class="image" alt="" width="100" height="100" />' +
|
||||
'<textarea class="mousetrap" name="data[' + d_id + '][feld][' + c_id + '][' + iid + '][descr]" placeholder="' + place + '"></textarea>' +
|
||||
'</div>'
|
||||
);
|
||||
browse_uploads('image__' + c_id + '_' + d_id + '_' + iid + '');
|
||||
Cascad3.cascad3_update();
|
||||
});
|
||||
},
|
||||
|
||||
cascad3_sortable: function() {
|
||||
$('.cascad3_sortable').sortable({
|
||||
handle: ".header",
|
||||
placeholder: "ui-state-highlight grey_bg"
|
||||
});
|
||||
//$(".cascad3").disableSelection();
|
||||
},
|
||||
|
||||
cascad3_add_folder: function() {
|
||||
$('.cascad3_add_folder').on('click', function(event) {
|
||||
event.preventDefault();
|
||||
var c_id = $(this).parent().parent().parent('.cascad3').attr("data-id");
|
||||
var d_id = $(this).parent().parent().parent('.cascad3').attr("data-doc");
|
||||
browse_dirs("cascad3__" + c_id + '_' + d_id);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
Cascad3.init();
|
||||
|
||||
$.fn.myPlugin = function cascad3_add_items(dir, cid, did) {
|
||||
|
||||
$.ajax({
|
||||
url: ave_path + 'admin/index.php?do=docs&action=image_import&ajax=run',
|
||||
data: {
|
||||
"path": dir
|
||||
},
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
$.alerts._overlay('hide');
|
||||
for (var p = 0, max = data.respons.length; p < max; p++) {
|
||||
var iid = Cascad3.cascad3_maxid(cid, did);
|
||||
var field_value = dir + data.respons[p];
|
||||
var img_path = '../index.php?thumb=' + field_value + '&mode=f&width=128&height=128';
|
||||
$('#cascad3_' + did + '_' + cid + ' > .cascad3_sortable:last').prepend(
|
||||
'<div class="cascad3_item ui-state-default" id="cascad3_image_' + cid + '_' + did + '_' + iid + '" data-id="' + iid + '" doc=id="' + did + '">' +
|
||||
'<div class="header grey_bg"></div>' +
|
||||
'<a class="topDir icon_sprite ico_photo view fancy preview__' + cid + '_' + did + '_' + iid + '" href="' + field_value + '" title="' + look + '"></a>' +
|
||||
'<a class="topDir icon_sprite ico_delete delete" href="javascript:void(0);" title="' + del + '" data-id="' + cid + '_' + did + '_' + iid + '"></a>' +
|
||||
'<span class="topDir icon_sprite ico_info info" title="' + field_value + '"></span>' +
|
||||
'<input type="hidden" value="' + field_value + '" name="data[' + did + '][feld][' + cid + '][' + iid + '][url]" id="image__' + cid + '_' + did + '_' + iid + '">' +
|
||||
'<img id="preview__' + cid + '_' + did + '_' + iid + '" src="' + img_path + '" onclick="browse_uploads(\'image__' + cid + '_' + did + '_' + iid + '\');" class="image" alt="" width="100" height="100" />' +
|
||||
'<textarea class="mousetrap" name="data[' + did + '][feld][' + cid + '][' + iid + '][descr]" placeholder="' + place + '"></textarea>' +
|
||||
'</div>'
|
||||
);
|
||||
Cascad3.cascad3_update();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
@ -1,27 +0,0 @@
|
||||
[admin]
|
||||
name = "Изображение (Каскада, 3 полета)"
|
||||
look = "Преглед"
|
||||
link = "Промени пътя"
|
||||
select = "Избери изображение"
|
||||
delete = "Изтриване на елелемт от элемент каскадата"
|
||||
place = "Описание"
|
||||
del_conf = "Сигурни ли сте, че желаете да изтриете този елемент?<br>(Изображението няма да бъде изтрито от сървъра)"
|
||||
del_head = "Изтриване на елемент от каскадата..."
|
||||
add_n_e = "Добави нов елемент:"
|
||||
add_f = "Избор на изображение"
|
||||
add_d = "Избор на папка"
|
||||
add_l = "Качи от компютъра"
|
||||
add_upl_e = "Вие може за заредите изображения от локален компютър след създаването на документа. За това натиснете бутона по долу «Добави и продължи редактирането»"
|
||||
upl_dir = "Папка: "
|
||||
del_all = "Изтриване на всички елементи"
|
||||
del_all_c = "Сигурни ли сте, че желаете да изтриете всички елементи?<br>(Изображенията няма да бъдат изтрити от сървъра)"
|
||||
del_all_h = "Изтриване на всички елементи на каскадата..."
|
||||
resp_s_h = "Изпълнено"
|
||||
resp_s_m = "Файловете са успешно заредени"
|
||||
resp_e_m = "Възникна грешка при зареждането на файловете. Моля, опитайте отново."
|
||||
resp_e_h = "Грешка"
|
||||
resp_m_m = "Броя на файловете за зареждане са повече от максималния, зададен в настройките на PHP."
|
||||
resp_m_h = "Грешка"
|
||||
max_f_f = "Максимален брой файлове за зареждане: "
|
||||
max_f_h = "Грешка"
|
||||
max_f_t = "Превишен е максималния брой файлове,<br>разрешен за едновременно зареждане"
|
@ -1,29 +0,0 @@
|
||||
[admin]
|
||||
name = "Zobrazení (Kaskáda, 3 inputy)"
|
||||
look = "Zobrazit"
|
||||
link = "Změnit cestu"
|
||||
select = "Vybrat zobrazení"
|
||||
delete = "Smazat prvek kaskády"
|
||||
place = "Popis"
|
||||
del_conf = "Opravdu chcete odstranit tento prvek?<br>(Zobrazení nebude smazáno ze serveru)"
|
||||
del_head = "Smazání prvku kaskády..."
|
||||
add_n_e = "Přidat nový element:"
|
||||
add_f = "Vybrat zobrazení"
|
||||
add_d = "Vybrat složku"
|
||||
add_l = "Nahrát z počítače"
|
||||
add_upl_e = "Můžete nahrávat obrázky z místního počítače po vytvoření dokumentu. Kliknutím níže na "Přidat a pokračovat v úpravách"
|
||||
upl_dir = "Složka: "
|
||||
del_all = "Odstranit všechny prvky"
|
||||
del_all_c = "Opravdu chcete odstranit všechny prvky?<br>(Zobrazení nebude smazáno ze serveru)"
|
||||
del_all_h = "Odstranit všechny prvky kaskádu..."
|
||||
resp_s_h = "Hotovo"
|
||||
resp_s_m = "Soubory úspěšně nahrány"
|
||||
resp_s_h = "Hotovo"
|
||||
resp_s_m = "Soubory úspěšně nahrány"
|
||||
resp_e_m = "Při stahování souborů došlo k chybě. Zkuste znovu."
|
||||
resp_e_h = "Chyba"
|
||||
resp_m_m = "Počet souborů, které se mají nahrát překračují hodnotu zadanou v konfiguračním PHP."
|
||||
resp_m_h = "Chyba"
|
||||
max_f_f = "Maximální počet souborů ke stažení: "
|
||||
max_f_h = "Chba"
|
||||
max_f_t = Překročen maximální počet souborů,<br>během jednoho nahrávání"
|
@ -1,26 +0,0 @@
|
||||
[en]
|
||||
name = "Cascad NEW, 3 inputs"
|
||||
look = "Lool"
|
||||
link = "Change path"
|
||||
select = "Select image"
|
||||
delete = "Delete item cascade"
|
||||
place = "Description"
|
||||
del_conf = "are you sure You want to delete this item?<br>(the Image will not be deleted from the server)"
|
||||
del_head = "Delete item cascade..."
|
||||
add_n_e = "Add new item:"
|
||||
add_f = "Select image"
|
||||
add_d = "Select folder"
|
||||
add_l = "Download to computer"
|
||||
add_upl_e = "You can upload pictures from your computer after you create the document. To do this, press the bottom button "Add and continue editing""
|
||||
del_all = "Delete any items"
|
||||
del_all_c = "are you sure You want to delete all items?<br>(Image will not be deleted from the server)"
|
||||
del_all_h = "Delete all items of the cascade..."
|
||||
resp_s_h = "Done"
|
||||
resp_s_m = "File successfully loaded"
|
||||
resp_e_m = "an error Occurred when uploading files. Try again."
|
||||
resp_e_h = "Error"
|
||||
resp_m_m = "number of uploaded file exceeds the value set in your PHP settings."
|
||||
resp_m_h = "Error"
|
||||
max_f_f = "Maximum number zagrozenia files:"
|
||||
max_f_h = "Error"
|
||||
max_f_t = "you have Exceeded the maximum number of files<br>to download"
|
@ -1,27 +0,0 @@
|
||||
[admin]
|
||||
name = "Obrazek (Kaskada, 3 input’y)"
|
||||
look = "Popatrz"
|
||||
link = "Zmień sposób"
|
||||
select = "Wybierz obrazek"
|
||||
delete = "Usuń kaskadę"
|
||||
place = "Opis"
|
||||
del_conf = "Czy na pewno chcesz usunąć ten element? <br> (Obrazek nie będzie usunięty z serwera)"
|
||||
del_head = "Usuń element kaskady ..."
|
||||
add_n_e = "Dodaj nowy element"
|
||||
add_f = "Wybierz obrazek"
|
||||
add_d = "Wybierz folder"
|
||||
add_l = "Pobierz z komputera"
|
||||
add_upl_e = "Możesz pobrać obrazki z komputera lokalnego po utworzeniu dokumentu. Aby to zrobić, kliknij poniżej na “Dodaj i kontynuować edycję”"
|
||||
upl_dir = "Folder:"
|
||||
del_all = "Usuń wszystkie elementy"
|
||||
del_all_c = "Czy na pewno chcesz usunąć wszystkie elementy? <br /> (Obrazek nie będzie usunięty z serwera)"
|
||||
del_all_h = "Usuń wszystkie pozycje kaskady..."
|
||||
resp_s_h = "Gotowe"
|
||||
resp_s_m = "Pliki pomyślnie pobrane"
|
||||
resp_e_m = "Wystąpił błąd podczas pobierania plików. Spróbuj ponownie."
|
||||
resp_e_h = "Błąd"
|
||||
resp_m_m = "Liczba plików do przesłania przekracza wartości, określone w PHP konfiguracji."
|
||||
resp_m_h = "Błąd"
|
||||
max_f_f = "Maksymalna liczba plików do pobrania:"
|
||||
max_f_h = "Błąd"
|
||||
max_f_t = "Przekroczono maksymalną liczbę plików, <br /> na jednoczesne ładowanie"
|
@ -1,27 +0,0 @@
|
||||
[admin]
|
||||
name = "Изображение (Каскад, 3 инпута)"
|
||||
look = "Посмотреть"
|
||||
link = "Изменить путь"
|
||||
select = "Выбрать изображение"
|
||||
delete = "Удалить элемент каскада"
|
||||
place = "параметр"
|
||||
del_conf = "Вы уверены, что хотите удалить данный элемент?<br>(Изображение не будет удалено с сервера)"
|
||||
del_head = "Удаление элемента каскада..."
|
||||
add_n_e = "Добавить новый элемент:"
|
||||
add_f = "Выбрать изображение"
|
||||
add_d = "Выбрать папку"
|
||||
add_l = "Загрузить с компьютера"
|
||||
add_upl_e = "Вы сможете загрузить фотографии с локального компьютера после создания документа. Для этого нажмите внизу кнопку «Добавить и продолжить редактирование»"
|
||||
upl_dir = "Папка: "
|
||||
del_all = "Удалить все элементы"
|
||||
del_all_c = "Вы уверены, что хотите удалить все элементы?<br>(Изображения не будет удалены с сервера)"
|
||||
del_all_h = "Удаление всех элемента каскада..."
|
||||
resp_s_h = "Выполнено"
|
||||
resp_s_m = "Файлы успешно загрузились"
|
||||
resp_e_m = "Возникла ошибка при загрузке файлов. Попробуйте еще раз."
|
||||
resp_e_h = "Ошибка"
|
||||
resp_m_m = "Кол-во загружаемых файлов превышает значение, заданное в настройках PHP."
|
||||
resp_m_h = "Ошибка"
|
||||
max_f_f = "Макимальное кол-во загружаемых файлов: "
|
||||
max_f_h = "Ошибка"
|
||||
max_f_t = "Превышено максимальное число файлов,<br>для одновременной загрузки"
|
@ -1,27 +0,0 @@
|
||||
[admin]
|
||||
name = "Зображення (Каскад, 3 інпута)"
|
||||
look = "Подивитися"
|
||||
link = "Змінити шлях"
|
||||
select = "Обрати зображення"
|
||||
delete = "Видалити елемент каскаду"
|
||||
place = "Опис"
|
||||
del_conf = "Ви впевнені, що бажаєте видалити цей елемент?<br>(Зображення не буде видалено зі сервера)"
|
||||
del_head = "Видалення елемента каскаду..."
|
||||
add_n_e = "Додати новий елемент:"
|
||||
add_f = "Обрати зображення"
|
||||
add_d = "Обрати папку"
|
||||
add_l = "Завантажити з компьютера"
|
||||
add_upl_e = "Ви зможете завантажити зображення з локального компьютера післе створення документа. Для цього натисніть внизу кнопку “Додати та продовжити редагування”"
|
||||
upl_dir = "Папка: "
|
||||
del_all = "Видалити всі елементи"
|
||||
del_all_c = "Ви впевнені, що бажаєте видалити всі елементи?<br>(Зображення не буде видалено зі сервера)"
|
||||
del_all_h = "Видалення всіх елементів каскаду..."
|
||||
resp_s_h = "Виконано"
|
||||
resp_s_m = "Файли успішно завантажилися"
|
||||
resp_e_m = "Сталася помилка при завантаженні файлів. Спробуйте ще раз."
|
||||
resp_e_h = "Помилка"
|
||||
resp_m_m = "Кількість файлів для завантаження перевищує значення, яке вказане у налаштуваннях PHP."
|
||||
resp_m_h = "Помилка"
|
||||
max_f_f = "Максимальна кількість файлів для завантаження: "
|
||||
max_f_h = "Помилка"
|
||||
max_f_t = "Перевищено максимальне число файлів,<br>для одночасного завантаження"
|
@ -1,3 +0,0 @@
|
||||
{foreach from=$field_value item=image}
|
||||
<img src="{$image[0]}" alt="{if isset($image[1])}{$image[1]}{/if}" title="{if isset($image[1])}{$image[1]}{/if}">
|
||||
{/foreach}
|
@ -1,3 +0,0 @@
|
||||
{foreach from=$field_value item=image}
|
||||
<img src="{$image[0]}" alt="{if isset($image[1])}{$image[1]}{/if}" title="{if isset($image[1])}{$image[1]}{/if}">
|
||||
{/foreach}
|
@ -1,65 +0,0 @@
|
||||
{if $cascad3_new_3inputs != load}
|
||||
{assign var=cascad3_new_3inputs value='' scope="global"}
|
||||
{if $smarty.request.outside}
|
||||
<script src="{$ABS_PATH}fields/{$field_dir}/js/outside.js" type="text/javascript"></script>
|
||||
{else}
|
||||
<script src="{$ABS_PATH}fields/{$field_dir}/js/field.js" type="text/javascript"></script>
|
||||
{/if}
|
||||
<link href="{$ABS_PATH}fields/{$field_dir}/css/field.css" rel="stylesheet" type="text/css" media="screen" />
|
||||
<script type="text/javascript">
|
||||
var blank = '{$tpl_dir}/images/blanc.gif';
|
||||
var place = '{#place#}';
|
||||
var look = '{#look#}';
|
||||
var del = '{#delete#}';
|
||||
var del_conf = '{#del_conf#}';
|
||||
var del_head = '{#del_head#}';
|
||||
var del_all_c = '{#del_all_c#}';
|
||||
var del_all_h = '{#del_all_h#}';
|
||||
var max_f_t = '{#max_f_t#}';
|
||||
var max_f_h = '{#max_f_h#}';
|
||||
</script>
|
||||
{assign var=cascad3_new_3inputs value="load" scope="global"}
|
||||
{/if}
|
||||
|
||||
<div class="cascad3" id="cascad3_{$doc_id}_{$field_id}" data-id="{$field_id}" data-doc="{$doc_id}" data-rubric="{$smarty.request.rubric_id}">
|
||||
<input type="hidden" value="" id="cascad3__{$field_id}_{$doc_id}">
|
||||
{if $show_upload}
|
||||
<input type="file" class="cascad3_upload cascad3_upload_field_{$field_id}_{$doc_id}" multiple name="cascad3_files_{$field_id}_{$doc_id}[]" style="visibility: hidden; display: none;" data-max-files="{$max_files}" />
|
||||
{/if}
|
||||
<ul class="messages">
|
||||
<li class="highlight grey">
|
||||
{#add_n_e#}
|
||||
<a href="javascript:void(0);" class="cascad3_add_single link">{#add_f#}</a>
|
||||
|
|
||||
<a href="javascript:void(0);" class="cascad3_add_folder link">{#add_d#}</a>
|
||||
|
|
||||
<a href="javascript:void(0);" class="cascad3_del_all link">{#del_all#}</a>
|
||||
{if $show_upload}
|
||||
|
|
||||
<a href="javascript:void(0);" class="cascad3_upload_local link">{#add_l#}</a> <a href="javascript:void(0);" class="topDir" title="{$max_files}<br>{$dir_upload}">[?]</a>
|
||||
{else}
|
||||
|
|
||||
<a href="javascript:void(0);" class="topDir" title="{#add_upl_e#}<br><br>{$max_files}<br>{$dir_upload}">[?]</a>
|
||||
{/if}
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="cascad3_sortable">
|
||||
{foreach from=$images key=key item=image}
|
||||
|
||||
<div class="cascad3_item ui-state-default" id="cascad3_image_{$field_id}_{$doc_id}_{$key}" data-id="{$key}" data-doc="{$doc_id}">
|
||||
<div class="header grey_bg"></div>
|
||||
<a class="topDir icon_sprite ico_photo view fancy preview__{$field_id}_{$doc_id}_{$key}" href="{$image.url}" title="{#look#}"></a>
|
||||
<a class="topDir icon_sprite ico_delete delete" href="javascript:void(0);" title="{#delete#}" data-id="{$field_id}_{$doc_id}_{$key}"></a>
|
||||
<span class="topDir icon_sprite ico_info info" title="{$image.url}"></span>
|
||||
<input type="hidden" value="{$image.url}" name="feld[{$field_id}][{$key}][url]" id="image__{$field_id}_{$doc_id}_{$key}">
|
||||
<img id="preview__{$field_id}_{$doc_id}_{$key}" src="{$image.thumb}" onclick="browse_uploads('image__{$field_id}_{$doc_id}_{$key}');" class="image" alt="" width="100" height="100" />
|
||||
<input class="mousetrap" name="feld[{$field_id}][{$key}][descr]" placeholder="{#place#} 1" value="{$image.desc}"/>
|
||||
<input class="mousetrap" name="feld[{$field_id}][{$key}][descr2]" placeholder="{#place#} 2" value="{$image.desc2}"/>
|
||||
<input class="mousetrap" name="feld[{$field_id}][{$key}][descr3]" placeholder="{#place#} 3" value="{$image.desc3}"/>
|
||||
</div>
|
||||
|
||||
{/foreach}
|
||||
</div>
|
||||
|
||||
</div>
|
@ -1,165 +1,167 @@
|
||||
<?php
|
||||
/**
|
||||
* Поле Цена
|
||||
*/
|
||||
function get_field_teasers($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength = '', $doc_fields=array(), $rubric_id=0, $default='')
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
$fld_dir = dirname(__FILE__) . '/';
|
||||
$tpl_dir = $fld_dir . 'tpl/';
|
||||
$fld_name = basename($fld_dir);
|
||||
|
||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt';
|
||||
|
||||
$AVE_Template->config_load($lang_file, 'lang');
|
||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars());
|
||||
$AVE_Template->config_load($lang_file, 'admin');
|
||||
|
||||
switch ($action)
|
||||
/**
|
||||
* Teasers
|
||||
*/
|
||||
function get_field_teasers($field_value, $action, $field_id=0, $tpl='', $tpl_empty=0, &$maxlength = '', $doc_fields=array(), $rubric_id=0, $default='')
|
||||
{
|
||||
case 'edit':
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
$items = array();
|
||||
$fld_dir = dirname(__FILE__) . '/';
|
||||
$tpl_dir = $fld_dir . 'tpl/';
|
||||
$fld_name = basename($fld_dir);
|
||||
|
||||
$items = unserialize($field_value);
|
||||
$lang_file = $fld_dir . 'lang/' . (defined('ACP') ? $_SESSION['admin_language'] : $_SESSION['user_language']) . '.txt';
|
||||
|
||||
if($items != false){
|
||||
$AVE_Template->config_load($lang_file, 'lang');
|
||||
$AVE_Template->assign('config_vars', $AVE_Template->get_config_vars());
|
||||
$AVE_Template->config_load($lang_file, 'admin');
|
||||
|
||||
foreach($items as $k => $v){
|
||||
$list_item = explode('|', $v);
|
||||
switch ($action)
|
||||
{
|
||||
case 'edit':
|
||||
|
||||
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : '';
|
||||
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : '';
|
||||
$items = array();
|
||||
|
||||
$items = unserialize($field_value);
|
||||
|
||||
if($items != false){
|
||||
|
||||
foreach($items as $k => $v){
|
||||
$list_item = explode('|', $v);
|
||||
|
||||
$list[$k]['param'] = (isset($list_item[0])) ? htmlspecialchars($list_item[0], ENT_QUOTES) : '';
|
||||
$list[$k]['value'] = (isset($list_item[1])) ? htmlspecialchars($list_item[1], ENT_QUOTES) : '';
|
||||
}
|
||||
|
||||
$items = $list;
|
||||
}
|
||||
|
||||
$items = $list;
|
||||
}
|
||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin');
|
||||
|
||||
$tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin');
|
||||
$AVE_Template->assign('doc_id', $_REQUEST['Id']);
|
||||
$AVE_Template->assign('items', $items);
|
||||
$AVE_Template->assign('field_dir', $fld_name);
|
||||
$AVE_Template->assign('field_id', $field_id);
|
||||
|
||||
$AVE_Template->assign('doc_id', $_REQUEST['Id']);
|
||||
$AVE_Template->assign('items', $items);
|
||||
$AVE_Template->assign('field_dir', $fld_name);
|
||||
$AVE_Template->assign('field_id', $field_id);
|
||||
return $AVE_Template->fetch($tpl_file);
|
||||
|
||||
return $AVE_Template->fetch($tpl_file);
|
||||
|
||||
case 'save':
|
||||
foreach ($field_value as $v)
|
||||
{
|
||||
if(! empty($v['value']) && ! empty($v['param']))
|
||||
case 'save':
|
||||
foreach ($field_value as $v)
|
||||
{
|
||||
$field_value_new[] = $v['param'] . ($v['value'] ? '|' . $v['value'] : '');
|
||||
if(! empty($v['value']) && ! empty($v['param']))
|
||||
{
|
||||
$field_value_new[] = $v['param'] . ($v['value'] ? '|' . $v['value'] : '');
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isset($field_value_new))
|
||||
{
|
||||
return @serialize($field_value_new);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $field_value_new = '';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'doc':
|
||||
$items = (isset($field_value)) ? unserialize($field_value) : array();
|
||||
|
||||
$res = array();
|
||||
|
||||
if ($items != false)
|
||||
{
|
||||
foreach($items as $item)
|
||||
if (isset($field_value_new))
|
||||
{
|
||||
$item = explode('|', $item);
|
||||
|
||||
if ($item[1])
|
||||
$res[] = eval2var('?>' . showteaser($item[1]) . '<?');
|
||||
return @serialize($field_value_new);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return $field_value_new = '';
|
||||
}
|
||||
break;
|
||||
|
||||
return (! empty($res))
|
||||
? implode(PHP_EOL, $res)
|
||||
: $tpl;
|
||||
case 'doc':
|
||||
$items = (isset($field_value))
|
||||
? unserialize($field_value)
|
||||
: array();
|
||||
|
||||
break;
|
||||
$res = array();
|
||||
|
||||
case 'req':
|
||||
return get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty);
|
||||
if ($items != false)
|
||||
{
|
||||
foreach($items as $item)
|
||||
{
|
||||
$item = explode('|', $item);
|
||||
|
||||
case 'name' :
|
||||
return $AVE_Template->get_config_vars('name');
|
||||
break;
|
||||
if ($item[1])
|
||||
$res[] = showteaser($item[1]);
|
||||
}
|
||||
}
|
||||
|
||||
case 'search':
|
||||
return (! empty($res))
|
||||
? implode(PHP_EOL, $res)
|
||||
: $tpl;
|
||||
|
||||
$field_default = explode(',', $default);
|
||||
break;
|
||||
|
||||
$zap_1 = ($field_default[0]) ? ',' : '';
|
||||
$zap_2 = ($field_default[0] && $field_default[1]) ? ',' : '';
|
||||
case 'req':
|
||||
return get_field_default($field_value, $action, $field_id, $tpl, $tpl_empty);
|
||||
|
||||
$sel_1 = ($field_default[0]) ? 'b.field_value as b1' : '';
|
||||
$sel_2 = ($field_default[1]) ? 'c.field_value as c1' : '';
|
||||
case 'name' :
|
||||
return $AVE_Template->get_config_vars('name');
|
||||
break;
|
||||
|
||||
$from_1 = ($field_default[0]) ? PREFIX . '_document_fields b' : '';
|
||||
$from_2 = ($field_default[1]) ? PREFIX . '_document_fields c' : '';
|
||||
case 'search':
|
||||
|
||||
$search_1 = ($field_default[0]) ? "AND (b.document_id=a.Id AND b.rubric_field_id = " . $field_default[0] . ")" : "";
|
||||
$search_2 = ($field_default[1]) ? "AND (c.document_id=a.Id AND c.rubric_field_id = " . $field_default[1] . ")" : "";
|
||||
$field_default = explode(',', $default);
|
||||
|
||||
$or_1 = ($field_default[0]) ? "OR (UPPER(b.field_value) LIKE UPPER('%" . $_REQUEST['q'] . "%'))" : "";
|
||||
$or_2 = ($field_default[1]) ? "OR (UPPER(c.field_value) LIKE UPPER('%" . $_REQUEST['q'] . "%'))" : "";
|
||||
$zap_1 = ($field_default[0]) ? ',' : '';
|
||||
$zap_2 = ($field_default[0] && $field_default[1]) ? ',' : '';
|
||||
|
||||
$sql = $AVE_DB->Query("
|
||||
SELECT
|
||||
a.Id,
|
||||
a.document_title
|
||||
$zap_1
|
||||
$sel_1
|
||||
$zap_2
|
||||
$sel_2
|
||||
FROM
|
||||
" . PREFIX . "_documents a
|
||||
$zap_1
|
||||
" . $from_1 . "
|
||||
$zap_2
|
||||
" . $from_2 . "
|
||||
WHERE
|
||||
a.rubric_id = '" . $_REQUEST['rubric_id'] . "'
|
||||
AND
|
||||
a.document_status = 1
|
||||
" . $search_1 . "
|
||||
" . $search_2 . "
|
||||
AND
|
||||
(
|
||||
(UPPER(document_title) LIKE UPPER('%" . $_REQUEST['q'] . "%'))
|
||||
$or_1
|
||||
$or_2
|
||||
)
|
||||
GROUP BY a.Id
|
||||
LIMIT 0,5
|
||||
");
|
||||
$sel_1 = ($field_default[0]) ? 'b.field_value as b1' : '';
|
||||
$sel_2 = ($field_default[1]) ? 'c.field_value as c1' : '';
|
||||
|
||||
$doc_finded = array();
|
||||
$from_1 = ($field_default[0]) ? PREFIX . '_document_fields b' : '';
|
||||
$from_2 = ($field_default[1]) ? PREFIX . '_document_fields c' : '';
|
||||
|
||||
while ($row = $sql->FetchRow())
|
||||
{
|
||||
$doc_finded[] = array(
|
||||
'doc_id' => $row->Id,
|
||||
'doc_title' => $row->document_title,
|
||||
'doc_name' => (($field_default[0]) ? $row->b1 : $row->document_title),
|
||||
'doc_article' => (($field_default[1]) ? $row->c1 : '')
|
||||
);
|
||||
}
|
||||
$search_1 = ($field_default[0]) ? "AND (b.document_id=a.Id AND b.rubric_field_id = " . $field_default[0] . ")" : '';
|
||||
$search_2 = ($field_default[1]) ? "AND (c.document_id=a.Id AND c.rubric_field_id = " . $field_default[1] . ")" : '';
|
||||
|
||||
echo json_encode($doc_finded);
|
||||
exit;
|
||||
$or_1 = ($field_default[0]) ? "OR (UPPER(b.field_value) LIKE UPPER('%" . $_REQUEST['q'] . "%'))" : '';
|
||||
$or_2 = ($field_default[1]) ? "OR (UPPER(c.field_value) LIKE UPPER('%" . $_REQUEST['q'] . "%'))" : '';
|
||||
|
||||
default:
|
||||
return $field_value;
|
||||
$sql = $AVE_DB->Query("
|
||||
SELECT
|
||||
a.Id,
|
||||
a.document_title
|
||||
$zap_1
|
||||
$sel_1
|
||||
$zap_2
|
||||
$sel_2
|
||||
FROM
|
||||
" . PREFIX . "_documents a
|
||||
$zap_1
|
||||
" . $from_1 . "
|
||||
$zap_2
|
||||
" . $from_2 . "
|
||||
WHERE
|
||||
a.rubric_id = '" . $_REQUEST['rubric_id'] . "'
|
||||
AND
|
||||
a.document_status = 1
|
||||
" . $search_1 . "
|
||||
" . $search_2 . "
|
||||
AND
|
||||
(
|
||||
(UPPER(document_title) LIKE UPPER('%" . $_REQUEST['q'] . "%'))
|
||||
$or_1
|
||||
$or_2
|
||||
)
|
||||
GROUP BY a.Id
|
||||
LIMIT 0,5
|
||||
");
|
||||
|
||||
$doc_finded = array();
|
||||
|
||||
while ($row = $sql->FetchRow())
|
||||
{
|
||||
$doc_finded[] = array(
|
||||
'doc_id' => $row->Id,
|
||||
'doc_title' => $row->document_title,
|
||||
'doc_name' => (($field_default[0]) ? $row->b1 : $row->document_title),
|
||||
'doc_article' => (($field_default[1]) ? $row->c1 : '')
|
||||
);
|
||||
}
|
||||
|
||||
echo json_encode($doc_finded);
|
||||
exit;
|
||||
|
||||
default:
|
||||
return $field_value;
|
||||
}
|
||||
|
||||
return ($res ? $res : $field_value);
|
||||
}
|
||||
|
||||
return ($res ? $res : $field_value);
|
||||
}
|
||||
?>
|
@ -1,4 +1,4 @@
|
||||
var Analoque = {
|
||||
var Teasers = {
|
||||
|
||||
init: false,
|
||||
|
||||
@ -57,7 +57,7 @@ var Analoque = {
|
||||
$('.AddButton').on('click', function() {
|
||||
c_id = $(this).parent().parent('.analoque_lists').attr("data-id");
|
||||
d_id = $(this).parent().parent('.analoque_lists').attr("data-docid");
|
||||
i_id = Analoque.Analoque_maxid(d_id + '_' + c_id);
|
||||
i_id = Teasers.Analoque_maxid(d_id + '_' + c_id);
|
||||
$('#analoque_lists_' + d_id + '_' + c_id + ':last').append(
|
||||
'<div class="analoque_list fix mb10" id="analoque_list_' + d_id + '_' + c_id + '_' + i_id + '" data-id="' + i_id + '">' +
|
||||
'<input class="mousetrap search_analoque" name="feld[' + c_id + '][' + i_id + '][param]" type="text" value="" placeholder="' + analoque_param + '" data-docid="' + d_id + '" data-fieldid="' + c_id + '" data-id="' + i_id + '" style="width: 450px;"/> Id: <input type="text" class="mousetrap field_' + d_id + '_' + c_id + '_' + i_id + '" value="" name="feld[' + c_id + '][' + i_id + '][value]" placeholder="' + analoque_value + '" style="width: 50px;" readonly /> <a href="javascript:void(0);" data-id="' + d_id + '_' + c_id + '_' + i_id + '" class="button redBtn topDir DelButton" title="' + analoque_del + '">×</a>' +
|
||||
@ -65,7 +65,7 @@ var Analoque = {
|
||||
'</div>'
|
||||
);
|
||||
|
||||
Analoque.Analoque_update();
|
||||
Teasers.Analoque_update();
|
||||
});
|
||||
},
|
||||
|
||||
@ -81,6 +81,8 @@ var Analoque = {
|
||||
*/
|
||||
Analoque_search: function() {
|
||||
|
||||
var res_search = false;
|
||||
|
||||
$('.search_analoque').on('input', function(event)
|
||||
{
|
||||
event.preventDefault();
|
||||
@ -92,28 +94,40 @@ var Analoque = {
|
||||
var kid = query.attr('data-id');
|
||||
var field_id_input = $('.field_' + did + '_' + fid + '_' + kid);
|
||||
|
||||
query.autocomplete("index.php?do=fields&field=analoque&type=search&doc_id=" + did + "&field_id=" + fid, {
|
||||
if (res_search)
|
||||
return false;
|
||||
|
||||
res_search = true;
|
||||
|
||||
query.autocomplete("index.php?do=fields&field=teasers&type=search&doc_id=" + did + "&field_id=" + fid, {
|
||||
width: query.outerWidth(),
|
||||
max: 10,
|
||||
max: 5,
|
||||
dataType: "json",
|
||||
matchContains: "word",
|
||||
scroll: true,
|
||||
scrollHeight: 200,
|
||||
parse: function(data) {
|
||||
return $.map(data, function(row) {
|
||||
return {
|
||||
data: row,
|
||||
value: row.doc_title,
|
||||
result: query.val()
|
||||
}
|
||||
});
|
||||
res_search = false;
|
||||
|
||||
if (typeof data === 'object')
|
||||
{
|
||||
return $.map(data, function(row) {
|
||||
return {
|
||||
data: row,
|
||||
value: row.doc_title,
|
||||
result: query.val()
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return false;
|
||||
},
|
||||
formatItem: function(item) {
|
||||
return '<div style="padding: 3px 0;"><span style="font-weight: 700;">' + item.doc_article + '</span> ' + item.doc_name + '</div>';
|
||||
return '<div style="padding: 3px 0;"><span style="font-weight: 700;">' + item.doc_article + '</span> ' + item.doc_name + '</div>';
|
||||
}
|
||||
}).result(function(e, item) {
|
||||
query.val(item.doc_name);
|
||||
field_id_input.val(item.doc_id);
|
||||
query.val(item.doc_name);
|
||||
field_id_input.val(item.doc_id);
|
||||
});
|
||||
|
||||
return false;
|
||||
@ -123,7 +137,6 @@ var Analoque = {
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
Analoque.init();
|
||||
$(document).ready(function() {
|
||||
Teasers.init();
|
||||
});
|
||||
|
@ -1,5 +1,5 @@
|
||||
{if $analoque != load}
|
||||
{assign var=analoque value='' scope="global"}
|
||||
{assign var=teasers value='' scope="global"}
|
||||
{if $smarty.request.outside}
|
||||
<script src="{$ABS_PATH}fields/{$field_dir}/js/outside.js" type="text/javascript"></script>
|
||||
{else}
|
||||
@ -14,7 +14,7 @@
|
||||
var analoque_del_conf = '{#del_conf#}';
|
||||
var analoque_del_head = '{#del_head#}';
|
||||
</script>
|
||||
{assign var=analoque value="load" scope="global"}
|
||||
{assign var=teasers value="load" scope="global"}
|
||||
{/if}
|
||||
|
||||
<div class="analoque_lists mt10" id="analoque_lists_{$doc_id}_{$field_id}" data-docid="{$doc_id}" data-id="{$field_id}">
|
||||
|
@ -1,3 +1,9 @@
|
||||
[admin]
|
||||
|
||||
name = "YouTube"
|
||||
f_url = "Линк"
|
||||
f_width = "Ширина"
|
||||
f_height = "Височина"
|
||||
f_fullscreen = "На цял екран"
|
||||
f_allow = "Разреши"
|
||||
f_forbidden = "Забрани"
|
||||
f_metod = "Метод на вмъкване"
|
||||
|
@ -1,2 +1,9 @@
|
||||
[admin]
|
||||
name = "YouTube"
|
||||
f_url = "Ссылка"
|
||||
f_width = "Ширина"
|
||||
f_height = "Высота"
|
||||
f_fullscreen = "Полноэкранный режим"
|
||||
f_allow = "Разрешить"
|
||||
f_forbidden = "Запретить"
|
||||
f_metod = "Метод вставки"
|
@ -1,2 +1,9 @@
|
||||
[admin]
|
||||
name = "YouTube"
|
||||
f_url = "Url"
|
||||
f_width = "Width"
|
||||
f_height = "Height"
|
||||
f_fullscreen = "Fullscreen"
|
||||
f_allow = "Allow"
|
||||
f_forbidden = "Forbidden"
|
||||
f_metod = "Metod"
|
@ -1,2 +1,9 @@
|
||||
[admin]
|
||||
name = "YouTube"
|
||||
f_url = "Url"
|
||||
f_width = "Width"
|
||||
f_height = "Height"
|
||||
f_fullscreen = "Fullscreen"
|
||||
f_allow = "Allow"
|
||||
f_forbidden = "Forbidden"
|
||||
f_metod = "Metod"
|
@ -1,2 +1,9 @@
|
||||
[admin]
|
||||
name = "YouTube"
|
||||
f_url = "Ссылка"
|
||||
f_width = "Ширина"
|
||||
f_height = "Высота"
|
||||
f_fullscreen = "Полноэкранный режим"
|
||||
f_allow = "Разрешить"
|
||||
f_forbidden = "Запретить"
|
||||
f_metod = "Метод вставки"
|
@ -1,2 +1,9 @@
|
||||
[admin]
|
||||
name = "YouTube"
|
||||
f_url = "Url"
|
||||
f_width = "Width"
|
||||
f_height = "Height"
|
||||
f_fullscreen = "Fullscreen"
|
||||
f_allow = "Allow"
|
||||
f_forbidden = "Forbidden"
|
||||
f_metod = "Metod"
|
@ -1,24 +1,24 @@
|
||||
<div class="mb10">
|
||||
Ссылка:
|
||||
{#f_url#}:
|
||||
<input type="text" style="width: 100%;" name="feld[{$field_id}][url]" value="{$video.0}" class="mousetrap" />
|
||||
</div>
|
||||
|
||||
<div class="mb10">
|
||||
Ширина: <input type="text" style="width: 50px;" name="feld[{$field_id}][width]" value="{$video.1}" class="mousetrap" /> px
|
||||
{#f_width#}: <input type="text" style="width: 50px;" name="feld[{$field_id}][width]" value="{$video.1}" class="mousetrap" /> px
|
||||
|
||||
Высота: <input type="text" style="width: 50px;" name="feld[{$field_id}][height]" value="{$video.2}" class="mousetrap" /> px
|
||||
{#f_height#}: <input type="text" style="width: 50px;" name="feld[{$field_id}][height]" value="{$video.2}" class="mousetrap" /> px
|
||||
</div>
|
||||
|
||||
<div class="mb10">
|
||||
Полноэкранный режим:
|
||||
{#f_fullscreen#}:
|
||||
<select name="feld[{$field_id}][fullscreen]">
|
||||
<option value="true" {if $video.3 == 'true'}selected{/if}>Разрешить</option>
|
||||
<option value="false" {if $video.3 == 'false'}selected{/if}>Запретить</option>
|
||||
<option value="true" {if $video.3 == 'true'}selected{/if}>{#f_allow#}</option>
|
||||
<option value="false" {if $video.3 == 'false'}selected{/if}>{#f_forbidden#}</option>
|
||||
</select>
|
||||
|
||||
Метод вставки:
|
||||
{#f_metod#}:
|
||||
<select name="feld[{$field_id}][source]">
|
||||
<option value="embed" {if $video.4 == 'embed'}selected{/if}>Embed</option>
|
||||
<option value="iframe" {if $video.4 == 'iframe'}selected{/if}>Iframe</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
@ -29,6 +29,10 @@ function parse_block($id)
|
||||
{
|
||||
$cache_file = BASE_DIR . '/cache/sql/block/' . $id . '.cache';
|
||||
|
||||
// Если включен DEV MODE, то отключаем кеширование запросов
|
||||
if (defined('DEV_MODE') AND DEV_MODE)
|
||||
$cache_file = null;
|
||||
|
||||
if (! file_exists(dirname($cache_file)))
|
||||
mkdir(dirname($cache_file), 0766, true);
|
||||
|
||||
@ -48,7 +52,8 @@ function parse_block($id)
|
||||
LIMIT 1
|
||||
")->GetCell();
|
||||
|
||||
file_put_contents($cache_file,$return);
|
||||
if ($cache_file)
|
||||
file_put_contents($cache_file, $return);
|
||||
}
|
||||
|
||||
//-- парсим теги
|
||||
@ -84,9 +89,9 @@ function parse_block($id)
|
||||
|
||||
$gen_time = Debug::endTime('BLOCK_' . $id);
|
||||
|
||||
$GLOBALS['block_generate'][] = array('BLOCK_'. $id => $gen_time);
|
||||
$GLOBALS['block_generate']['BLOCKS'][$id] = $gen_time;
|
||||
|
||||
return $return;
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
@ -62,8 +62,17 @@
|
||||
|
||||
$lang_home_alias = $AVE_DB->Query($sql)->FetchRow();
|
||||
|
||||
$search = array('[name]', '[link]', '[count]');
|
||||
$replace = array($lang_home_alias->document_breadcrum_title, $bread_show_host ? HOST . '/' . ltrim($lang_home_alias->document_alias, '/') : $lang_home_alias->document_alias, 1);
|
||||
$search = array(
|
||||
'[name]',
|
||||
'[link]',
|
||||
'[count]'
|
||||
);
|
||||
|
||||
$replace = array(
|
||||
$lang_home_alias->document_breadcrum_title,
|
||||
$bread_show_host ? HOST . '/' . ltrim($lang_home_alias->document_alias, '/') : $lang_home_alias->document_alias,
|
||||
1
|
||||
);
|
||||
|
||||
$link = str_replace($search, $replace, $bread_link_template);
|
||||
|
||||
@ -74,7 +83,7 @@
|
||||
if ($bread_sepparator_use)
|
||||
$bread_crumb .= $bread_sepparator;
|
||||
|
||||
unset($search, $replace, $link, $sql, $lang_home_alias);
|
||||
unset ($search, $replace, $link, $sql, $lang_home_alias);
|
||||
}
|
||||
|
||||
if ($curent_document == 1 || $curent_document == PAGE_NOT_FOUND_ID)
|
||||
@ -195,7 +204,9 @@
|
||||
}
|
||||
|
||||
// Последний элемент
|
||||
if (get_settings('bread_link_box_last') == 1 || (isset($AVE_Core->curentdoc->bread_link_box_last) && $AVE_Core->curentdoc->bread_link_box_last == 1))
|
||||
if ((isset($AVE_Core->curentdoc->bread_link_box_last) && $AVE_Core->curentdoc->bread_link_box_last == 0))
|
||||
$bread_crumb .= '';
|
||||
else if (get_settings('bread_link_box_last') == 1 || (isset($AVE_Core->curentdoc->bread_link_box_last) && $AVE_Core->curentdoc->bread_link_box_last == 1))
|
||||
$bread_crumb .= sprintf($bread_self_box, $current->document_breadcrum_title);
|
||||
|
||||
if (! $noprint)
|
||||
@ -211,4 +222,4 @@
|
||||
|
||||
return $crumbs[$curent_document];
|
||||
}
|
||||
?>
|
||||
?>
|
@ -15,8 +15,8 @@
|
||||
/**
|
||||
* Вставляем файл с пользовательскими функциями
|
||||
*/
|
||||
if (file_exists(BASE_DIR."/functions/func.custom.php"))
|
||||
include (BASE_DIR."/functions/func.custom.php");
|
||||
if (file_exists(BASE_DIR . '/functions/func.custom.php'))
|
||||
include (BASE_DIR . '/functions/func.custom.php');
|
||||
|
||||
|
||||
/**
|
||||
@ -255,9 +255,7 @@
|
||||
static $settings = null;
|
||||
|
||||
if ($settings === null)
|
||||
{
|
||||
$settings = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_settings", SYSTEM_CACHE_LIFETIME)->FetchAssocArray();
|
||||
}
|
||||
$settings = $AVE_DB->Query("SELECT * FROM " . PREFIX . "_settings", SYSTEM_CACHE_LIFETIME, 'settings')->FetchAssocArray();
|
||||
|
||||
if ($field == '')
|
||||
return $settings;
|
||||
@ -928,6 +926,37 @@
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Функция поиска ключевых слов
|
||||
*
|
||||
* @param string $string - запрос
|
||||
* @return string
|
||||
*/
|
||||
function searchTags()
|
||||
{
|
||||
global $AVE_DB;
|
||||
|
||||
$sql = $AVE_DB->Query("
|
||||
SELECT DISTINCT
|
||||
tag
|
||||
FROM
|
||||
" . PREFIX . "_document_tags
|
||||
");
|
||||
|
||||
$tags = array();
|
||||
|
||||
$ii = 0;
|
||||
|
||||
while ($row = $sql->GetCell())
|
||||
{
|
||||
$tags[]['value'] = $row;
|
||||
}
|
||||
|
||||
echo json_encode($tags);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Формирование строки из случайных символов
|
||||
*
|
||||
@ -1084,4 +1113,4 @@
|
||||
|
||||
|
||||
|
||||
?>
|
||||
?>
|
@ -76,7 +76,7 @@
|
||||
return '<input type="text" style="width: 400px" name="feld[' . $field_id . ']" value="' . $field_value . '">';
|
||||
case 'doc':
|
||||
case 'req':
|
||||
if (!$tpl_empty)
|
||||
if (! $tpl_empty)
|
||||
{
|
||||
$field_param = explode('|', $field_value);
|
||||
$field_value = preg_replace_callback(
|
||||
@ -90,7 +90,8 @@
|
||||
}
|
||||
return $field_value;
|
||||
|
||||
default: return $field_value;
|
||||
default:
|
||||
return $field_value;
|
||||
}
|
||||
}
|
||||
|
||||
@ -171,14 +172,29 @@
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function get_field_num($rubric_id, $alias){
|
||||
function get_field_num($rubric_id, $alias)
|
||||
{
|
||||
global $AVE_DB;
|
||||
static $alias_field_id=array();
|
||||
if(isset($alias_field_id[$rubric_id][$alias])) return $alias_field_id[$rubric_id][$alias];
|
||||
$alias_field_id[$rubric_id][$alias] = $AVE_DB->Query("SELECT Id FROM " . PREFIX . "_rubric_fields WHERE (rubric_field_alias='".addslashes($alias)."' OR Id='".intval($alias)."') AND rubric_id=".intval($rubric_id))->GetCell();
|
||||
|
||||
static $alias_field_id = array();
|
||||
|
||||
if (isset($alias_field_id[$rubric_id][$alias]))
|
||||
return $alias_field_id[$rubric_id][$alias];
|
||||
|
||||
$sql = "
|
||||
SELECT Id
|
||||
FROM " . PREFIX . "_rubric_fields
|
||||
WHERE (rubric_field_alias = '".addslashes($alias)."'
|
||||
OR Id = '".intval($alias)."')
|
||||
AND rubric_id = ".intval($rubric_id)
|
||||
;
|
||||
|
||||
$alias_field_id[$rubric_id][$alias] = $AVE_DB->Query($sql)->GetCell();
|
||||
|
||||
return $alias_field_id[$rubric_id][$alias];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Возвращаем
|
||||
*
|
||||
@ -196,11 +212,18 @@
|
||||
if(isset($alias_field_id[$id]))
|
||||
return $alias_field_id[$id];
|
||||
|
||||
$alias_field_id[$id] = $AVE_DB->Query("SELECT rubric_field_default FROM " . PREFIX . "_rubric_fields WHERE Id = ".intval($id))->GetCell();
|
||||
$sql = "
|
||||
SELECT rubric_field_default
|
||||
FROM " . PREFIX . "_rubric_fields
|
||||
WHERE Id = ".intval($id)
|
||||
;
|
||||
|
||||
$alias_field_id[$id] = $AVE_DB->Query($sql)->GetCell();
|
||||
|
||||
return $alias_field_id[$id];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Возвращаем шаблон tpl или пусто
|
||||
*
|
||||
@ -210,25 +233,41 @@
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function get_field_tpl($dir='', $field_id=0, $type='admin'){
|
||||
|
||||
function get_field_tpl($dir='', $field_id=0, $type='admin')
|
||||
{
|
||||
$alias_field_id = get_field_alias($field_id);
|
||||
|
||||
switch ($type) {
|
||||
switch ($type)
|
||||
{
|
||||
case '':
|
||||
case 'admin':
|
||||
default:
|
||||
$tpl = (file_exists($dir.'field-'.$field_id.'.tpl')) ? $dir.'field-'.$field_id.'.tpl' : ((file_exists($dir.'field-'.$alias_field_id.'.tpl')) ? $dir.'field-'.$alias_field_id.'.tpl' : $dir.'field.tpl');
|
||||
$tpl = (file_exists($dir.'field-'.$field_id.'.tpl'))
|
||||
? $dir.'field-'.$field_id.'.tpl'
|
||||
: ((file_exists($dir.'field-'.$alias_field_id.'.tpl'))
|
||||
? $dir.'field-'.$alias_field_id.'.tpl'
|
||||
: $dir.'field.tpl');
|
||||
|
||||
$tpl = (@filesize($tpl)) ? $tpl : '';
|
||||
break;
|
||||
|
||||
case 'doc':
|
||||
$tpl = (file_exists($dir.'field-doc-'.$field_id.'.tpl')) ? $dir.'field-doc-'.$field_id.'.tpl' : ((file_exists($dir.'field-doc-'.$alias_field_id.'.tpl')) ? $dir.'field-doc-'.$alias_field_id.'.tpl' : $dir.'field-doc.tpl');
|
||||
$tpl = (file_exists($dir.'field-doc-'.$field_id.'.tpl'))
|
||||
? $dir.'field-doc-'.$field_id.'.tpl'
|
||||
: ((file_exists($dir.'field-doc-'.$alias_field_id.'.tpl'))
|
||||
? $dir.'field-doc-'.$alias_field_id.'.tpl'
|
||||
: $dir.'field-doc.tpl');
|
||||
|
||||
$tpl = (@filesize($tpl)) ? $tpl : '';
|
||||
break;
|
||||
|
||||
case 'req':
|
||||
$tpl = (file_exists($dir.'field-req-'.$field_id.'.tpl')) ? $dir.'field-req-'.$field_id.'.tpl' : ((file_exists($dir.'field-req-'.$alias_field_id.'.tpl')) ? $dir.'field-req-'.$alias_field_id.'.tpl' : $dir.'field-req.tpl');
|
||||
$tpl = (file_exists($dir.'field-req-'.$field_id.'.tpl'))
|
||||
? $dir.'field-req-'.$field_id.'.tpl'
|
||||
: ((file_exists($dir.'field-req-'.$alias_field_id.'.tpl'))
|
||||
? $dir.'field-req-'.$alias_field_id.'.tpl'
|
||||
: $dir.'field-req.tpl');
|
||||
|
||||
$tpl = (@filesize($tpl)) ? $tpl : '';
|
||||
break;
|
||||
}
|
||||
@ -245,7 +284,7 @@
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function document_get_field($field_id, $document_id=null)
|
||||
function document_get_field($field_id, $document_id = null)
|
||||
{
|
||||
global $AVE_Core;
|
||||
|
||||
@ -370,7 +409,7 @@
|
||||
if (! is_numeric($document_id))
|
||||
return false;
|
||||
|
||||
if (!isset ($document_fields[$document_id]))
|
||||
if (! isset($document_fields[$document_id]))
|
||||
{
|
||||
$document_fields[$document_id] = false;
|
||||
|
||||
@ -446,6 +485,7 @@
|
||||
$document_fields[$row['document_id']][$row['rubric_field_alias']] = $row['rubric_field_id'];
|
||||
}
|
||||
}
|
||||
|
||||
return $document_fields[$document_id];
|
||||
}
|
||||
|
||||
@ -650,4 +690,37 @@
|
||||
return $return;
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
/**
|
||||
* Возвращает наименование поля документа по номеру
|
||||
*
|
||||
* @param int $field_id ([tag:fld:X]) - номер поля
|
||||
* @param int $doc_id
|
||||
* @param int $parametr ([tag:parametr:X]) - часть поля
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function get_field_name($field_id, $doc_id = null)
|
||||
{
|
||||
global $req_item_id;
|
||||
|
||||
//-- Если не передан $doc_id, то проверяем реквест
|
||||
if (! $doc_id && $req_item_id)
|
||||
$doc_id = $req_item_id;
|
||||
//-- Или берём для текущего дока
|
||||
elseif (! $doc_id && $_REQUEST['id'] > 0)
|
||||
$doc_id = $_REQUEST['id'];
|
||||
//-- Возвращаем FALSE, если не число
|
||||
elseif (! is_numeric($doc_id))
|
||||
return false;
|
||||
|
||||
$document_fields = get_document_fields($doc_id);
|
||||
|
||||
if (empty($document_fields[$field_id]))
|
||||
return false;
|
||||
|
||||
$field_name = $document_fields[$field_id]['rubric_field_title'];
|
||||
|
||||
return $field_name;
|
||||
}
|
||||
?>
|
@ -341,29 +341,29 @@ if (!function_exists('cleanSanitize')){
|
||||
* @param bool $middle Вырезает середину, оставляет начало + разделитель + конец
|
||||
* @return mixed|string
|
||||
*/
|
||||
if (!function_exists('trancate'))
|
||||
if (! function_exists('trancate'))
|
||||
{
|
||||
function truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false)
|
||||
{
|
||||
if ($length == 0)
|
||||
return '';
|
||||
|
||||
if (strlen($string) > $length)
|
||||
if (mb_strlen($string) > $length)
|
||||
{
|
||||
$length -= min($length, strlen($etc));
|
||||
$length -= min($length, mb_strlen($etc));
|
||||
|
||||
if (! $break_words && ! $middle)
|
||||
{
|
||||
$string = preg_replace('/\s+?(\S+)?$/', '', substr($string, 0, $length + 1));
|
||||
$string = preg_replace('/\s+?(\S+)?$/', '', mb_substr($string, 0, $length + 1));
|
||||
}
|
||||
|
||||
if (!$middle)
|
||||
if (! $middle)
|
||||
{
|
||||
return substr($string, 0, $length) . $etc;
|
||||
return mb_substr($string, 0, $length) . $etc;
|
||||
}
|
||||
else
|
||||
{
|
||||
return substr($string, 0, $length/2) . $etc . substr($string, -$length/2);
|
||||
return mb_substr($string, 0, $length / 2) . $etc . mb_substr($string, - $length / 2);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -409,7 +409,9 @@ if (!function_exists('truncate_text'))
|
||||
if (strlen($out) >= $n)
|
||||
{
|
||||
$out = trim($out);
|
||||
return (strlen($out) == strlen($str)) ? $out : $out . $end_char;
|
||||
return (strlen($out) == strlen($str))
|
||||
? $out
|
||||
: $out . $end_char;
|
||||
}
|
||||
}
|
||||
return $str;
|
||||
|
@ -21,25 +21,45 @@
|
||||
{
|
||||
global $AVE_DB, $AVE_Core;
|
||||
|
||||
$gen_time = microtime(true);
|
||||
|
||||
// извлекаем id из аргумента
|
||||
// Извлекаем id из аргумента
|
||||
$navi_id = $navi_tag[1];
|
||||
|
||||
Debug::startTime('NAVIAGTION_' . $navi_id);
|
||||
|
||||
// Достаем для проверки тип меню
|
||||
$sql = "
|
||||
SELECT
|
||||
expand_ext
|
||||
FROM
|
||||
".PREFIX."_navigation
|
||||
WHERE
|
||||
navigation_id = '" . $navi_id . "'
|
||||
OR
|
||||
alias = '" . $navi_id . "'
|
||||
";
|
||||
|
||||
$expnad_ext = $AVE_DB->Query($sql, SYSTEM_CACHE_LIFETIME, 'nav_' . $navi_id)->GetCell();
|
||||
|
||||
// извлекаем level из аргумента
|
||||
$navi_print_level = $navi_tag[2];
|
||||
$navi_print_level = (! empty($navi_tag[2]))
|
||||
? $navi_tag[2]
|
||||
: '';
|
||||
|
||||
$navi = '';
|
||||
|
||||
$cache_file = BASE_DIR . '/cache/sql/nav/template-' . $navi_id . '.cache';
|
||||
|
||||
if(! file_exists(dirname($cache_file)))
|
||||
// Если включен DEV MODE, то отключаем кеширование запросов
|
||||
if (defined('DEV_MODE') AND DEV_MODE || $expnad_ext != 1)
|
||||
$cache_file = null;
|
||||
|
||||
if (! file_exists(dirname($cache_file)))
|
||||
mkdir(dirname($cache_file), 0766, true);
|
||||
|
||||
// получаем меню навигации по id,
|
||||
// и если такой не существует, выводим сообщение
|
||||
|
||||
if(file_exists($cache_file))
|
||||
if (file_exists($cache_file))
|
||||
{
|
||||
$navi_menu = unserialize(file_get_contents($cache_file));
|
||||
}
|
||||
@ -47,7 +67,8 @@
|
||||
{
|
||||
$navi_menu = get_navigations($navi_id);
|
||||
|
||||
file_put_contents($cache_file, serialize($navi_menu));
|
||||
if ($cache_file)
|
||||
file_put_contents($cache_file, serialize($navi_menu));
|
||||
}
|
||||
|
||||
if (! $navi_menu)
|
||||
@ -75,10 +96,14 @@
|
||||
// после ; id текущего пункта
|
||||
|
||||
// id текущего документа. Если не задан, то главная страница
|
||||
$doc_active_id = (int)(($_REQUEST['id']) ? $_REQUEST['id'] : 1);
|
||||
$doc_active_id = (int)(($_REQUEST['id'])
|
||||
? $_REQUEST['id']
|
||||
: 1);
|
||||
|
||||
// алиас текущего документа
|
||||
$alias = ltrim(isset($AVE_Core->curentdoc->document_alias) ? $AVE_Core->curentdoc->document_alias : '');
|
||||
$alias = ltrim(isset($AVE_Core->curentdoc->document_alias)
|
||||
? $AVE_Core->curentdoc->document_alias
|
||||
: '');
|
||||
|
||||
// запрос для выборки по текущему алиасу
|
||||
$sql_doc_active_alias = '';
|
||||
@ -146,10 +171,10 @@
|
||||
$sql_navi_level = '';
|
||||
$sql_navi_active = '';
|
||||
|
||||
if($navi_print_level)
|
||||
if ($navi_print_level)
|
||||
{
|
||||
$sql_navi_level = ' AND level IN (' . $navi_print_level . ') ';
|
||||
$sql_navi_active = ' AND parent_id IN(' . $navi_active_way_str . ') ';
|
||||
$sql_navi_active = ' AND parent_id IN (' . $navi_active_way_str . ') ';
|
||||
}
|
||||
|
||||
// обычное использование навигации
|
||||
@ -157,14 +182,14 @@
|
||||
{
|
||||
switch ($navi_menu->expand_ext)
|
||||
{
|
||||
// все уровни
|
||||
case 1:
|
||||
// текущий и родительский уровни
|
||||
case 0:
|
||||
$sql_navi_active = ' AND parent_id IN (' . $navi_active_way_str . ') ';
|
||||
$navi_parent = 0;
|
||||
break;
|
||||
|
||||
// текущий и родительский уровни
|
||||
case 0:
|
||||
$sql_navi_active = ' AND parent_id IN(' . $navi_active_way_str . ') ';
|
||||
// все уровни
|
||||
case 1:
|
||||
$navi_parent = 0;
|
||||
break;
|
||||
|
||||
@ -176,50 +201,75 @@
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$cache_items = BASE_DIR . '/cache/sql/nav/items-' . $navi_id . '.cache';
|
||||
|
||||
$navi_items = array();
|
||||
|
||||
//-- Проверяем есть файл кеша, если есть пропускам запрос к БД
|
||||
if(! file_exists($cache_items))
|
||||
// Если включен DEV MODE, то отключаем кеширование запросов
|
||||
if (defined('DEV_MODE') AND DEV_MODE || $expnad_ext != 1)
|
||||
$cache_items = null;
|
||||
|
||||
if (empty($navi_print_level))
|
||||
{
|
||||
//-- Запрос пунктов меню
|
||||
$sql = "
|
||||
SELECT *
|
||||
FROM
|
||||
" . PREFIX . "_navigation_items
|
||||
WHERE
|
||||
status = '1'
|
||||
AND
|
||||
navigation_id = '" . $navi_menu->navigation_id . "'" .
|
||||
$sql_navi_level .
|
||||
$sql_navi_active . "
|
||||
ORDER BY
|
||||
position ASC
|
||||
";
|
||||
|
||||
$sql_navi_items = $AVE_DB->Query($sql);
|
||||
|
||||
while ($row_navi_items = $sql_navi_items->FetchAssocArray())
|
||||
//-- Проверяем есть файл кеша, если есть пропускам запрос к БД
|
||||
if (! file_exists($cache_items))
|
||||
{
|
||||
$navi_items[$row_navi_items['parent_id']][] = $row_navi_items;
|
||||
}
|
||||
//-- Запрос пунктов меню
|
||||
$sql = "
|
||||
SELECT *
|
||||
FROM
|
||||
" . PREFIX . "_navigation_items
|
||||
WHERE
|
||||
status = '1'
|
||||
AND
|
||||
navigation_id = '" . $navi_menu->navigation_id . "'" .
|
||||
$sql_navi_level .
|
||||
$sql_navi_active . "
|
||||
ORDER BY
|
||||
position ASC
|
||||
";
|
||||
|
||||
file_put_contents($cache_items, serialize($navi_items));
|
||||
$sql_navi_items = $AVE_DB->Query($sql);
|
||||
|
||||
while ($row_navi_items = $sql_navi_items->FetchAssocArray())
|
||||
$navi_items[$row_navi_items['parent_id']][] = $row_navi_items;
|
||||
|
||||
if ($cache_items)
|
||||
file_put_contents($cache_items, serialize($navi_items));
|
||||
}
|
||||
else
|
||||
{
|
||||
$navi_items = unserialize(file_get_contents($cache_items));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$navi_items = unserialize(file_get_contents($cache_items));
|
||||
}
|
||||
//-- Запрос пунктов меню
|
||||
$sql = "
|
||||
SELECT *
|
||||
FROM
|
||||
" . PREFIX . "_navigation_items
|
||||
WHERE
|
||||
status = '1'
|
||||
AND
|
||||
navigation_id = '" . $navi_menu->navigation_id . "'" .
|
||||
$sql_navi_level . "
|
||||
ORDER BY
|
||||
position ASC
|
||||
";
|
||||
|
||||
if($navi_print_level)
|
||||
{
|
||||
$keys = array_keys($navi_items);
|
||||
$navi_parent = ! empty($keys)
|
||||
? $keys[0]
|
||||
: 0;
|
||||
}
|
||||
$sql_navi_items = $AVE_DB->Query($sql);
|
||||
|
||||
while ($row_navi_items = $sql_navi_items->FetchAssocArray())
|
||||
{
|
||||
$navi_items[$row_navi_items['parent_id']][] = $row_navi_items;
|
||||
}
|
||||
|
||||
$keys = array_keys($navi_items);
|
||||
$navi_parent = ! empty($keys)
|
||||
? $keys[0]
|
||||
: 0;
|
||||
}
|
||||
|
||||
// Парсим теги в шаблонах пунктов
|
||||
$navi_item_tpl = array(
|
||||
@ -248,8 +298,9 @@
|
||||
$navi = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $navi);
|
||||
$navi = str_replace(array("\n","\r"),'',$navi);
|
||||
|
||||
$gen_time = microtime(true) - $gen_time;
|
||||
$GLOBALS['block_generate'][] = array('NAVIGATION_' . $navi_id => $gen_time);
|
||||
$gen_time = Debug::endTime('NAVIAGTION_' . $navi_id);
|
||||
|
||||
$GLOBALS['block_generate']['NAVIAGTIONS'][$navi_id] = $gen_time;
|
||||
|
||||
return $navi;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -33,6 +33,10 @@ function parse_sysblock($id)
|
||||
|
||||
$cache_file = BASE_DIR . '/cache/sql/sysblock/' . $id . '.cache';
|
||||
|
||||
// Если включен DEV MODE, то отключаем кеширование запросов
|
||||
if (defined('DEV_MODE') AND DEV_MODE)
|
||||
$cache_file = null;
|
||||
|
||||
if (! file_exists(dirname($cache_file)))
|
||||
mkdir(dirname($cache_file), 0766, true);
|
||||
|
||||
@ -52,7 +56,8 @@ function parse_sysblock($id)
|
||||
LIMIT 1
|
||||
")->GetCell();
|
||||
|
||||
file_put_contents($cache_file,$return);
|
||||
if ($cache_file)
|
||||
file_put_contents($cache_file, $return);
|
||||
}
|
||||
|
||||
//-- парсим теги
|
||||
@ -88,7 +93,7 @@ function parse_sysblock($id)
|
||||
|
||||
$gen_time = Debug::endTime('SYSBLOCK_' . $id);
|
||||
|
||||
$GLOBALS['block_generate'][] = array('SYSBLOCK_'. $id => $gen_time);
|
||||
$GLOBALS['block_generate']['SYSBLOCK'][$id] = $gen_time;
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
@ -11,9 +11,9 @@
|
||||
* @license GPL v.2
|
||||
*/
|
||||
|
||||
@define('APP_NAME', 'AVE.CMS');
|
||||
@define('APP_VERSION', '3.22');
|
||||
@define('APP_INFO', '<a target="_blank" href="http://www.ave-cms.ru/">Ave-Cms.Ru</a> '.'© 2007-' . date('Y'));
|
||||
@define('APP_NAME', 'AVE.cms');
|
||||
@define('APP_VERSION', '3.24');
|
||||
@define('APP_INFO', '<a target="_blank" href="https://www.ave-cms.ru/">Ave-Cms.Ru</a> '.'© 2007-' . date('Y'));
|
||||
|
||||
$GLOBALS['CMS_CONFIG']['USER_IP'] = array('DESCR' =>'Использовать IP для автологина на сайте','default'=>false,'TYPE'=>'bool','VARIANT'=>'');
|
||||
$GLOBALS['CMS_CONFIG']['REWRITE_MODE'] = array('DESCR' =>'Использовать ЧПУ Адреса вида index.php будут преобразованы в /home/','default'=>true,'TYPE'=>'bool','VARIANT'=>'');
|
||||
@ -24,10 +24,8 @@
|
||||
$themes = array();
|
||||
|
||||
foreach (glob(dirname(dirname(__FILE__)) . '/templates/*') as $filename)
|
||||
{
|
||||
if (is_dir($filename))
|
||||
$themes[]=basename($filename);
|
||||
}
|
||||
$themes[] = basename($filename);
|
||||
|
||||
$GLOBALS['CMS_CONFIG']['DEFAULT_THEME_FOLDER'] = array('DESCR' =>'Тема публичной части','default'=>$themes[0],'TYPE'=>'dropdown','VARIANT'=>$themes);
|
||||
|
||||
@ -35,7 +33,7 @@
|
||||
|
||||
$GLOBALS['CMS_CONFIG']['CODEMIRROR_THEME'] = array(
|
||||
'DESCR' => 'Цветовая схема Codemirror',
|
||||
'default' => 'default',
|
||||
'default' => 'dracula',
|
||||
'TYPE' => 'dropdown',
|
||||
'VARIANT' => array(
|
||||
'default',
|
||||
@ -90,6 +88,7 @@
|
||||
);
|
||||
|
||||
$GLOBALS['CMS_CONFIG']['ADMIN_MENU'] = array('DESCR' => 'Использовать плавующее боковое меню','default'=>true,'TYPE'=>'bool','VARIANT'=>'');
|
||||
$GLOBALS['CMS_CONFIG']['ADMIN_MENU_QUICK_ADD'] = array('DESCR' => 'Показывать меню в шапке с действиями','default'=>false,'TYPE'=>'bool','VARIANT'=>'');
|
||||
$GLOBALS['CMS_CONFIG']['ADMIN_CAPTCHA'] = array('DESCR' => 'Использовать капчу при входе в админку','default'=>false,'TYPE'=>'bool','VARIANT'=>'');
|
||||
$GLOBALS['CMS_CONFIG']['ADMIN_EDITMENU'] = array('DESCR' => 'Использовать всплывающие "Действия" в системе','default'=>true,'TYPE'=>'bool','VARIANT'=>'');
|
||||
|
||||
@ -145,12 +144,16 @@
|
||||
$GLOBALS['CMS_CONFIG']['OUTPUT_EXPIRE_OFFSET'] = array('DESCR' => 'Время жизни кеширования страницы (60*60 - 1 час)','default'=>60*60, 'TYPE'=>'integer', 'VARIANT'=>'');
|
||||
|
||||
$GLOBALS['CMS_CONFIG']['CHECK_VERSION'] = array('DESCR' => 'Проверка наличия новых версий','default'=>true,'TYPE'=>'bool','VARIANT'=>'');
|
||||
// 3.23
|
||||
$GLOBALS['CMS_CONFIG']['REQUEST_ETC'] = array('DESCR' => 'Окончание в полях запроса', 'default'=>'...', 'TYPE'=>'string', 'VARIANT'=>'');
|
||||
$GLOBALS['CMS_CONFIG']['REQUEST_BREAK_WORDS'] = array('DESCR' => 'Разбивать слова при выводе полей в запросе', 'default'=>false, 'TYPE'=>'bool', 'VARIANT'=>'');
|
||||
$GLOBALS['CMS_CONFIG']['REQUEST_STRIP_TAGS'] = array('DESCR' => 'При - у поля, оставляем теги в результате', 'default'=>'', 'TYPE'=>'string', 'VARIANT'=>'');
|
||||
|
||||
$GLOBALS['CMS_CONFIG']['DEV_MODE'] = array('DESCR' => 'Режим разработчика (Отключено кеширование SQL)', 'default'=>false, 'TYPE'=>'bool', 'VARIANT'=>'');
|
||||
|
||||
include_once(dirname(dirname(__FILE__)) . '/inc/config.inc.php');
|
||||
|
||||
foreach($GLOBALS['CMS_CONFIG'] as $k => $v)
|
||||
{
|
||||
if(! defined($k))
|
||||
define($k, $v['default']);
|
||||
}
|
||||
?>
|
||||
?>
|
20
inc/init.php
20
inc/init.php
@ -359,7 +359,7 @@
|
||||
lang_status = '1'
|
||||
ORDER BY
|
||||
lang_default ASC
|
||||
", SYSTEM_CACHE_LIFETIME);
|
||||
", SYSTEM_CACHE_LIFETIME, 'langs');
|
||||
|
||||
while ($row = $sql->FetchRow())
|
||||
{
|
||||
@ -394,6 +394,14 @@
|
||||
// Язык системы
|
||||
set_locale();
|
||||
|
||||
// Debug
|
||||
require (BASE_DIR . '/class/class.debug.php');
|
||||
$Debug = new Debug;
|
||||
|
||||
// Hooks
|
||||
require (BASE_DIR . '/class/class.hooks.php');
|
||||
$Hooks = new Hooks;
|
||||
|
||||
// Класс Шаблонов SMARTY
|
||||
require (BASE_DIR . '/class/class.template.php');
|
||||
|
||||
@ -403,12 +411,4 @@
|
||||
// Класс Модулей
|
||||
require (BASE_DIR . '/class/class.modules.php');
|
||||
$AVE_Module = new AVE_Module;
|
||||
|
||||
// Debug
|
||||
require (BASE_DIR . '/class/class.debug.php');
|
||||
$Debug = new Debug;
|
||||
|
||||
// Hooks
|
||||
require (BASE_DIR . '/class/class.hooks.php');
|
||||
$Hooks = new Hooks;
|
||||
?>
|
||||
?>
|
@ -262,7 +262,7 @@ INSERT INTO `%%PRFX%%_rubric_permissions` VALUES
|
||||
(5, 1, 5, 'docread');#inst#
|
||||
|
||||
INSERT INTO `%%PRFX%%_rubrics` VALUES
|
||||
(1, 'Основные страницы', '', '0', '<h1>[tag:fld:header]</h1>[tag:fld:text]', 1, 1, 0, 1, '', '', '', '', '', '', '0', '', '0', '');#inst#
|
||||
(1, 'Основные страницы', '', '0', '<h1>[tag:fld:header]</h1>[tag:fld:text]', 1, 1, 0, 1, '', '', '', '', '', '', '', '0', '', '0', '');#inst#
|
||||
|
||||
INSERT INTO `%%PRFX%%_settings` VALUES
|
||||
(
|
||||
|
@ -1,13 +1,14 @@
|
||||
CREATE TABLE `%%PRFX%%_blocks` (
|
||||
`id` mediumint(5) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`block_name` varchar(255) NOT NULL,
|
||||
`block_description` tinytext NOT NULL,
|
||||
`block_alias` varchar(20) NOT NULL,
|
||||
`block_text` longtext NOT NULL,
|
||||
`block_active` enum('0','1') NOT NULL DEFAULT '1',
|
||||
`block_author_id` int(10) unsigned NOT NULL DEFAULT '1',
|
||||
`block_created` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
`id` mediumint(5) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`block_name` varchar(255) NOT NULL,
|
||||
`block_description` tinytext NOT NULL,
|
||||
`block_alias` varchar(20) NOT NULL,
|
||||
`block_text` longtext NOT NULL,
|
||||
`block_active` enum('0','1') NOT NULL DEFAULT '1',
|
||||
`block_author_id` int(10) unsigned NOT NULL DEFAULT '1',
|
||||
`block_created` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `block_alias` (`block_alias`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_countries` (
|
||||
@ -20,22 +21,22 @@ CREATE TABLE `%%PRFX%%_countries` (
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_document_fields` (
|
||||
`Id` int(10) unsigned NOT NULL auto_increment,
|
||||
`rubric_field_id` mediumint(5) unsigned NOT NULL default '0',
|
||||
`document_id` int(10) unsigned NOT NULL default '0',
|
||||
`field_number_value` decimal(18,4) NOT NULL default '0.0000',
|
||||
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`rubric_field_id` mediumint(5) unsigned NOT NULL DEFAULT '0',
|
||||
`document_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`field_number_value` decimal(18,4) NOT NULL DEFAULT '0.0000',
|
||||
`field_value` varchar(500) NOT NULL,
|
||||
`document_in_search` enum('1','0') NOT NULL default '1',
|
||||
PRIMARY KEY (`Id`),
|
||||
`document_in_search` enum('1','0') NOT NULL DEFAULT '1',
|
||||
PRIMARY KEY (`Id`),
|
||||
KEY `document_id` (`document_id`),
|
||||
KEY `rubric_field_id` (`rubric_field_id`,`document_in_search`),
|
||||
KEY `field_value` (`field_value`(333))
|
||||
KEY `field_value` (`field_value`),
|
||||
KEY `rubric_field_id` (`rubric_field_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_document_fields_text` (
|
||||
`Id` int(10) unsigned NOT NULL auto_increment,
|
||||
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`rubric_field_id` mediumint(5) unsigned NOT NULL DEFAULT '0',
|
||||
`document_id` int(10) unsigned NOT NULL default '0',
|
||||
`document_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`field_value` longtext NOT NULL,
|
||||
PRIMARY KEY (`Id`),
|
||||
KEY `document_id` (`document_id`),
|
||||
@ -61,7 +62,8 @@ CREATE TABLE `%%PRFX%%_document_remarks` (
|
||||
`remark_published` int(10) unsigned NOT NULL default '0',
|
||||
`remark_status` enum('1','0') NOT NULL default '1',
|
||||
`remark_author_email` varchar(255) NOT NULL,
|
||||
PRIMARY KEY (`Id`)
|
||||
PRIMARY KEY (`Id`),
|
||||
KEY `document_id` (`document_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_document_rev` (
|
||||
@ -70,7 +72,8 @@ CREATE TABLE `%%PRFX%%_document_rev` (
|
||||
`doc_revision` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`doc_data` longtext NOT NULL,
|
||||
`user_id` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`Id`)
|
||||
PRIMARY KEY (`Id`),
|
||||
KEY `doc_id` (`doc_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_documents` (
|
||||
@ -101,7 +104,7 @@ CREATE TABLE `%%PRFX%%_documents` (
|
||||
`document_tags` text NOT NULL,
|
||||
`document_lang` varchar(5) NOT NULL,
|
||||
`document_lang_group` int(10) NOT NULL DEFAULT '0',
|
||||
`document_property` text NOT NULL,
|
||||
`document_property` text,
|
||||
PRIMARY KEY (`Id`),
|
||||
UNIQUE KEY `document_alias` (`document_alias`),
|
||||
KEY `rubric_id` (`rubric_id`),
|
||||
@ -117,7 +120,8 @@ CREATE TABLE `%%PRFX%%_document_alias_history` (
|
||||
`document_alias_author` mediumint(5) unsigned NOT NULL DEFAULT '1',
|
||||
`document_alias_changed` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`Id`),
|
||||
UNIQUE KEY `document_alias` (`document_alias`)
|
||||
UNIQUE KEY `document_alias` (`document_alias`),
|
||||
KEY `document_id` (`document_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_document_tags` (
|
||||
@ -179,7 +183,8 @@ CREATE TABLE `%%PRFX%%_navigation` (
|
||||
`end` text NOT NULL,
|
||||
`user_group` text NOT NULL,
|
||||
`expand_ext` enum('0','1','2') DEFAULT '1',
|
||||
PRIMARY KEY (`navigation_id`)
|
||||
PRIMARY KEY (`navigation_id`),
|
||||
KEY `alias` (`alias`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_navigation_items` (
|
||||
@ -249,6 +254,7 @@ CREATE TABLE `%%PRFX%%_request` (
|
||||
`request_ajax` enum('0','1') NOT NULL DEFAULT '0',
|
||||
`request_show_sql` enum('0','1') NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`Id`),
|
||||
KEY `rubric_id` (`rubric_id`),
|
||||
KEY `request_alias` (`request_alias`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
||||
|
||||
@ -261,7 +267,8 @@ CREATE TABLE `%%PRFX%%_request_conditions` (
|
||||
`condition_join` enum('OR','AND') NOT NULL DEFAULT 'AND',
|
||||
`condition_position` smallint(3) unsigned NOT NULL DEFAULT '1',
|
||||
`condition_status` enum('0','1') NOT NULL DEFAULT '1',
|
||||
PRIMARY KEY (`Id`)
|
||||
PRIMARY KEY (`Id`),
|
||||
KEY `request_id` (`request_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_rubric_fields` (
|
||||
@ -271,16 +278,17 @@ CREATE TABLE `%%PRFX%%_rubric_fields` (
|
||||
`rubric_field_alias` varchar(20) NOT NULL,
|
||||
`rubric_field_title` varchar(255) NOT NULL,
|
||||
`rubric_field_type` varchar(75) NOT NULL,
|
||||
`rubric_field_numeric` enum('0','1') default '0' NOT NULL,
|
||||
`rubric_field_numeric` enum('0','1') NOT NULL DEFAULT '0',
|
||||
`rubric_field_position` smallint(3) unsigned NOT NULL DEFAULT '1',
|
||||
`rubric_field_default` text NOT NULL,
|
||||
`rubric_field_search` enum('0','1') default '1' NOT NULL,
|
||||
`rubric_field_search` enum('0','1') NOT NULL DEFAULT '1',
|
||||
`rubric_field_template` text NOT NULL,
|
||||
`rubric_field_template_request` text NOT NULL,
|
||||
`rubric_field_description` text NOT NULL,
|
||||
PRIMARY KEY (`Id`),
|
||||
KEY `rubric_id` (`rubric_id`),
|
||||
KEY `rubric_field_type` (`rubric_field_type`)
|
||||
KEY `rubric_field_type` (`rubric_field_type`),
|
||||
KEY `rubric_field_alias` (`rubric_field_alias`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_rubric_fields_group` (
|
||||
@ -332,6 +340,7 @@ CREATE TABLE `%%PRFX%%_rubrics` (
|
||||
`rubric_teaser_template` text NOT NULL,
|
||||
`rubric_admin_teaser_template` text NOT NULL,
|
||||
`rubric_header_template` text NOT NULL,
|
||||
`rubric_footer_template` text NOT NULL,
|
||||
`rubric_linked_rubric` varchar(255) NOT NULL DEFAULT '0',
|
||||
`rubric_description` text NOT NULL,
|
||||
`rubric_meta_gen` enum('0','1') default '0' NOT NULL,
|
||||
@ -420,6 +429,15 @@ CREATE TABLE `%%PRFX%%_settings_lang` (
|
||||
UNIQUE KEY `lang_key` (`lang_key`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_settings_menu` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(255) DEFAULT NULL,
|
||||
`link` varchar(255) DEFAULT NULL,
|
||||
`position` int(3) DEFAULT NULL,
|
||||
`status` enum('0','1') DEFAULT '1',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_sysblocks` (
|
||||
`id` mediumint(5) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`sysblock_name` varchar(255) NOT NULL,
|
||||
@ -499,7 +517,8 @@ CREATE TABLE `%%PRFX%%_users_session` (
|
||||
`ip` int(32) unsigned NOT NULL,
|
||||
`agent` varchar(255) NOT NULL,
|
||||
`last_activ` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `user_id` (`user_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
||||
|
||||
CREATE TABLE `%%PRFX%%_view_count` (
|
||||
@ -508,4 +527,4 @@ CREATE TABLE `%%PRFX%%_view_count` (
|
||||
`day_id` int(11) NOT NULL,
|
||||
`count` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;#inst#
|
Loading…
x
Reference in New Issue
Block a user