@@ -51,14 +51,13 @@ public function parseAssets(bool $parse = false) : void {
5151
5252 /**
5353 * Проверяет целостность файлов между локальным хранилищем и сервером разработчика.
54+ *
5455 * Если файлы отсутствуют или имеют различия в хеш-суммах, информация об этих расхождениях
5556 * возвращается в виде массива. При необходимости может быть выполнена перезапись
5657 * локального файла с данными о ресурсах.
5758 *
58- * @global string $asset_file Путь к локальному JSON-файлу с данными о ресурсах.
59- *
60- * @param bool $rewrite Если true, выполняется перезапись локального файла списка ресурсов
61- * с актуальными данными из указанной директории.
59+ * @param bool $rewrite Если true, выполняется перезапись локального файла списка ресурсов
60+ * с актуальными данными из указанной директории.
6261 *
6362 * @return array Ассоциативный массив с информацией о проверке файлов:
6463 * - `on_server` (int): Количество файлов, находящихся на сервере разработчика.
@@ -67,18 +66,19 @@ public function parseAssets(bool $parse = false) : void {
6766 * - `update_count` (int): Количество файлов, требующих обновления.
6867 * - `missing` (array): Массив с данными о недостающих файлах.
6968 * - `update` (array): Массив с данными о файлах, требующих обновления.
70- * @throws \JsonException
69+ *
7170 * @see DataManager::dirToArray() Метод для получения структуры указанной директории.
7271 * @see self::prepare_assets() Метод для подготовки массива данных о локальных файлах.
72+ *
73+ * @global string $asset_file Путь к локальному JSON-файлу с данными о ресурсах.
7374 */
7475 public function checkAssets (bool $ rewrite = false ) : array {
7576 if (!is_file ($ this ->asset_file ) || $ rewrite ) {
7677 $ this ->prepare_assets (DataManager::dirToArray ($ this ->assets_dir ), $ this ->assets_dir );
7778 file_put_contents ($ this ->asset_file , json_encode ($ this ->assets_arr , JSON_UNESCAPED_UNICODE ));
7879 }
79- $ assets =
80- json_decode (file_get_contents ('https://assets.devcraft.club/assets.json ' ), true , 512 , JSON_THROW_ON_ERROR );
81- $ files = json_decode (file_get_contents ($ this ->asset_file ), true , 512 , JSON_THROW_ON_ERROR );
80+ $ assets = json_decode (file_get_contents ('https://assets.devcraft.club/assets.json ' ), true );
81+ $ files = json_decode (file_get_contents ($ this ->asset_file ), true );
8282
8383 $ info = [
8484 'on_server ' => count ($ assets ),
@@ -117,7 +117,7 @@ public function checkAssets(bool $rewrite = false) : array {
117117 * 5. Запись актуализированных данных в локальный JSON-файл.
118118 *
119119 * @return void
120- * @throws JsonException|\Throwable Исключение выбрасывается в случае ошибки при работе с JSON.
120+ * @throws JsonException Исключение выбрасывается в случае ошибки при работе с JSON.
121121 *
122122 * @see self::save_asset() Для сохранения конкретного ресурса.
123123 * @see self::prepare_assets() Для создания массива данных локальных файлов.
@@ -129,8 +129,7 @@ public function checkAssets(bool $rewrite = false) : array {
129129 private function parse_assets () : void {
130130 $ this ->prepare_assets (DataManager::dirToArray ($ this ->assets_dir ), $ this ->assets_dir );
131131 $ files = $ this ->assets_arr ;
132- $ assets =
133- json_decode (file_get_contents ('https://assets.devcraft.club/assets.json ' ), true , 512 , JSON_THROW_ON_ERROR );
132+ $ assets = json_decode (file_get_contents ('https://assets.devcraft.club/assets.json ' ), true );
134133
135134 foreach ($ assets as $ asset => $ data ) {
136135 if (isset ($ files [$ asset ])) {
@@ -190,9 +189,9 @@ function format_bytes(int $size): string {
190189 $ file_content = $ this ->fetchFileContent ($ data ); // Новый метод для уменьшения вложенности
191190
192191 if ($ file_content ) {
193- $ file_path = ENGINE_DIR . '/inc/maharder/admin ' . $ file ;
192+ $ file_path = DataManager:: normalizePath ( ENGINE_DIR . '/inc/maharder/admin ' . $ file) ;
194193
195- if (!DataManager::createDir (service: 'AssetsChecker ' , module: 'save_asset ' , _path: $ file_path )) {
194+ if (!DataManager::createDir (service: 'AssetsChecker ' , module: 'save_asset ' , _path: DataManager:: normalizePath ( MH_ADMIN . $ data [ ' path ' ]) )) {
196195 return false ; // Прерываем выполнение, если директория не создана
197196 }
198197
@@ -249,11 +248,12 @@ private function fetchFileContent(array $data): ?string {
249248 * @see LogGenerator::generateLog() Для логирования ошибок в случае невозможности сохранения файла.
250249 */
251250 private function saveFile (string $ file_path , string $ content , string $ file ): bool {
252- if (!file_put_contents ($ file_path , $ content , FILE_USE_INCLUDE_PATH | LOCK_EX ) || !is_writable ($ file_path )) {
251+ if (is_dir ($ file_path )) DataManager::deleteDir ($ file_path );
252+ if (!file_put_contents ($ file_path , $ content , LOCK_EX ) || !is_writable ($ file_path )) {
253253 LogGenerator::generateLog (
254254 'maharder/admin ' ,
255255 'save_asset ' ,
256- __ ("Файл '{file}' не был сохранён! " , [ ' {file} ' => $ file ] )
256+ __ (' mhadmin ' , "Файл ' {$ file }' не был сохранён! " )
257257 );
258258 return false ;
259259 }
@@ -345,4 +345,4 @@ private function prepare_assets(array $arr, string $dir = __DIR__) : void {
345345
346346 }
347347
348- }
348+ }
0 commit comments