mirror of
https://github.com/avecms/AVE.cms.git
synced 2025-01-21 23:10:07 +00:00
New functional (beta)
This commit is contained in:
parent
fbde7bd0e8
commit
304c1c5cb1
@ -10,12 +10,12 @@ SETTINGS_NO = "Нет"
|
||||
SETTINGS_BUTTON_SAVE = "Сохранить изменения"
|
||||
SETTINGS_BUTTON_SAVE_AJAX = "Применить (CTRL+S)"
|
||||
SETTINGS_OR = "или"
|
||||
SETTINGS_MAIN_TITLE = "Управление общими настройками системы"
|
||||
SETTINGS_MAIN_TITLE = "Общие настройки системы"
|
||||
SETTINGS_CASE_TITLE = "Дополнительные настройки"
|
||||
SETTINGS_MAIN = "Общие настройки системы"
|
||||
SETTINGS_SAVED = "Настройки системы успешно сохранены"
|
||||
SETTINGS_SAVED_ERR = "Не удалось сохранить настройки.<br />Попробуйте еще раз."
|
||||
SETTINGS_SAVE_INFO = "В данном разделе вы можете отредактировать глобальные параметры системы. Пожалуйста, будьте предельно внимательны и помните, что Неверные параметры могут сделать систему неработоспособной."
|
||||
SETTINGS_SAVE_INFO = "В данном разделе вы можете отредактировать глобальные параметры системы. Пожалуйста, будьте предельно внимательны и помните, что неверные параметры могут сделать систему неработоспособной."
|
||||
SETTINGS_SAVE_CONFIRM = "Вы уверены, что хотите сохранить параметры системы?"
|
||||
SETTINGS_SITE_NAME = "Название cайта:"
|
||||
SETTINGS_SITE_COUNTRY = "Страна сайта:"
|
||||
@ -183,4 +183,6 @@ SETTINGS_CACHE_T_RUBRICS = "Данные рубрик"
|
||||
SETTINGS_CACHE_T_NAVI = "Данные навигации"
|
||||
SETTINGS_CACHE_T_MODULES = "Данные модулей"
|
||||
SETTINGS_CACHE_T_QUERIES = "Данные запросов"
|
||||
SETTINGS_CACHE_T_DOCS = "Данные документов"
|
||||
SETTINGS_CACHE_T_DOCS = "Данные документов"
|
||||
|
||||
SETTINGS_CACHE_T_COMPILED = "Данные скомпилированных документов"
|
@ -80,6 +80,17 @@
|
||||
<a href="javascript:void(0);" class="btn redBtn btn-clear" data-source="documents">{#SETTINGS_CACHE_CLEAR#}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{#SETTINGS_CACHE_T_COMPILED#}
|
||||
</td>
|
||||
<td align="center">
|
||||
<strong class="code" id="btn-compiled"><a href="javascript:void(0);" class="link btn-show" data-source="compiled">{#SETTINGS_CACHE_SHOW#}</a></strong>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="javascript:void(0);" class="btn redBtn btn-clear" data-source="compiled">{#SETTINGS_CACHE_CLEAR#}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
{#SETTINGS_CACHE_T_QUERIES#}
|
||||
|
1094
class/class.core.php
1094
class/class.core.php
File diff suppressed because it is too large
Load Diff
@ -1369,7 +1369,7 @@
|
||||
* @param $cache_id
|
||||
* @return bool
|
||||
*/
|
||||
public function cacheId($cache_id)
|
||||
public function cacheId ($cache_id)
|
||||
{
|
||||
//-- Если это документ, то меняем расположение
|
||||
if (substr($cache_id, 0, 3) == 'doc') {
|
||||
@ -1431,6 +1431,12 @@
|
||||
return $cache_id = 'navigations/' . $cache_id[1];
|
||||
}
|
||||
|
||||
//-- Если это скомпилированный документ, то меняем расположение
|
||||
if (substr($cache_id, 0, 3) == 'cmp') {
|
||||
$cache_id = (int) str_replace('cmp_', '', $cache_id);
|
||||
return $cache_id = 'compile/' . (floor($cache_id / 1000)) . '/' . $cache_id;
|
||||
}
|
||||
|
||||
if (substr_count($cache_id, '__') > 0) {
|
||||
return str_replace('__', '/', $cache_id);
|
||||
}
|
||||
@ -1551,6 +1557,7 @@
|
||||
$this->clearCache('fld_' . $doc_id); // Поля
|
||||
$this->clearCache('cmd_' . $doc_id); // Компиляция
|
||||
$this->clearCache('rqe_' . $doc_id); // Элемент запроса
|
||||
$this->clearCache('cmp_' . $doc_id); // Скомпилированный документ
|
||||
}
|
||||
|
||||
|
||||
|
@ -26,6 +26,8 @@
|
||||
|
||||
protected static $_debug = [];
|
||||
|
||||
public static $_document_content = '';
|
||||
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@ -946,7 +948,7 @@
|
||||
*
|
||||
* @return false|null|string|string[]
|
||||
*/
|
||||
public static function _stat_get($type = 'get')
|
||||
public static function _stat_get (string $type = 'get')
|
||||
{
|
||||
ob_start();
|
||||
|
||||
@ -975,16 +977,57 @@
|
||||
$stat = htmlspecialchars($stat);
|
||||
$stat = preg_replace('/(=>)/', '<span style="color: #FF8C00;">$1</span>', $stat);
|
||||
$stat = '<pre style="background:#f5f5f5; color: #000; margin: 0; padding: 5px; border: 0; font-size: 11px; font-family: Consolas, Verdana, Arial;">'. $stat .'</pre>';
|
||||
|
||||
ob_end_clean();
|
||||
|
||||
return $stat;
|
||||
}
|
||||
|
||||
|
||||
public static function getDocumentInfo ()
|
||||
{
|
||||
global $AVE_Template;
|
||||
|
||||
$_arr = [
|
||||
'DOC' => '/admin/index.php?do=docs&action=edit&Id=',
|
||||
'RUBRIC' => '/admin/index.php?do=rubs&action=edit&Id=',
|
||||
'BLOCKS' => '/admin/index.php?do=blocks&action=edit&id=',
|
||||
'SYSBLOCK' => '/admin/index.php?do=sysblocks&action=edit&id=',
|
||||
'REQUESTS' => '/admin/index.php?do=request&action=edit&Id=',
|
||||
'NAVIAGTIONS' => '/admin/index.php?do=navigation&action=templates&navigation_id='
|
||||
];
|
||||
|
||||
$doc = get_document($_REQUEST['id']);
|
||||
|
||||
$_edit = [];
|
||||
|
||||
$_edit['DOC'][$doc['Id']] = $_arr['DOC'] . $doc['Id'];
|
||||
$_edit['RUBRIC'][$doc['rubric_id']] = $_arr['RUBRIC'] . $doc['rubric_id'];
|
||||
|
||||
foreach ($GLOBALS['block_generate'] AS $k => $v)
|
||||
{
|
||||
if (! in_array($k, array_keys($_arr))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
foreach ($v as $key => $value) {
|
||||
$_edit[$k][$key] = $_arr[$k] . $key;
|
||||
}
|
||||
}
|
||||
|
||||
$AVE_Template->assign('edit', $_edit);
|
||||
$AVE_Template->assign('session', session_id());
|
||||
|
||||
$return = $AVE_Template->fetch(BASE_DIR . '/lib/debug/debug.tpl');
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public static function displayInfo ()
|
||||
public static function displayInfo (): string
|
||||
{
|
||||
global $AVE_DB;
|
||||
|
||||
@ -1014,6 +1057,7 @@
|
||||
<li id="debug-12">MySQL</li>
|
||||
<li id="debug-13">Trace</li>
|
||||
<li id="debug-14">Debug</li>
|
||||
<li id="debug-15">Edit</li>
|
||||
</ul>
|
||||
';
|
||||
$out .= PHP_EOL;
|
||||
@ -1113,6 +1157,77 @@
|
||||
$out .= implode('', self::$_debug);
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div class="debug_tab" id="debug-15-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= self::getDocumentInfo();
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '</div>';
|
||||
|
||||
return $out;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public static function displayInfoLight (): string
|
||||
{
|
||||
global $AVE_DB;
|
||||
|
||||
$out = PHP_EOL;
|
||||
$out .= '<link rel="stylesheet" href="/lib/debug/debug.css" />';
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<script>window.jQuery || document.write(\'<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js">\x3C/script>\')</script>';
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<script src="/lib/debug/debug.js"></script>';
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div id="debug_btn"></div>';
|
||||
$out .= PHP_EOL;
|
||||
$out .= '
|
||||
<div id="debug_bar">
|
||||
<ul class="debug_tabs">
|
||||
<li id="debug-1">Timers</li>
|
||||
<li id="debug-2">Blocks</li>
|
||||
<li id="debug-3">Content</li>
|
||||
<li id="debug-4">Debug</li>
|
||||
<li id="debug-5">Document</li>
|
||||
</ul>
|
||||
';
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div class="debug_tab" id="debug-1-cont" style="display: block;">' . PHP_EOL;
|
||||
$out .= 'Time generation: ' . self::getStatistic('time') . ' sec';
|
||||
$out .= '<br>';
|
||||
$out .= 'Memory usage: ' . self::getStatistic('memory');
|
||||
$out .= '<br>';
|
||||
$out .= 'Memory peak usage: ' . self::getStatistic('peak');
|
||||
$out .= '<br>';
|
||||
$out .= 'Real SQL Queries: ' . $AVE_DB->DBProfilesGet('count') . ' for ' . $AVE_DB->DBProfilesGet('time') . ' sec';
|
||||
$out .= '<br>';
|
||||
$out .= 'All SQL Queries: ' . count($AVE_DB->_query_list);
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div class="debug_tab" id="debug-2-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= 'Blocks:';
|
||||
$out .= self::getStatistic('blocks');
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div class="debug_tab" id="debug-3-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= '<pre>' . htmlspecialchars(self::$_document_content) . '</pre>';
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div class="debug_tab" id="debug-4-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= implode('', self::$_debug);
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '<div class="debug_tab" id="debug-5-cont" style="display: none;">' . PHP_EOL;
|
||||
$out .= self::getDocumentInfo();
|
||||
$out .= '</div>';
|
||||
|
||||
$out .= PHP_EOL;
|
||||
$out .= '</div>';
|
||||
|
||||
|
@ -199,13 +199,15 @@
|
||||
" . PREFIX . "_navigation
|
||||
WHERE
|
||||
navigation_id = '" . $navigation_id . "'
|
||||
OR
|
||||
alias = '" . $navigation_id . "'
|
||||
")->FetchRow();
|
||||
|
||||
// Формируем список групп пользователей
|
||||
$row->user_group = explode(',', $row->user_group);
|
||||
|
||||
// Формируем ряд переменных для использования в шаблоне и отображаем форм с данными для редактирования
|
||||
$AVE_Template->assign('nid', $navigation_id);
|
||||
$AVE_Template->assign('nid', $row->navigation_id);
|
||||
$AVE_Template->assign('navigation', $row);
|
||||
$AVE_Template->assign('groups', $AVE_User->userGroupListGet());
|
||||
$AVE_Template->assign('form_action', 'index.php?do=navigation&action=templates&sub=save&navigation_id=' . $navigation_id . '&cp=' . SESSION);
|
||||
|
@ -336,6 +336,8 @@
|
||||
" . PREFIX . "_request
|
||||
WHERE
|
||||
Id = '" . $request_id . "'
|
||||
OR
|
||||
request_alias = '" . $request_id . "'
|
||||
");
|
||||
|
||||
if ($sql->_result->num_rows == 0)
|
||||
@ -361,10 +363,13 @@
|
||||
array_push($paginations, $pages);
|
||||
|
||||
// Передаем данные в шаблон и отображаем страницу с редактированием запроса
|
||||
if (! isset($_REQUEST['rubric_id']))
|
||||
$_REQUEST['rubric_id'] = $row->rubric_id;
|
||||
|
||||
$AVE_Template->assign('row', $row);
|
||||
$AVE_Template->assign('rid', $request_id);
|
||||
$AVE_Template->assign('rid', $row->Id);
|
||||
$AVE_Template->assign('paginations', $paginations);
|
||||
$AVE_Template->assign('formaction', 'index.php?do=request&action=edit&sub=save&Id=' . $request_id . '&cp=' . SESSION);
|
||||
$AVE_Template->assign('formaction', 'index.php?do=request&action=edit&sub=save&Id=' . $row->Id . '&cp=' . SESSION);
|
||||
$AVE_Template->assign('content', $AVE_Template->fetch('request/form.tpl'));
|
||||
|
||||
break;
|
||||
|
@ -777,6 +777,10 @@
|
||||
$size = format_size(get_dir_size(BASE_DIR . '/tmp/cache/sql/documents'));
|
||||
break;
|
||||
|
||||
case 'compiled':
|
||||
$size = format_size(get_dir_size(BASE_DIR . '/tmp/cache/sql/compile'));
|
||||
break;
|
||||
|
||||
case 'langs':
|
||||
$size = format_size(get_dir_size(BASE_DIR . '/tmp/cache/sql/langs'));
|
||||
break;
|
||||
@ -842,6 +846,10 @@
|
||||
$cache_dir = BASE_DIR . '/tmp/cache/sql/documents';
|
||||
break;
|
||||
|
||||
case 'compiled':
|
||||
$cache_dir = BASE_DIR . '/tmp/cache/sql/compile';
|
||||
break;
|
||||
|
||||
case 'langs':
|
||||
$cache_dir = BASE_DIR . '/tmp/cache/sql/langs';
|
||||
break;
|
||||
|
@ -378,7 +378,7 @@
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
$sysblock_id = (int)$_REQUEST['id'];
|
||||
$sysblock_id = $_REQUEST['id'];
|
||||
|
||||
$sql = "
|
||||
SELECT
|
||||
@ -387,11 +387,13 @@
|
||||
" . PREFIX . "_sysblocks
|
||||
WHERE
|
||||
id = '" . $sysblock_id . "'
|
||||
OR
|
||||
sysblock_alias = '" . $sysblock_id . "'
|
||||
";
|
||||
|
||||
$row = $AVE_DB->Query($sql)->FetchAssocArray();
|
||||
|
||||
$AVE_Template->assign('sid', $sysblock_id);
|
||||
$AVE_Template->assign('sid', $row['id']);
|
||||
$AVE_Template->assign('groups', self::getGroups());
|
||||
|
||||
if ((isset($_REQUEST['sysblock_visual']) && $_REQUEST['sysblock_visual'] == 1) || $row['sysblock_visual'] == 1)
|
||||
|
@ -874,7 +874,7 @@
|
||||
" . (isset($params['USER_FROM']) ? $params['USER_FROM'] : '') . "
|
||||
" . PREFIX . "_documents AS a
|
||||
" . implode(' ', $request_join) . "
|
||||
" . (isset($params['USER_JOIN']) ? $params['USER_JOIN'] : '') . "
|
||||
" . (isset($params['USER_JOIN']) ? $params['USER_FROM'] : '') . "
|
||||
WHERE
|
||||
" . $request_where_str . "
|
||||
GROUP BY a.Id
|
||||
@ -1198,6 +1198,185 @@
|
||||
}
|
||||
|
||||
|
||||
|
||||
function parse_request ($id, $params = [])
|
||||
{
|
||||
global $AVE_Core;
|
||||
|
||||
// Получаем информацию о запросе
|
||||
$request = request_get_settings($id);
|
||||
|
||||
// Фиксируем время начала генерации запроса
|
||||
Debug::startTime('request_' . $id);
|
||||
|
||||
// Элементы запроса
|
||||
$rows = $params['ROWS'];
|
||||
|
||||
//-- Обрабатываем шаблоны элементов
|
||||
$items = '';
|
||||
|
||||
//-- Счетчик
|
||||
$x = 0;
|
||||
|
||||
//-- Общее число элементов
|
||||
$items_count = $num_items= count($rows);
|
||||
|
||||
global $req_item_num, $use_cache, $request_id, $request_changed, $request_changed_elements;
|
||||
|
||||
$use_cache = $request->request_cache_elements;
|
||||
|
||||
$request_id = $request->Id;
|
||||
|
||||
$request_changed = $request->request_changed;
|
||||
$request_changed_elements = $request->request_changed_elements;
|
||||
|
||||
$limit = (isset($params['LIMIT']) && is_numeric($params['LIMIT']) && $params['LIMIT'] > '')
|
||||
? (int)$params['LIMIT']
|
||||
: (int)$request->request_items_per_page;
|
||||
|
||||
// Кол-во страниц
|
||||
$num_pages = ($limit > 0)
|
||||
? ceil($num_items / $limit)
|
||||
: 0;
|
||||
|
||||
Debug::startTime('ELEMENTS_ALL');
|
||||
|
||||
foreach ($rows AS $row)
|
||||
{
|
||||
$x++;
|
||||
$last_item = ($x == $items_count ? true : false);
|
||||
$item_num = $x;
|
||||
$req_item_num = $item_num;
|
||||
|
||||
Debug::startTime('ELEMENT_' . $item_num);
|
||||
|
||||
$item = showrequestelement($row, $request->request_template_item);
|
||||
|
||||
$GLOBALS['block_generate']['REQUESTS'][$id]['ELEMENTS'][$item_num] = Debug::endTime('ELEMENT_' . $item_num);
|
||||
|
||||
$item = str_replace('[tag:item_num]', $item_num, $item);
|
||||
$item = '<'.'?php $item_num='.var_export($item_num,1).'; $last_item='.var_export($last_item,1).'?'.'>'.$item;
|
||||
$item = '<'.'?php $req_item_id = ' . $row . '; ?>' . $item;
|
||||
$item = str_replace('[tag:if_first]', '<'.'?php if(isset($item_num) && $item_num===1) { ?'.'>', $item);
|
||||
$item = str_replace('[tag:if_not_first]', '<'.'?php if(isset($item_num) && $item_num!==1) { ?'.'>', $item);
|
||||
$item = str_replace('[tag:if_last]', '<'.'?php if(isset($last_item) && $last_item) { ?'.'>', $item);
|
||||
$item = str_replace('[tag:if_not_last]', '<'.'?php if(isset($item_num) && !$last_item) { ?'.'>', $item);
|
||||
$item = preg_replace('/\[tag:if_every:([0-9-]+)\]/u', '<'.'?php if(isset($item_num) && !($item_num % $1)){ '.'?'.'>', $item);
|
||||
$item = preg_replace('/\[tag:if_not_every:([0-9-]+)\]/u', '<'.'?php if(isset($item_num) && ($item_num % $1)){ '.'?'.'>', $item);
|
||||
$item = str_replace('[tag:/if]', '<'.'?php } ?>', $item);
|
||||
$item = str_replace('[tag:if_else]', '<'.'?php }else{ ?>', $item);
|
||||
$items .= $item;
|
||||
|
||||
Registry::remove('documents', $row);
|
||||
Registry::remove('fields', $row);
|
||||
Registry::remove('fields_param', $row);
|
||||
}
|
||||
|
||||
$GLOBALS['block_generate']['REQUESTS'][$id]['ELEMENTS']['ALL'] = Debug::endTime('ELEMENTS_ALL');
|
||||
|
||||
// Приступаем к обработке шаблона
|
||||
$main_template = $request->request_template_main;
|
||||
|
||||
// ============ Обрабатываем теги запроса ============ //
|
||||
|
||||
//-- Парсим теги визуальных блоков
|
||||
$main_template = preg_replace_callback('/\[tag:block:([A-Za-z0-9-_]{1,20}+)\]/', 'parse_block', $main_template);
|
||||
|
||||
//-- Парсим теги системных блоков
|
||||
$main_template = preg_replace_callback('/\[tag:sysblock:([A-Za-z0-9-_]{1,20}+)\]/', 'parse_sysblock', $main_template);
|
||||
|
||||
//-- Дата
|
||||
$main_template = preg_replace_callback('/\[tag:date:([a-zA-Z0-9-. \/]+)\]/',
|
||||
function ($match) use ($AVE_Core)
|
||||
{
|
||||
return translate_date(date($match[1], $AVE_Core->curentdoc->document_published));
|
||||
},
|
||||
$main_template
|
||||
);
|
||||
|
||||
$str_replace = [
|
||||
//-- ID Документа
|
||||
'[tag:docid]' => $AVE_Core->curentdoc->Id,
|
||||
//-- ID Автора
|
||||
'[tag:docauthorid]' => $AVE_Core->curentdoc->document_author_id,
|
||||
//-- Имя автора
|
||||
'[tag:docauthor]' => get_username_by_id($AVE_Core->curentdoc->document_author_id),
|
||||
//-- Время - 1 день назад
|
||||
'[tag:humandate]' => human_date($AVE_Core->curentdoc->document_published),
|
||||
//-- Дата создания
|
||||
'[tag:docdate]' => pretty_date(strftime(DATE_FORMAT, $AVE_Core->curentdoc->document_published)),
|
||||
//-- Время создания
|
||||
'[tag:doctime]' => pretty_date(strftime(TIME_FORMAT, $AVE_Core->curentdoc->document_published)),
|
||||
//-- Домен
|
||||
'[tag:domain]' => getSiteUrl(),
|
||||
//-- Заменяем тег пагинации на пагинацию
|
||||
'[tag:pages]' => $pagination,
|
||||
//-- Общее число элементов запроса
|
||||
'[tag:doctotal]' => $num_items,
|
||||
//-- Показано элементов запроса на странице
|
||||
'[tag:doconpage]' => $x,
|
||||
//-- Номер страницы пагинации
|
||||
'[tag:pages:curent]' => get_current_page('page'),
|
||||
//-- Общее кол-во страниц пагинации
|
||||
'[tag:pages:total]' => $num_pages,
|
||||
//-- Title
|
||||
'[tag:pagetitle]' => stripslashes(htmlspecialchars_decode($AVE_Core->curentdoc->document_title)),
|
||||
//-- Alias
|
||||
'[tag:alias]' => (isset($AVE_Core->curentdoc->document_alias) ? $AVE_Core->curentdoc->document_alias : '')
|
||||
];
|
||||
|
||||
$main_template = str_replace(array_keys($str_replace), array_values($str_replace), $main_template);
|
||||
|
||||
//-- Возвращаем параметр документа из БД
|
||||
$main_template = preg_replace_callback('/\[tag:doc:([a-zA-Z0-9-_]+)\]/u',
|
||||
function ($match) use ($row)
|
||||
{
|
||||
return isset($row->{$match[1]})
|
||||
? $row->{$match[1]}
|
||||
: null;
|
||||
},
|
||||
$main_template
|
||||
);
|
||||
|
||||
//-- Если пришел вызов на активацию языковых файлов
|
||||
$main_template = preg_replace_callback('/\[tag:langfile:([a-zA-Z0-9-_]+)\]/u',
|
||||
function ($match)
|
||||
{
|
||||
global $AVE_Template;
|
||||
|
||||
return $AVE_Template->get_config_vars($match[1]);
|
||||
},
|
||||
$main_template
|
||||
);
|
||||
|
||||
//-- Вставляем элементы запроса
|
||||
$return = str_replace('[tag:content]', $items, $main_template);
|
||||
|
||||
unset ($items, $main_template, $str_replace, $pagination);
|
||||
|
||||
//-- Парсим тег [hide]
|
||||
$return = parse_hide($return);
|
||||
|
||||
//-- Абсолютный путь
|
||||
$return = str_replace('[tag:path]', ABS_PATH, $return);
|
||||
|
||||
//-- Путь до папки шаблона
|
||||
$return = str_replace('[tag:mediapath]', ABS_PATH . 'templates/' . ((defined('THEME_FOLDER') === false) ? DEFAULT_THEME_FOLDER : THEME_FOLDER) . '/', $return);
|
||||
|
||||
//-- Парсим модули
|
||||
$return = $AVE_Core->coreModuleTagParse($return);
|
||||
|
||||
//-- Фиксируем время генерации запроса
|
||||
$GLOBALS['block_generate']['REQUESTS'][$id]['TIME'] = Debug::endTime('request_' . $id);
|
||||
|
||||
// Статистика
|
||||
if ($request->request_show_statistic)
|
||||
$return .= "<div class=\"request_statistic\"><br>Найдено: $num_items<br>Показано: $items_count<br>Время генерации: " . Debug::endTime('request_' . $id) . " сек<br>Пиковое значение: ".number_format(memory_get_peak_usage()/1024, 0, ',', ' ') . ' Kb</div>';
|
||||
|
||||
return $return;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Функция получения содержимого поля для обработки в шаблоне запроса
|
||||
* <pre>
|
||||
|
@ -303,7 +303,7 @@
|
||||
'DESCR' => 'Вывод общей статистики публичной части',
|
||||
'DEFAULT' => 'off',
|
||||
'TYPE' => 'dropdown',
|
||||
'VARIANT' => ['off', 'light', 'full']
|
||||
'VARIANT' => ['off', 'light', 'full', 'dev']
|
||||
];
|
||||
|
||||
//-- Вывод общей статистики в административной части
|
||||
@ -406,6 +406,22 @@
|
||||
'VARIANT' => ''
|
||||
];
|
||||
|
||||
//-- Кэширование всей страницы
|
||||
$GLOBALS['CMS_CONFIG']['_CONST_CACHE']['CACHE_DOC_FULL'] = [
|
||||
'DESCR' => 'Кэширование всей страницы',
|
||||
'DEFAULT' => false,
|
||||
'TYPE' => 'bool',
|
||||
'VARIANT' => ''
|
||||
];
|
||||
|
||||
//-- Кэширование всей страницы (для админа)
|
||||
$GLOBALS['CMS_CONFIG']['_CONST_CACHE']['CACHE_DOC_FULL_ADMIN'] = [
|
||||
'DESCR' => 'Кэширование всей страницы (для админа)',
|
||||
'DEFAULT' => false,
|
||||
'TYPE' => 'bool',
|
||||
'VARIANT' => ''
|
||||
];
|
||||
|
||||
//-- Кэширование информацию о документе и его полях
|
||||
$GLOBALS['CMS_CONFIG']['_CONST_CACHE']['SITEMAP_CACHE_LIFETIME'] = [
|
||||
'DESCR' => 'Время жизни кеша для карты сайта',
|
||||
|
10
inc/init.php
10
inc/init.php
@ -76,6 +76,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
$_GET = add_slashes($_GET);
|
||||
$_POST = add_slashes($_POST);
|
||||
$_REQUEST = array_merge($_POST, $_GET);
|
||||
$_COOKIE = add_slashes($_COOKIE);
|
||||
|
||||
unsetGlobals();
|
||||
|
||||
if (isset($HTTP_POST_VARS))
|
||||
@ -108,11 +113,6 @@
|
||||
return $array;
|
||||
}
|
||||
|
||||
$_GET = add_slashes($_GET);
|
||||
$_POST = add_slashes($_POST);
|
||||
$_REQUEST = array_merge($_POST, $_GET);
|
||||
$_COOKIE = add_slashes($_COOKIE);
|
||||
|
||||
function isSSL()
|
||||
{
|
||||
if (isset($_SERVER['HTTPS']))
|
||||
|
28
index.php
28
index.php
@ -35,7 +35,7 @@
|
||||
//-- Подключаем файл определения мобильных устройств
|
||||
//-- далее пользуемся $MobileDetect
|
||||
require_once (BASE_DIR . '/lib/mobile_detect/Mobile_Detect.php');
|
||||
$MobileDetect = new Mobile_Detect;
|
||||
$MDetect = new Mobile_Detect;
|
||||
|
||||
$init_start = microtime();
|
||||
|
||||
@ -44,6 +44,8 @@
|
||||
|
||||
$GLOBALS['block_generate']['INIT']['END'] = number_format(microtime_diff($init_start, microtime()), 3, ',', ' ') . ' sec';
|
||||
|
||||
Debug::startTime('CODEEND');
|
||||
|
||||
//-- Проверяем нет ли в запросе папки UPLOADS_DIR
|
||||
//-- подключаем файл для работы thumbsnail
|
||||
if (strpos ($_SERVER['REQUEST_URI'], ABS_PATH . UPLOAD_DIR . '/') === 0)
|
||||
@ -98,6 +100,7 @@
|
||||
}
|
||||
|
||||
//-- Собираем страницу
|
||||
|
||||
$AVE_Core->coreSiteFetch(get_current_document_id());
|
||||
|
||||
Debug::startTime('CONTENT');
|
||||
@ -109,8 +112,14 @@
|
||||
else
|
||||
ob_start();
|
||||
|
||||
Debug::$_document_content = $content;
|
||||
|
||||
Debug::startTime('EVALCONTENT');
|
||||
|
||||
eval (' '.'?>' . $content . '<?'.'php ');
|
||||
|
||||
$GLOBALS['block_generate']['DOCUMENT']['EVALCONTENT'] = Debug::endTime('EVALCONTENT');
|
||||
|
||||
$render = ob_get_clean();
|
||||
|
||||
unset ($content);
|
||||
@ -155,23 +164,8 @@
|
||||
exit;
|
||||
}
|
||||
|
||||
//-- Тут заменяем [tag:rubheader]
|
||||
//-- на собранный $GLOBALS["user_header"]
|
||||
$rubheader = (empty($GLOBALS['user_header'])
|
||||
? ''
|
||||
: implode(chr(10), $GLOBALS['user_header']));
|
||||
|
||||
//-- Тут заменяем [tag:rubfooter]
|
||||
//-- на собранный $GLOBALS["user_footer"]
|
||||
$rubfooter = (empty($GLOBALS['user_footer'])
|
||||
? ''
|
||||
: implode(chr(10), $GLOBALS['user_footer']));
|
||||
|
||||
$render = str_replace(['[tag:rubheader]', '[tag:rubfooter]'], [$rubheader, $rubfooter], $render);
|
||||
|
||||
unset ($rubheader, $rubfooter);
|
||||
|
||||
$GLOBALS['block_generate']['DOCUMENT']['CONTENT'] = Debug::endTime('CONTENT');
|
||||
$GLOBALS['block_generate']['INIT']['CODEEND'] = Debug::endTime('CODEEND');
|
||||
|
||||
//-- Вывод конечного результата
|
||||
output_compress($render);
|
||||
|
Loading…
x
Reference in New Issue
Block a user