Хак DLE Hide by Day 9.x - 10.x на dle9.com, чтобы скрывать важный текст новым тегом для пользователей зарегистрированных меньше указанного времени. Обратите внимание на то, что установку нужно делать для версии дле 9.8 и ниже и 10.x и выше разными методами.
Установка хак Hide by Day [DLE 9.x - 10.x]:
Для DLE 10.0 и Выше
Открыть /engine/classes/templates.class.php найти :
if (strpos ( $this->template, "[aviable=" ) !== false) {
Выше вставить:
if (strpos ( $this->template, "[show_user=" ) !== false) {
$this->template = preg_replace_callback ( "#\\[(show_user)=(.+?)\\](.*?)\\[/show_user\\]#is", array( &$this, 'show_user'), $this->template );
}
Далее найти :
if (strpos ( $template, "[aviable=" ) !== false) {
Выше вставить :
if (strpos ( $template, "[show_user=" ) !== false) {
$template = preg_replace_callback ( "#\\[(show_user)=(.+?)\\](.*?)\\[/show_user\\]#is", array( &$this, 'show_user'), $template );
}
Далее найти :
function check_module( $matches=array() ) {
Выше вставить :
function show_user( $matches=array() ) {
global $member_id;
$show_user = $matches[2]; $block = $matches[3];
if(count(explode('|', $show_user)) > 1)
{
$show_user = explode('|', $show_user);
$show_user[0] = (int)$show_user[0];
$show_user[1] = trim(strip_tags(stripslashes($show_user[1])));
}
else
$show_user = (int)$show_user;
if ($matches[1] == "show_user") $action = true; else $action = false;
$date = langdate("Y-m-d", $member_id['reg_date']);
if( $action AND (int)$member_id['user_group'] != 5) {
if((floor((strtotime(date('Y-m-d'))-strtotime($date))/(3600*24))) <= (!empty($show_user[0]) ? $show_user[0] : $show_user)) return !empty($show_user[1]) ? $show_user[1] : '';
else return $block;
}
else
return !empty($show_user[1]) ? $show_user[1] : '';
}
Для DLE 9.8 и Ниже
Открыть /engine/classes/templates.class.php найти :
if (strpos ( $this->template, "[aviable=" ) !== false) {
Выше вставить:
if (strpos ( $this->template, "[show_user=" ) !== false) {
$this->template = preg_replace ( "#\\[show_user=(.+?)\\](.*?)\\[/show_user\\]#ies", "\$this->show_user('\\1', '\\2')", $this->template );
}
Далее найти :
if (strpos ( $template, "[aviable=" ) !== false) {
Выше вставить :
if (strpos ( $template, "[show_user=" ) !== false) {
$template = preg_replace ( "#\\[show_user=(.+?)\\](.*?)\\[/show_user\\]#ies", "\$this->show_user('\\1', '\\2')", $template );
}
Далее найти :
function check_module($aviable, $block, $action = true) {
Выше вставить :
function show_user( $show_user, $block, $action = true ) {
global $member_id;
if(count(explode('|', $show_user)) > 1)
{
$show_user = explode('|', $show_user);
$show_user[0] = (int)$show_user[0];
$show_user[1] = trim(strip_tags(stripslashes($show_user[1])));
}
else
$show_user = (int)$show_user;
$date = langdate("Y-m-d", $member_id['reg_date']);
if( $action AND (int)$member_id['user_group'] != 5) {
if((floor((strtotime(date('Y-m-d'))-strtotime($date))/(3600*24))) <= (!empty($show_user[0]) ? $show_user[0] : $show_user)) return !empty($show_user[1]) ? $show_user[1] : '';
else return $block;
}
else
return !empty($show_user[1]) ? $show_user[1] : '';
}
В любом tpl файле использовать тег [show_user=1] - где 1 сколько нужно быть зарегистрированным на сайте в днях. Так же можно сделать вывод почему нельзя видеть, просто прописав [show_user=25|Вы еще мало дней на сайте]текст[/show_user]
Название: Hide by Day
Автор: Gameer
CMS: DataLife Engine 9.x - 10.x
Скачать хаки для DLE у нас можно без регистрации, как хак Hide by Day [DLE 9.x - 10.x] по следующей ссылке
Комментарии 2