Запрет доступа в определенные темы, кроме указанных пользователей
Запрещает ВСЕМ, кроме заданных пользователей, посещать определенный список топиков.
Автор: Alex_63
Платформа: MyBB
В HTML верх
<!--Запрет доступа в определенные темы-->
<style id="hide-01234">.main{display:none}</style>
<script type="text/javascript">
(function() {
// ID темы //ID пользователей с допуском к теме
hideTopic(38,[3,4,15]); //строку размножаем для нужных тем и юзеровfunction hideTopic(tid,UserLst){function s(){$('#hide-01234').replaceWith('');};
var tst=false,reg=/id=(\d+)$/;if($('#pun-searchposts').length){tst=true;s();}
if($('#pun-viewtopic').length&&+$('link[rel="alternate"]')[0].href.match(/id=(\d+)$/)[1]==tid&&UserLst.indexOf(UserID)==-1)tst=true;
if($('#pun-post').length&&+$('link[rel="up"]')[0].href.match(reg)[1]==tid&&UserLst.indexOf(UserID)==-1)tst=true;
if(tst)$(document).ready(function(){clearInterval(window.MYBB_bindVideoScriptITV);
if($('#pun-searchposts').length){$('.post').has('h3 a[href$="topic.php?id='+tid+'"]').hide();return}
var h2='<h2><span>Информация</span></h2>',cr=' » <a href="/">'+$('#pun-title h1').text()+'</a> » Информация';
var text=h2+'<div class=info><div class=container>Вы не имеете прав для доступа к этой странице.</div></div>';
document.title=$('#pun-title h1').text();$('#pun-main').html(text);s();$('.crumbs').html(cr);
}); else s()
};
}())
</script>
Допуск в тему/форум пользователей по списку
с проверкой доступа в поиске
Запрещает просмотр заданных разделов и тем всем, кроме указанных пользователей.
Автор: Deff
Платформа: MyBB
Поскольку попросили добавить в скрипт Допуск в Тему или форум определенной группы лиц строго по Списку скрытие не только непосредственно в форуме или теме, но так же и в поиске тем и сообщений, - сваял такой вариант:
В HTML верх (не в HTML низ!)
<!-- Допуск в форум/тему по списку -->
<script type="text/javascript">
setAccess('Название форума или темы', [ 'Ник_1', 'Ник_2', 'Ник_3' ]);
setAccess('Название форума или темы', [ 'Ник_1', 'Ник_2', 'Ник_3' ]);function setAccess(title, usersList) {
var u = window.UserLogin || '';
$().pun_mainReady(function(){
if ($('#pun-searchposts,#pun-searchtopics').length) $('.post,.main table tbody tr').each(function() {
var ttl = $(this).find('h3 span').text() || $(this).find('.tc2').text() + $(this).find('.tcl').text();
if (ttl.indexOf(title) != -1 && usersList.indexOf(u) == -1) $(this).remove()
});
if (!($('.crumbs').text().indexOf(title) != -1 && usersList.indexOf(u) == -1)) return;
var s = 'Информация',s1 =$('#pun-title h1>span').text(); document.title = s1;
var s2 = 'Вы не имеете прав для доступа к этой странице.';
var L=' » <a href="/">' + s1 + '</a> » ' + s; $('.crumbs').html(L);
$('#pun-main').html('<h1><span>' + s + '</span></h1><div class=info><div class=container>' + s2 + '</div></div>');
$().pun_aboutReady(function(){$('#pun-crumbs2>.crumbs').html(L);});
});
};
</script>
Строки жирным - размножаем для нужных форумов/тем и пользователей (вместо красного пишем свои данные)