Главная » Модули DLE » Модуль hide за новости

Модуль hide за новости

  • Модули DLE

Модуль hide за новости


Модуль позволяет скрыть текст от пользователей ненабравших определённо количество новостей.

Установка:

Открыть 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