Хак 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] по следующей ссылке

Hide-by-Day-DLE-9.x-10.x.rar [55,23 Kb] (cкачиваний: 41)
{rating-num}0

Комментарии (0)

Оставить комментарий

Кликните на изображение чтобы обновить код, если он неразборчив