
Хак dle будет полезен для защиты информации ( скрытии ее от пользователей в шаблонах на определенных страницах). Работает по аналогии с [aviable= и [category=, но основывается на страницах навигации. Если у вас много хорошей информации на нескольких страницах, и вам крайне важно чтобы её не копировали на других сайтах, то этот хак для dle поможет вам её сохранить.
..
вывод информации на указанных страницах навигации
[not-page=x]...[/not-page]
вывод информации на всех страницах навигации кроме указанных
где x: 1|3|5|6|7|20 - перечисляем номера страниц;
1-50 - указываем диапазон страниц;
Например если вы хотите чтобы информация выводилась только на 5й странице пишем:
Текст выводимый на 5й странице
Чтобы выводилась только на главной, везде кроме первых 3 страниц:
[aviable=main][not-page=1-3]тут выводимый текст[/not-page][/aviable]
Установка:
Открыть файл /engine/classes/templates.class.php
Найти строку:
$this->template = file_get_contents( $this->dir . DIRECTORY_SEPARATOR . $tpl_name );После нее вставить: if (strpos ( $this->template, "(.*?)#ies", "$this->check_page('1', '2')", $this->template ); if (strpos ( $this->template, "[not-page=" ) !== false) $this->template = preg_replace ( "#[not-page=(.+?)](.*?)[/not-page]#ies", "$this->check_page('1', '2', false)", $this->template );
Найти строку:
$template = file_get_contents( $this->dir . DIRECTORY_SEPARATOR . $tpl_name );После нее вставить: if (strpos ( $template, "(.*?)#ies", "$this->check_page('1', '2')", $template ); if (strpos ( $template, "[not-page=" ) !== false) $template = preg_replace ( "#[not-page=(.+?)](.*?)[/not-page]#ies", "$this->check_page('1', '2', false)", $template );
Найти строку:
function check_module($aviable, $block, $action = true) {
ПЕРЕД ней вставить:
function check_page($pages, $block, $action = true) { $cstart = intval($_GET['cstart']); if($cstart<1) $cstart=1; if(strpos($pages, "-") !== false){ $pages_arr = explode( '-', $pages ); $pages = array(); for($i=$pages_arr[0];$i<=$pages_arr[1];$i++) $pages[] = $i; }else $pages = explode( '|', $pages ); $block = str_replace( '"', '"', $block ); if( $action ) { if( ! (in_array( $cstart, $pages )) ) return ""; else return $block; } else { if( (in_array( $cstart, $pages )) ) return ""; else return $block; } }
Хак DLE скрытие информации на страницах сайта
Версия dle: старше 7.5 - 92, 93, 94
С Уважением,
Олег Александрович a.k.a Sander
На случай, если всеядный парсер съел слеши или кавычки
Наш dle9.com советуем скачать DLE хак скрытие информации на страницах сайта