74 lines
2.0 KiB
PHP
74 lines
2.0 KiB
PHP
<?php
|
||
header('Content-Type: application/json; charset=utf-8');
|
||
session_start();
|
||
|
||
$response = [
|
||
'success' => false,
|
||
'message' => '',
|
||
'timestamp' => date('Y-m-d H:i:s')
|
||
];
|
||
|
||
// Проверка: только для админа или валидного секрета
|
||
$validSecret = 'Afrqtf';
|
||
$providedSecret = isset($_GET['secret']) ? $_GET['secret'] : '';
|
||
|
||
if (
|
||
(!isset($_SESSION['id']) || !in_array($_SESSION['id'], [4, 6635, 12253])) &&
|
||
$providedSecret !== $validSecret
|
||
) {
|
||
die('Доступ запрещён');
|
||
}
|
||
|
||
$files = [
|
||
// CSS
|
||
'/css/base.css',
|
||
'/css/crm.css',
|
||
'/css/style.css',
|
||
'/css/viewer.css',
|
||
'/css/fastselect.css',
|
||
'/css/funnel.css',
|
||
'/css/all.min.css',
|
||
'/css/chat/style.min.css',
|
||
'/css/analytics/local.css',
|
||
'/css/analytics/styles.min.css',
|
||
|
||
// JS
|
||
'/js/main.js',
|
||
'/js/charts.js',
|
||
'/js/f_main.js',
|
||
'/js/jquery.overscroll.js',
|
||
'/js/crm.js',
|
||
'/js/fastselect.standalone.js',
|
||
'/js/viewer.min.js',
|
||
'js/core.js',
|
||
'js/crm_jw.js',
|
||
'js/callevents.js',
|
||
];
|
||
|
||
$cacheDir = $_SERVER['DOCUMENT_ROOT'] . '/engine/cache';
|
||
$cacheFile = $cacheDir . '/assets.php';
|
||
|
||
if (!is_dir($cacheDir)) {
|
||
if (!mkdir($cacheDir, 0755, true)) {
|
||
$response['message'] = 'Не удалось создать папку: ' . $cacheDir;
|
||
echo json_encode($response, JSON_UNESCAPED_UNICODE);
|
||
exit;
|
||
}
|
||
}
|
||
|
||
$manifest = [];
|
||
foreach ($files as $file) {
|
||
$fullPath = $_SERVER['DOCUMENT_ROOT'] . $file;
|
||
$manifest[$file] = file_exists($fullPath) ? filemtime($fullPath) : time();
|
||
}
|
||
|
||
$content = '<?php return ' . var_export($manifest, true) . ';';
|
||
if (file_put_contents($cacheFile, $content) === false) {
|
||
$response['message'] = 'Не удалось записать файл: ' . $cacheFile;
|
||
echo json_encode($response, JSON_UNESCAPED_UNICODE);
|
||
exit;
|
||
}
|
||
|
||
$response['success'] = true;
|
||
$response['message'] = 'Кэш обновлён. Файлов: ' . count($manifest);
|
||
echo json_encode($response, JSON_UNESCAPED_UNICODE); |