Модуль hide за новости
- Модули DLE
Модуль позволяет скрыть текст от пользователей ненабравших определённо количество новостей.
Установка:
Открыть engine/modules/functions.php
найти:
if(!defined('DATALIFEENGINE'))
{
die("Hacking attempt!");
}
ниже вставить:
function news_protect ( $news_num = 0, $text = "" )
{ global $is_logged, $member_id;
if ( $is_logged ){
$unews = intval( $member_id['news_num'] );
$news_need = intval( $news_num );
if ( $unews >= $news_need ) {
return $text;
} else {
$error ="<div class=\"quote\">Для просмотра скрытого текста необходимо опубликовать <b>" . $news_need . "</b> новостей. <br />
Вы опубликовали <b>" .$unews. "</b> ( ещё " .($news_need-$unews). " )</div>";
return $error;
} }else {
$error = "<div class=\"quote\">Для просмотра скрытого текста необходимо зарегистрироваться</div>";
return $error; }}
Открыть engine/modules/show.short.php
найти:
else $tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","<div class=\"quote\">".$lang['news_regus']."</div>");
ниже вставить:
$tpl->set_block("#\[hide_(.*?)\](.*?)\[/hide\]#ies", 'news_protect( $1 , "$2" )');
engine/modules/show.full.php
найти:
$tpl->copy_template = str_replace("[xfvalue_{$preg_safe_name}]", stripslashes($xfieldsdata[$value[0]]), $tpl->copy_template);
}
}
ниже вставить:
$tpl->set_block("#\[hide_(.*?)\](.*?)\[/hide\]#ies", 'news_protect( $1 , "$2" )');
далее найти:
$tpl->set('{group-name}', $user_group[$row['user_group']]['group_name']);
ниже вставить:
$tpl->set_block("#\[hide_(.*?)\](.*?)\[/hide\]#ies", 'news_protect( $1 , "$2" )');
Открыть engine/ajax/addcomments.php
найти:
else $tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","<div class=\"quote\">".$lang['news_regus']."</div>");
ниже вставить:
$tpl->set_block("#\[hide_(.*?)\](.*?)\[/hide\]#ies", 'news_protect( $1 , "$2" )');
Открыть engine/ajax/editcomments.php
найти:
$comm_txt = preg_replace ("'\[hide\](.*?)\[/hide\]'si","\\1", $comm_txt);
ниже вставить:
$comm_txt = preg_replace("#\[hide_(.*?)\](.*?)\[/hide\]#ies", 'news_protect( $1 , "$2" )', $comm_txt);
Открыть engine/ajax/editnews.php
найти:
if ($config['files_allow'] == "yes")
if ( strpos( $news_txt, "[attachment=" ) !== false)
{
$news_txt = show_attach($news_txt, $id);
}
ниже вставить:
$news_txt = preg_replace("#\[hide_(.*?)\](.*?)\[/hide\]#ies", 'news_protect( $1 , "$2" )', $news_txt);
Как пользоваться?
[hide_N]Текст который будет виден пользователем у которых кол-во новостей > N[/hide]
Автор: переделка модуля Hamer-а
"Скрытый текст за комментарии" неизвестным автором
Стоимость: Бесплатно
Источник: cmska.org.ua
Ключевые слова по теме Модуль hide за новости: Модуль DLE, hide, новости, DataLife Engine, DLE