|
189 | 189 | $cfg['cachePrefix'] = 'base'; |
190 | 190 | } |
191 | 191 |
|
192 | | -// Определяемся с шаблоном сайта |
193 | | -// Проверим куку пользователя и наличие параметра skin в реквесте. |
194 | | -$currentSiteSkin = (isset($_COOKIE['dle_skin'])) ? trim(totranslit($_COOKIE['dle_skin'], false, false)) |
195 | | - : ((isset($_REQUEST['skin'])) ? trim(totranslit($_REQUEST['skin'], false, false)) : $config['skin']); |
196 | | - |
197 | | -// Если итоге пусто — назначим опять шаблон из конфига. |
198 | | -if ($currentSiteSkin == '') { |
199 | | - $currentSiteSkin = $config['skin']; |
| 192 | +// Определяемся с правильным шаблоном сайта |
| 193 | +$currentSiteSkin = $config['skin']; |
| 194 | + |
| 195 | + |
| 196 | +if ($_REQUEST['skin']) { |
| 197 | + $_REQUEST['skin'] = $_REQUEST['dle_skin'] = trim(totranslit($_REQUEST['skin'], false, false)); |
200 | 198 | } |
201 | | -// Если парки с шаблоном нет — дальше не работаем. |
202 | | -if (!@is_dir(ROOT_DIR.'/templates/'.$currentSiteSkin)) { |
203 | | - die('no_skin'); |
| 199 | + |
| 200 | +if ($_REQUEST['dle_skin']) { |
| 201 | + $_REQUEST['dle_skin'] = trim(totranslit($_REQUEST['dle_skin'], false, false)); |
| 202 | + if ($_REQUEST['dle_skin'] AND @is_dir(ROOT_DIR.'/templates/'.$_REQUEST['dle_skin'])) { |
| 203 | + $currentSiteSkin = $_REQUEST['dle_skin']; |
| 204 | + } |
| 205 | +} elseif ($_COOKIE['dle_skin']) { |
| 206 | + $_COOKIE['dle_skin'] = trim(totranslit((string)$_COOKIE['dle_skin'], false, false)); |
| 207 | + if ($_COOKIE['dle_skin'] AND is_dir(ROOT_DIR.'/templates/'.$_COOKIE['dle_skin'])) { |
| 208 | + $currentSiteSkin = $_COOKIE['dle_skin']; |
| 209 | + } |
204 | 210 | } |
205 | 211 |
|
| 212 | + |
206 | 213 | // Формируем имя кеша |
207 | 214 | $cacheName = implode('_', $cfg).$currentSiteSkin; |
208 | 215 |
|
|
1127 | 1134 |
|
1128 | 1135 | // Результат обработки шаблона |
1129 | 1136 | try { |
1130 | | - $output = $base->tpl->fetch($base->cfg['template'].'.tpl', $tplArr); |
| 1137 | + $output = $base->tpl->fetch($base->dle_config['skin'].'/' . $base->cfg['template'].'.tpl', $tplArr); |
1131 | 1138 | } catch (Exception $e) { |
1132 | 1139 | $outputLog['errors'][] = $e->getMessage(); |
1133 | 1140 | $base->cfg['nocache'] = true; |
|
0 commit comments