В раздел Системные настройки-->Дополнительные настройки-->Вывод общей статистики в административной части добавлен выбор вывода статистики . Режим tpl выведет все .tpl шаблоны использующиеся на странице с подсветкой основного.

This commit is contained in:
2026-04-11 12:26:48 +05:00
parent fbfa0770fb
commit 4ff4a6dd49
4 changed files with 1139 additions and 866 deletions

View File

@@ -131,7 +131,8 @@
// Выводим шаблон
$AVE_Template->display($tpl);
// Статистика
if ((defined('PROFILING_ADMIN') && PROFILING_ADMIN) && ! isAjax())
echo Debug::displayInfo();
// Проверяем, что профилирование не выключено ('off')
if (defined('PROFILING_ADMIN') && PROFILING_ADMIN !== 'off' && !isAjax()) {
echo Debug::displayInfo(PROFILING_ADMIN); // Передаем режим (full или tpl) в метод
}
?>

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@
* @package AVE.cms
* @version 4.x (АДАПТИРОВАНО ДЛЯ SMARTY 5 С NAMESPACE)
* @filesource
* @copyright © 2007-2025 AVE.cms, https://ave.gitget.ru
* @copyright © 2007-2026 AVE.cms, https://ave4cms.ru
*
*/
@@ -16,12 +16,12 @@
require($smarty_path);
// Импортируем класс Smarty 5 для удобства
// Импортируем класс Smarty 5
use Smarty\Smarty;
/**
* Расширение класса шаблонизатора Smarty
* Теперь наследуемся от Smarty 5 через его namespace
* наследуемся от Smarty 5 через его namespace
*/
class AVE_Template extends Smarty
{
@@ -48,7 +48,6 @@
/**
* Путь к директории шаблонов по умолчанию.
* Если вы не передадите тип ресурса во время подключения файлов, они будут искаться здесь.
*/
$this->template_dir = $template_dir;
@@ -103,7 +102,6 @@
/**
* Регистрация плагинов-функций Smarty.
* АДАПТАЦИЯ: register_function заменен на registerPlugin('function', ...) для Smarty 5.
* Добавлены проверки function_exists для предотвращения ошибки "not callable".
*/
if (function_exists('check_permission')) {
@@ -122,7 +120,6 @@
/**
* Регистрация плагинов-модификаторов Smarty.
* АДАПТАЦИЯ: register_modifier заменен на registerPlugin('modifier', ...) для Smarty 5.
*/
if (function_exists('pretty_date')) {
$this->registerPlugin('modifier', 'pretty_date', 'pretty_date');
@@ -134,49 +131,40 @@
$this->registerPlugin('modifier', 'utf8', 'utf8');
}
if (function_exists('check_permission')) {
// Регистрируем как модификатор, если функция существует
$this->registerPlugin('modifier', 'check_permission', 'check_permission');
}
// stripslashes - это нативная PHP-функция, проверка не нужна
$this->registerPlugin('modifier', 'stripslashes', 'stripslashes');
if (function_exists('htmlspecialchars')) {
// Регистрируем как модификатор, если функция существует
$this->registerPlugin('modifier', 'htmlspecialchars', 'htmlspecialchars');
}
if (function_exists('trim')) {
// Регистрируем как модификатор, если функция существует
$this->registerPlugin('modifier', 'trim', 'trim');
}
if (function_exists('format_size')) {
// Регистрируем как модификатор, если функция существует
$this->registerPlugin('modifier', 'format_size', 'format_size');
}
if (function_exists('urldecode')) {
// Регистрируем как модификатор, если функция существует
$this->registerPlugin('modifier', 'urldecode', 'urldecode');
}
if (function_exists('strtolower')) {
// Регистрируем как модификатор, если функция существует
$this->registerPlugin('modifier', 'strtolower', 'strtolower');
}
if (function_exists('constant')) {
// Регистрируем как модификатор, если функция существует
$this->registerPlugin('modifier', 'constant', 'constant');
}
if (function_exists('stripcslashes')) {
// Регистрируем как модификатор, если функция существует
$this->registerPlugin('modifier', 'stripcslashes', 'stripcslashes');
}
if (function_exists('html_entity_decode')) {
// Регистрируем как модификатор, если функция существует
$this->registerPlugin('modifier', 'html_entity_decode', 'html_entity_decode');
}
@@ -192,8 +180,6 @@
/**
* Присваиваем общие значения для шаблонов.
* Можно явно передавать пары имя/значение,
* или ассоциативные массивы, содержащие пары имя/значение.
*/
$assign['BASE_DIR'] = BASE_DIR;
$assign['ABS_PATH'] = ABS_PATH;
@@ -243,7 +229,6 @@
* Переопределение одноименного метода Smarty
* для конфигурационных файлов созданных в теме дизайна.
*
* ИСПРАВЛЕНИЕ: Добавлен default = null к $file для совместимости с PHP 8/Smarty 5
*
* @param string $file
* @param string $section
@@ -259,7 +244,6 @@
* Переопределение одноименного метода Smarty
* для пользовательских шаблонов созданных в теме дизайна.
*
* ИСПРАВЛЕНИЕ: Добавлен default = null к $tpl_file для совместимости с PHP 8/Smarty 5
*
* @param string $tpl_file name of template file
* @param string $cache_id
@@ -276,7 +260,6 @@
* Переопределение одноименного метода Smarty
* для пользовательских шаблонов созданных в теме дизайна.
*
* ИСПРАВЛЕНИЕ: Добавлен default = null к $resource_name для совместимости с PHP 8/Smarty 5
*
* @param string $resource_name
* @param string $cache_id
@@ -285,6 +268,10 @@
*/
function fetch($resource_name = null, $cache_id = null, $compile_id = null)
{
// Записываем каждый вызов в стек
if (class_exists('Debug')) {
Debug::$template_stack[] = basename($resource_name);
}
// Вызываем родительский fetch
return parent::fetch($this->_redefine_template($resource_name), $cache_id, $compile_id);
}
@@ -293,7 +280,6 @@
* Переопределение одноименного метода Smarty
* для пользовательских шаблонов созданных в теме дизайна.
*
* ИСПРАВЛЕНИЕ: Добавлен default = null к $resource_name для совместимости с PHP 8/Smarty 5
*
* @param string $resource_name
* @param string $cache_id
@@ -302,6 +288,10 @@
*/
function display($resource_name = null, $cache_id = null, $compile_id = null)
{
// Записываем каждый вызов в стек
if (class_exists('Debug')) {
Debug::$template_stack[] = basename($resource_name);
}
// Вызываем родительский display
parent::display($this->_redefine_template($resource_name), $cache_id, $compile_id);
}

View File

@@ -358,9 +358,9 @@
//-- Вывод общей статистики в административной части
$GLOBALS['CMS_CONFIG']['_CONST_DEV']['PROFILING_ADMIN'] = [
'DESCR' => 'Вывод общей статистики в административной части',
'DEFAULT' => false,
'TYPE' => 'bool',
'VARIANT' => ''
'DEFAULT' => 'off',
'TYPE' => 'dropdown',
'VARIANT' => ['off', 'full', 'tpl']
];
//-- Собирать статистику выполненных запросов