Вроде такого не увидел тут
Принцип действия. Вы напишете
Code
hide=100]текст[/hide]
те кто незареген или имеют менее 100 сообщений текст не увидят.
В персональную страницу пользователя вставляем:
Code
<div id="UserActivities" style="display:none;"><?if($_LOAD_ENTRIES$)?>$_LOAD_ENTRIES$<?else?>0<?endif?>+<?if($_COM_ENTRIES$)?>$_COM_ENTRIES$<?else?> 0<?endif?>+<?if($_FORUM_ENTRIES$)?>$_FORUM_ENTRIES$<?else?>0<?endif?>+<?if($_NEWS_ENTRIES$)?> $_NEWS_ENTRIES$<?else?>0<?endif?>+<?if($_PUBL_ENTRIES$)?>$_PUBL_ENTRIES$<?else?>0<?endif?>+<?if($_DIR_ENTRIES$)?> $_DIR_ENTRIES$<?else?>0<?endif?>+<?if($_BOARD_ENTRIES$)?>$_BOARD_ENTRIES$<?else?>0<?endif?>+<?if($_PHOTO_ENTRIES$)?> $_PHOTO_ENTRIES$<?else?>0<?endif?></div>
В Общий вид страниц форума,между :
Code
<style type="text/css">
.HiddenBlock {display: none; background: #666666; border: 1px dashed white; width: 100 %; color: black; padding: 10px 10px 10px 10px; }
</style>
После $BODY$ в общем виде страниц форума:
Code
<script>
/* © Айдар aka Pain (http://free-manga.net.ru/) */
$('.posttdMessage').each(function () {
Tmp = jQuery(this).html();
jQuery(this).html(Tmp.replace(/\[hide\=([^\[]+)]([^\[]+)\[\/hide]/ig, '<span class="NeededPoints" style="display: none; ">$1</span><div class="HiddenBlock">$2</div>'));
});
<?if($USER_LOGGED_IN$)?>$.get('/index/8', {}, function (Res) {
var MyActivities = eval($('#UserActivities', Res).html());
$('.HiddenBlock').each(function (l) {
if (parseInt($('.NeededPoints:eq(' + l + ')').html()) <= MyActivities) {
jQuery(this).show();
} else {
jQuery(this).html('Необходимо <b>' + $('.NeededPoints:eq(' + l + ')').html() + '</b> сообщений для просмотра.').show();
}
});
});<?else?>
$('.HiddenBlock').each(function (l) {
jQuery(this).html('Скрытый текст. Для просмотра необходимо зарегистрироваться и набрать <b>' + $('.NeededPoints:eq(' + l + ')').html() + '</b> сообщений.').show();
});
<?endif?>
</script>