diff --git a/CHANGELOG.md b/CHANGELOG.md
index b620109..215645a 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,8 @@
+# 6.0.3
+- Исправлено некорректное формирование переменной с текущем шаблоном сайта (#176)
+
# 6.0.2
-- Небольшой фикс ормирования URL с учётом модуля MultiLAnguage
+- Небольшой фикс формирования URL с учётом модуля MultiLAnguage
# 6.0.1
- Полностью прекращена поддержка DLE старше 13 версии.
diff --git a/blockpro.xml b/blockpro.xml
index 39ae3ee..681a1f8 100644
--- a/blockpro.xml
+++ b/blockpro.xml
@@ -3,7 +3,7 @@
BlockPro
Модуль предназначен для удобного вывода новостей на сайте
engine/skins/images/blockpro.png
- 6.0.2
+ 6.0.3
13
greater
https://updates.pafnuty.name/check-bp.php
diff --git a/engine/inc/blockpro.php b/engine/inc/blockpro.php
index a07af9f..87d44a9 100644
--- a/engine/inc/blockpro.php
+++ b/engine/inc/blockpro.php
@@ -28,7 +28,7 @@
define('MODULE_DIR', ENGINE_DIR . '/modules/base/admin/blockpro/');
$moduleName = 'blockpro';
-$moduleVersion = '6.0.2';
+$moduleVersion = '6.0.3';
$moderate = $_REQUEST['moderate'];
$moderate_checked = ($moderate) ? 'checked' : '';
diff --git a/engine/modules/base/blockpro.inc.php b/engine/modules/base/blockpro.inc.php
index 0d983d4..e7214e0 100644
--- a/engine/modules/base/blockpro.inc.php
+++ b/engine/modules/base/blockpro.inc.php
@@ -189,20 +189,27 @@
$cfg['cachePrefix'] = 'base';
}
-// Определяемся с шаблоном сайта
-// Проверим куку пользователя и наличие параметра skin в реквесте.
-$currentSiteSkin = (isset($_COOKIE['dle_skin'])) ? trim(totranslit($_COOKIE['dle_skin'], false, false))
- : ((isset($_REQUEST['skin'])) ? trim(totranslit($_REQUEST['skin'], false, false)) : $config['skin']);
-
-// Если итоге пусто — назначим опять шаблон из конфига.
-if ($currentSiteSkin == '') {
- $currentSiteSkin = $config['skin'];
+// Определяемся с правильным шаблоном сайта
+$currentSiteSkin = $config['skin'];
+
+
+if ($_REQUEST['skin']) {
+ $_REQUEST['skin'] = $_REQUEST['dle_skin'] = trim(totranslit($_REQUEST['skin'], false, false));
}
-// Если парки с шаблоном нет — дальше не работаем.
-if (!@is_dir(ROOT_DIR.'/templates/'.$currentSiteSkin)) {
- die('no_skin');
+
+if ($_REQUEST['dle_skin']) {
+ $_REQUEST['dle_skin'] = trim(totranslit($_REQUEST['dle_skin'], false, false));
+ if ($_REQUEST['dle_skin'] AND @is_dir(ROOT_DIR.'/templates/'.$_REQUEST['dle_skin'])) {
+ $currentSiteSkin = $_REQUEST['dle_skin'];
+ }
+} elseif ($_COOKIE['dle_skin']) {
+ $_COOKIE['dle_skin'] = trim(totranslit((string)$_COOKIE['dle_skin'], false, false));
+ if ($_COOKIE['dle_skin'] AND is_dir(ROOT_DIR.'/templates/'.$_COOKIE['dle_skin'])) {
+ $currentSiteSkin = $_COOKIE['dle_skin'];
+ }
}
+
// Формируем имя кеша
$cacheName = implode('_', $cfg).$currentSiteSkin;
@@ -1127,7 +1134,7 @@
// Результат обработки шаблона
try {
- $output = $base->tpl->fetch($base->cfg['template'].'.tpl', $tplArr);
+ $output = $base->tpl->fetch($base->dle_config['skin'].'/' . $base->cfg['template'].'.tpl', $tplArr);
} catch (Exception $e) {
$outputLog['errors'][] = $e->getMessage();
$base->cfg['nocache'] = true;
diff --git a/engine/modules/base/core/base.php b/engine/modules/base/core/base.php
index e641b54..eab6268 100644
--- a/engine/modules/base/core/base.php
+++ b/engine/modules/base/core/base.php
@@ -83,8 +83,7 @@ public static function getDb() {
}
public function getTemplater($tplOptions) {
- $this->tpl = Fenom::factory(ROOT_DIR.'/templates/'.$this->dle_config['skin'].'/', ENGINE_DIR.'/cache/',
- $tplOptions);
+ $this->tpl = Fenom::factory(ROOT_DIR.'/templates/', ENGINE_DIR.'/cache/', $tplOptions);
// Добавляем модификаторы
$this->addModifiers();
}