
Представляем
хак для DLE 9.x - 11.x
Скрыть текст от даты регистрации, чтобы скрывать тегом тексты добавленные недавно зарегистрированным юзером.
Хак Скрываем текст от даты регистрации для datalife engine 9.x - 11.x, позволяет скрыть текст внутри специальных тегов, если пользователь был зарегистрирован недавно и меньше указанного времени в настройках.
Открыть /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] : '';
}
Открыть /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(count(explode('|', $show_user)) > 1)
{
$show_user = explode('|', $show_user);
$show_user[0] = intval($show_user[0]);
$show_user[1] = trim($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 AND $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]
Автор - (gameer name)
Поддерживает версии
datalife engine 9.6 - 11.x, а также на
dle 11.0 или
dle 11.1Обновления : 22 мая 2016
Автор - (gameer name)
Скачать хаки для dle у нас на вэб-портале, как хак DLE Скрыть текст от даты регистрации можно по следующей ссылке
Skryvaem-tekst-ot-daty-registracii-dlya-DLE-9.x-11.x.rar [1,77 Kb] (cкачиваний: 36)