@@ -168,23 +168,25 @@ classic: << Первая < 1 [2] 3 > Последняя >>
168168 ];
169169}
170170
171- /**
172- * var array $bpConfig
173- */
174171include ENGINE_DIR . '/data/blockpro.php ' ;
175172
176173// Объединяем массивы конфигов
174+ /** @var array $bpConfig */
177175$ cfg = array_merge ($ cfg , $ bpConfig );
178176
179177// Получаем id текущей категории при AJAX навигации
180178if ($ isAjaxConfig && ($ cfg ['catId ' ] == 'this ' || $ cfg ['notCatId ' ] == 'this ' )) {
179+ /**
180+ * @var string $thisUrl
181+ * @see engine/ajax/blockpro.php
182+ */
181183 if (substr ($ thisUrl , -1 , 1 ) == '/ ' ) {
182184 $ thisUrl = substr ($ thisUrl , 0 , -1 );
183185 }
184- $ thisUrl = explode ('/ ' , $ thisUrl );
185- $ thisUrl = end ($ thisUrl );
186- if (trim ($ thisUrl ) != '' ) {
187- $ category_id = get_ID ($ cat_info , $ thisUrl );
186+ $ arThisUrl = explode ('/ ' , $ thisUrl );
187+ $ thisCatName = end ($ arThisUrl );
188+ if (trim ($ thisCatName ) != '' ) {
189+ $ category_id = get_ID ($ cat_info , $ thisCatName );
188190 }
189191}
190192
@@ -259,6 +261,8 @@ classic: << Первая < 1 [2] 3 > Последняя >>
259261}
260262
261263$ cfg ['cacheNameAddon ' ] = array_filter ($ cfg ['cacheNameAddon ' ]);
264+ // Удаляем дублирующиеся значения кеша. Может возникать при AJAX вызове с &catId=this
265+ $ cfg ['cacheNameAddon ' ] = array_unique ($ cfg ['cacheNameAddon ' ]);
262266$ cfg ['cacheNameAddon ' ] = implode ('_ ' , $ cfg ['cacheNameAddon ' ]);
263267
264268if ($ cfg ['cacheLive ' ]) {
@@ -270,7 +274,7 @@ classic: << Первая < 1 [2] 3 > Последняя >>
270274// Проверим куку пользователя и наличие параметра skin в реквесте.
271275$ currentSiteSkin = (isset ($ _COOKIE ['dle_skin ' ])) ? trim (totranslit ($ _COOKIE ['dle_skin ' ], false , false )) : ((isset ($ _REQUEST ['skin ' ])) ? trim (totranslit ($ _REQUEST ['skin ' ], false , false )) : $ config ['skin ' ]);
272276
273- // Если итоге пусто — назначим опять шаблон из конфига.
277+ // Если итоге пусто — назначим опять шаблон из конфига.
274278if ($ currentSiteSkin == '' ) {
275279 $ currentSiteSkin = $ config ['skin ' ];
276280}
@@ -539,13 +543,18 @@ classic: << Первая < 1 [2] 3 > Последняя >>
539543 $ base ->cfg ['catId ' ] = 'this ' ;
540544 }
541545
546+ // Эти переменные потребуются ниже, что бы корректно сформировать имя кеша, когда переданы
547+ // &catId=this или notCatId=this
548+ $ isCatIdThis = false ;
549+ $ isNotCatIdThis = false ;
550+
542551 // Фильтрация КАТЕГОРИЙ по их ID
543552 if ($ base ->cfg ['catId ' ] == 'this ' && $ category_id ) {
544- $ base -> cfg [ ' catIdT ' ] = ' this ' ;
553+ $ isCatIdThis = true ;
545554 $ base ->cfg ['catId ' ] = ($ base ->cfg ['subcats ' ]) ? get_sub_cats ($ category_id ) : ($ base ->cfg ['thisCatOnly ' ]) ? (int )$ category_id : $ category_id ;
546555 }
547556 if ($ base ->cfg ['notCatId ' ] == 'this ' && $ category_id ) {
548- $ base -> cfg [ ' notCatIdT ' ] = ' this ' ;
557+ $ isNotCatIdThis = true ;
549558 $ base ->cfg ['notCatId ' ] = ($ base ->cfg ['notSubcats ' ]) ? get_sub_cats ($ category_id ) : ($ base ->cfg ['thisCatOnly ' ]) ? (int )$ category_id : $ category_id ;
550559 }
551560 // Дублирование кода вызвано необходимостью сочетания параметра notCatId и catId
@@ -1047,11 +1056,11 @@ classic: << Первая < 1 [2] 3 > Последняя >>
10471056 $ tplArr ['totalCount ' ] = $ totalCount ;
10481057
10491058 // Меняем для кеша id категории на this если параметр catId или notCatId равен this
1050- if ($ base -> cfg [ ' catIdT ' ] == ' this ' ) {
1051- $ base ->cfg ['catId ' ] = $ base -> cfg [ ' catIdT ' ] ;
1059+ if ($ isCatIdThis ) {
1060+ $ base ->cfg ['catId ' ] = ' this ' ;
10521061 }
1053- if ($ base -> cfg [ ' notCatIdT ' ] == ' this ' ) {
1054- $ base ->cfg ['notCatId ' ] = $ base -> cfg [ ' notCatIdT ' ] ;
1062+ if ($ isNotCatIdThis ) {
1063+ $ base ->cfg ['notCatId ' ] = ' this ' ;
10551064 }
10561065
10571066 // Формируем имя кеш-файла с конфигом
@@ -1148,6 +1157,7 @@ classic: << Первая < 1 [2] 3 > Последняя >>
11481157
11491158 unset($ stat );
11501159 }
1160+
11511161 // Создаём кеш, если требуется
11521162 if (!$ base ->cfg ['nocache ' ]) {
11531163 create_cache ($ base ->cfg ['cachePrefix ' ], $ output , $ cacheName , $ cacheSuffix );
@@ -1160,6 +1170,7 @@ classic: << Первая < 1 [2] 3 > Последняя >>
11601170/** @var $base */
11611171if ($ base ->dle_config ['files_allow ' ]) {
11621172 if (strpos ($ output , '[attachment= ' ) !== false ) {
1173+ /** @var array $attachments */
11631174 $ output = show_attach ($ output , $ attachments );
11641175 }
11651176} else {
0 commit comments