Скрытие текста от даты регистрации

Скрытие текста от даты регистрации

Хак поможет внедрить тег, с помощью которого можно скрывать текст, если пользователь зарегистрирован на сайте меньше определённого количества дней.


Установка:
1. Открыть 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;
	
	if ($member_id['user_group'] == 5)
		return;

	$show_user = $matches[2];
	$block = $matches[3];
	
	if (substr_count($show_user, '|') > 0) {
        $show_user = explode('|', $show_user);
        $show_user[0] = intval($show_user[0]);
        $show_user[1] = trim(strip_tags(stripslashes($show_user[1])));
    }
    else
        $show_user = intval($show_user);

	if($matches[1] == "show_user")
		$action = true;
	else
		$action = false;
		
	$date = langdate("Y-m-d", $member_id['reg_date']);

	if ($action && $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]любой текст[/show_user]

Где 1 - сколько нужно быть зарегистрированным на сайте в днях.

Если нужно вывести, почему нельзя видеть скрытый текст, то следует использовать такую конструкцию:
[show_user=25|Вы еще мало дней на сайте]текст[/show_user]
 
Версия DLE: 13.0-14.х
Автор: PunPun
Источник
Информация
Посетители, находящиеся в группе Гость, не могут оставлять комментарии к данной публикации.