Готовые решения по администрированию форума
|
Форум технической поддержки сервиса bloomix |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Форум технической поддержки сервиса bloomix » Готовые решения для форума » Администрирование
Готовые решения по администрированию форума
|
Видимое сразу для Админов - модеров IP гостя

В HTML - низ:
<!-- IP гостя -->
<style type="text/css">
#pun-online .tcl .wink {
border: 1px solid #999;
border-radius: 3px;
font: normal 11px Tahoma;
color:#000; /* цвет */
padding: 5px 5px 5px 25px;
box-shadow: 3px 3px 3px -2px rgba(0,0,0,0.5);
background: #ffffed url('http://spb-piksel.ru/20x20-Info.png') 2px center no-repeat;
}
</style>
<script type="text/javascript">
$('#pun-online .tcl a[title]').each(function() {
var a=$(this)[0].title;$(this).after(' <span class="wink">'+a+'</span>')
});
</script><!--//End = IP гостя -->Имеется конфликт со скриптом "Вывод опросов на главной"
если он в наличии, - оставляем наиболее необходимый их этих скриптов на данный момент.
Добавка к скрипту "Видимое сразу для Админов - модеров IP гостя
(при наведении получаем инфу о геоположении)

Ниже скрипта "Видимое сразу для Админов - модеров IP гостя"
Добавляем Еще две строчки:
<link rel="stylesheet" type="text/css" href="http://forumstatic.ru/files/0010/b4/f8/22491.css"/> <script type="text/javascript" src="http://forumstatic.ru/files/0010/b4/f8/19707.js"></script>
Возможно потребуется корректировка положения ин-фы во всплываюшем окне
Для этого ниже ставим код:
<style>
.infoIp .wrp iframe {
margin-top:-420px!important;
}
</style>
Цифру - регулируем, увеличение цифры- понимает инфу.
Удобное Открытие/закрытие и выделение/снятие выделения тем аяксом
Благодаря скрипту можно быстро открывать, закрывать и выделять, снимать выделение тем, нажимая на кнопочки возле названий тем в форуме.

В HTML - низ:
<style>
img.mod_topic {
cursor:pointer;
}
</style>
<script type="text/javascript">
var tnum= 0;
var mod_topic = [];
mod_topic[0]= ['dafDw.png','stick','Выделить'];
mod_topic[1]= ['wDvgx.png','unstick','Снять выделение'];
mod_topic[2]= ['dsnFu.png','open','Открыть'];
mod_topic[3]= ['twBuH.png','close','Закрыть'];
function ModTopic(it,rt,tt){return (' <img src="http://s2.uploads.ru/'+it+'" class="mod_topic" rel="'+rt+'" title="'+tt+'" /> ')};
function GetModTopic(th,tn,tr,tnp,tnr,tnt){
$.get('/moderate.php?fid='+tn+ '&'+tr+'='+tn);
// alert(tnp+'#'+tnr+'#'+tnt);
$(th).attr({'src':'http://s2.uploads.ru/'+tnp}).attr({'rel':tnr}).attr({'title':tnt});
if(tnr=='unstick') {
$(th).parent().find('span.acchide:first').after('<span class="stickytext">Важно: </span>');
$(th).parents('tr').attr({'class':'isticky'});
}
if(tnr=='open') {
$(th).parent().find('span.acchide:first').after('<span class="closedatafield">Закрыта </span>');
$(th).parents('tr').attr({'class':'iclosed'});
}
if(tnr=='stick') {
$(th).parent().find('span.stickytext').remove();
$(th).parents('tr').attr({'class':''});
}
if(tnr=='close') {
$(th).parent().find('span.closedatafield').remove();
$(th).parents('tr').attr({'class':''});
}
};
if (document.URL.indexOf('viewforum.php') != -1 && GroupID <= 2){
var fnum=$('div.forum[id^=forum_f]').attr('id').replace('forum_f','');
$('div.forum div.tclcon').each(function(){
if($(this).html().indexOf('closedatafield')!=-1) $(this).append(ModTopic(mod_topic[2][0],mod_topic[2][1],mod_topic[2][2]));
else $(this).append(ModTopic(mod_topic[3][0],mod_topic[3][1],mod_topic[3][2]));
if($(this).html().indexOf('stickytext')!=-1) $(this).append(ModTopic(mod_topic[1][0],mod_topic[1][1],mod_topic[1][2]));
else $(this).append(ModTopic(mod_topic[0][0],mod_topic[0][1],mod_topic[0][2]));
});
$("img.mod_topic").live("click", function(){
tnum=$(this).parent().find('a').attr('href').replace('http://'+document.domain+'/viewtopic.php?id=','');
var threl=$(this).attr('rel');
if(threl=='stick') GetModTopic(this,tnum,threl,mod_topic[1][0],mod_topic[1][1],mod_topic[1][2]);
if(threl=='unstick') GetModTopic(this,tnum,threl,mod_topic[0][0],mod_topic[0][1],mod_topic[0][2]);
if(threl=='open') GetModTopic(this,tnum,threl,mod_topic[3][0],mod_topic[3][1],mod_topic[3][2]);
if(threl=='close') GetModTopic(this,tnum,threl,mod_topic[2][0],mod_topic[2][1],mod_topic[2][2]);
});
}
</script>Запрет редактировать свой профиль определённой группе пользователей. rps
В HTML - верх или без тегов "style" в свой стиль:
<style type="text/css">
#pun-profile input, #pun-changepass input, #pun-upavatar input {
display: none;
}
</style>В HTML - низ:
<script type="text/javascript">
function disabled_profile(g_id) {
$('input').show();
if( GroupID == g_id )
{
$('input[type=submit]').attr('disabled', true);
var text = $('.formsubmit').html().replace(/После обновления профиля, вы будете перенаправлены назад на эту страницу./, "<span style='color: red;'>Администратор форума запретил Вам изменять профиль.</span>");
$('.formsubmit').html(text);
}
}if (document.URL.indexOf("profile.php") != -1) disabled_profile("1");
</script>
Выделенное красным - номер группы пользователей, которые не смогут менять свои профили.
Создание списка запрещённых к регистрации логинов. rps
В HTML - верх:
<style type="text/css">
#pun-register .button {
display: none;
}
#inform_mess {
position: absolute;
z-index: 1000;
padding: 5px;
width: 400px;
margin-left: 200px;
margin-top: -22px;
}
</style>В HTML - низ:
<script type="text/javascript">
var fld_1 = document.getElementById("fld1");
function check_login() {
var f1_value; var rule; var fld_1;
var censored_login = new Array("Login_1", "Login_2", "Login_3");
fld_1 = document.getElementById("fld1");
f1_value = fld_1.value;
if (f1_value != "") {
rule = new RegExp(censored_login.join('|'), "i");
if (rule.test(f1_value)) create_inform_mess("bad");
else if (f1_value.length < 2) create_inform_mess("small");
else create_inform_mess("good");
}
}
function create_inform_mess(y) {
var div = document.getElementById('inform_mess');
var registration = document.getElementById("register").getElementsByTagName("input")[8];
if (!div) {
div = document.createElement("div");
div.id = "inform_mess";
document.getElementById("fld1").parentNode.appendChild(div);
}
if (y == "bad") {
div.innerHTML = "Такое имя пользователя недопустимо, выберите другой вариант.";
div.style.backgroundColor = "#ff6a6a";
document.getElementById("fld1").style.background = "#ff6a6a none";
registration.style.display = "none";
}
else if (y == "good") {
div.innerHTML = "Такое имя пользователя разрешено к регистрации.";
div.style.backgroundColor = "#66cdaa";
document.getElementById("fld1").style.background = "#66cdaa none";
registration.style.display = "block";
}
else if (y == "small") {
div.innerHTML = "Имя пользователя не должно быть короче 2 символов.";
div.style.backgroundColor = "#ff6a6a";
document.getElementById("fld1").style.background = "#ff6a6a none";
registration.style.display = "none";
}
}
if (document.URL.indexOf("register.php") != -1) {
fld_1.onkeyup = fld_1.onkeydown = fld_1.onfocus = fld_1.onblur = check_login;
}
</script>Предназначено для тех, кто хочет запретить употребление в никнеймах пользователей отдельные слова или словосочетания. Их нужно прописать в эту строчку:
var censored_login = new Array("Login_1", "Login_2", "Login_3");
Различается три варианта: логин содержит запрещённые к регистрации слова, логин разрешён к регистрации и логин слишком короткий (содержит менее 2-ух символов). Цветовая индикация и подсказки помогут ориентироваться. Встроена защита от отключения JavaScript: кнопка "Регистрация" появится только после ввода корректного логина.
Поисковые боты на главной странице
ни для кого не секрет, что поисковые боты присутствуют на наших форумах в качестве гостей,
принцип "отлова" ботов такой
у Яндекс бота диапазон ip - 95.108.xxx.xxx
у Гугла диапазон - 66.249.xxx.xxx (если я ошибаюсь, поправьте)
и т.д.
в целом в списке боты всех популярных поисковиков и служб, которые проверенно заглядывают на форумы нашего сервиса
я попробовал отобразить на главной странице их присутствие, получилось,
но правда в таком варианте их видят только админы (может быть ещё и модеры, не проверял)
В HTML - низ:
<!-- Поисковые боты (расширенный список)-->
<script type="text/javascript">
$.ajax({type: 'GET',url: 'online.php',
success: function(data){
$(data).find('div#pun-online td.tcl:first-child').map(function () {
var OnlineIP=$(this).find('a').attr('title');
if(OnlineIP.indexOf('95.108.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yandex[bot]</a>')};
if(OnlineIP.indexOf('77.88.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yandex[bot]</a>')};
if(OnlineIP.indexOf('93.158.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yandex[bot]</a>')};
if(OnlineIP.indexOf('66.249.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Google[bot]</a>')};
if(OnlineIP.indexOf('94.100.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Mail[bot]</a>')};
if(OnlineIP.indexOf('217.69.134.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Mail[bot]</a>')};
if(OnlineIP.indexOf('217.69.136.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Mail[bot]</a>')};
if(OnlineIP.indexOf('81.19.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Rambler[bot]</a>')};
if(OnlineIP.indexOf('67.195.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yahoo![bot]</a>')};
if(OnlineIP.indexOf('72.30.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yahoo![bot]</a>')};
if(OnlineIP.indexOf('74.6.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yahoo![bot]</a>')};
if(OnlineIP.indexOf('202.160.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Yahoo![bot]</a>')};
if(OnlineIP.indexOf('207.46.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Bing[bot]</a>')};
if(OnlineIP.indexOf('66.235.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Ask[bot]</a>')};
if(OnlineIP.indexOf('65.52.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Bing[bot]</a>')};
if(OnlineIP.indexOf('65.55.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Bing[bot]</a>')};
if(OnlineIP.indexOf('157.55.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Bing[bot]</a>')};
if(OnlineIP.indexOf('119.63.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Baidu[bot]</a>')};
if(OnlineIP.indexOf('220.181.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Baidu[bot]</a>')};
if(OnlineIP.indexOf('123.125.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Baidu[bot]</a>')};
if(OnlineIP.indexOf('208.115.111.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Ezooms[bot]</a>')};
if(OnlineIP.indexOf('194.67.') != -1) {$('li#onlinelist.item5 span:first').append('<a href="/online.php" class="bot" title="'+OnlineIP+'"> , Aport[bot]</a>')};
$('a.bot').css({'color':'#9E8DA7','text-decoration':'none'});
}); } });
$('div#pun-online td.tcl a:contains("Гость")').map(function () {
OnIP=$(this).attr('title');
if(OnIP.indexOf('95.108.') != -1) {$(this).html('Yandex[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('77.88.') != -1) {$(this).html('Yandex[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('93.158.') != -1) {$(this).html('Yandex[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('66.249.') != -1) {$(this).html('Google[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('94.100.') != -1) {$(this).html('Mail[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('217.69.134.') != -1) {$(this).html('Mail[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('217.69.136.') != -1) {$(this).html('Mail[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('81.19.') != -1) {$(this).html('Rambler[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('67.195.') != -1) {$(this).html('Yahoo![bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('72.30.') != -1) {$(this).html('Yahoo![bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('74.6.') != -1) {$(this).html('Yahoo![bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('202.160.') != -1) {$(this).html('Yahoo![bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('207.46.') != -1) {$(this).html('Bing[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('65.52.') != -1) {$(this).html('Bing[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('65.55.') != -1) {$(this).html('Bing[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('157.55.') != -1) {$(this).html('Bing[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('119.63.') != -1) {$(this).html('Baidu[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('123.125.') != -1) {$(this).html('Baidu[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('220.181.') != -1) {$(this).html('Baidu[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('66.235.') != -1) {$(this).html('Ask[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('208.115.111.') != -1) {$(this).html('Ezooms[bot]').css('color','#9E8DA7')};
if(OnIP.indexOf('194.67.') != -1) {$(this).html('Aport[bot]').css('color','#9E8DA7')};});
</script>нажав на бота, можно посмотреть чем он занимается на форуме.
[реклама вместо картинки]
Автор: Romych
спасибо Caligula за активное тестирование скрипта и за помощь в расширении списка поддерживаемых ботов!
Поисковые Боты , с упрощенным добавления Новых IP и Ботов
В HTML - низ:
<!-- Поисковые боты (расширенный список)-->
<div class=botlist style='display:none'>
<p>Yandex,#9E8DA7,95.108.,77.88.,93.158.</p>
<p>Google,#9E8DA7,66.249.</p>
<p>Mail,#9E8DA7,94.100.,217.69.134.,217.69.136.</p>
<p>Rambler,#9E8DA7,81.19.</p>
<p>Yahoo!,#9E8DA7,67.195.,72.30.,74.6.,202.160.</p>
<p>Bing,#9E8DA7,207.46.,65.52.,65.55.,157.55.</p>
<p>Baidu,#9E8DA7,119.63.,123.125.,220.181.</p>
<p>Ask,#9E8DA7,66.235.</p>
<p>Ezooms,#9E8DA7,208.115.111.</p>
<p>Aport,#9E8DA7,194.67.</p>
</div><script>var L0=$("#navlogout").html(),L=$(".punbb").attr("id");if((L0!=null)&&(GroupID<3)&&(L=="pun-index"||L=="pun-online")){var Botlist={},L=[];$(".botlist p").each(function(j){L[j]=$(this).text().split(",");Botlist[L[j][0]]=L[j]});$.ajax({type:'GET',url:'online.php',success:function(data){$(data).find('div#pun-online td.tcl:first-child').map(function(){var OnlineIP=$(this).find('a').attr('title');Str='<a href="/online.php" class="bot" title="';for(var key in Botlist){for(i=2;i<Botlist[key].length;i++){var pattern="^"+Botlist[key][i],regexp=new RegExp(pattern,"ig");if(OnlineIP.search(regexp)!=-1){var L=Str+OnlineIP+'"><span style="color:'+Botlist[key][1]+';" > , '+Botlist[key][0]+'[bot]</span></a>';$('li#onlinelist.item5 span:first').append(L);}}}})}});$('div#pun-online td.tcl a:contains("Гость")').map(function(){OnIP=$(this).attr('title');for(var key in Botlist){for(i=2;i<Botlist[key].length;i++){var pattern="^"+Botlist[key][i],regexp=new RegExp(pattern,"ig");if(OnIP.search(regexp)!=-1){$(this).html(Botlist[key][0]+'[bot]').css({'color':Botlist[key][1]})}}}})}</script>
Кстать должен исчезнуть трабл - с массовостью сидения в "Смотрит список активных пользователей".
Закрытие Доступа к форуму гостям, кроме некоторых категорий и форумов
Иногда возникает задача перекрыть доступ незарегистрированным пользователям, но так, чтобы отражалась статистика последних сообщений в скрытых форумах и была возможность, в этих форумах, индексировать контент ботам поисковиков...Стандартное скрытие через настройки форума - не даёт этой возможности, вот попытка сделать это скриптом.
В HTML - низ:
<!--Закрытие Доступа гостям, кроме некоторых категорий и форумов -->
<div id="ListForumsAndCategor" style="display:none">
<p id=ONcategor><!-- ОТКРЫТЫЕ КАТЕГОРИИ -->
<i>Только для (!)НЕzZzАRЕГИСТРИРОВАHNЫХ пользователей</i>
<i>PR и ПРОДВИЖЕНИЕ</i>
<i>ДОБРО ПОЖАЛОВАТЬ!</i>
</p>
<p id=ONforums><!-- ОТКРЫТЫЕ ФОРУМЫ -->
<a href="http://mjacksoninfo.userforum.ru/viewforum.php?id=107">Открывающиеся ВОЗМОЖНОСТИ ФОРУМА</a>
<a href="http://mjacksoninfo.userforum.ru/viewforum.php?id=102">МЫ в СЕТИ</a>
<a href="http://mjacksoninfo.userforum.ru/viewforum.php?id=95">ДОБРО ПОЖАЛОВАТЬ!</a>
<a href="http://mjacksoninfo.userforum.ru/viewforum.php?id=32">ОБСУЖДАЕМ</a>
</p>
<p id=TextFromGuest><!-- ТЕКСТ ИЗВЕЩЕНИЯ ДЛЯ ГОСТЯ -->
<span style="padding:3px 3px 3px 20px;background-color:#FFF081;display:block"><span style="text-decoration: blink;color:red;">У Вас нет прав доступа к данной странице.</span><br> Зарегистрируйтесь, и Вам откроется энциклопедия жизни и творчества короля Музыки - Майкла Джексона: 21000 сообщений, 1500 тем</span>
</p></div><script type="text/javascript">var Dostyp=true,textguest=$("#TextFromGuest").html();Guest=$("#navlogin").html()!=null,IndexPage=$(".punbb").attr("id")=="pun-index",Topic=$(".punbb").attr("id")=="pun-viewtopic",Forum=$(".punbb").attr("id")=="pun-viewforum";if(Guest&&IndexPage){var ListCategor=[];$("#ONcategor i").each(function(j){ListCategor[j]=$(this).text()});$("#pun-main .category h2 span").not("[class]").each(function(){var Lcat=$(this).parents(".category");Lcat.addClass("Hide");for(var i in ListCategor){if(ListCategor[i]==$(this).text()){Lcat.removeClass("Hide");Lcat.addClass("Nohide");ListCategor.splice(i,1);break;}}});$("#pun-main .category.Hide").hide()};if(Guest&&(Topic||Forum)){var Fid=$("html head:first link[rel='up']");var FidRSS=$("html head:first link[rel='alternate']");if(Fid.html()!=null){Fid=Fid.attr("href")}else{Fid=FidRSS.attr("href").replace(/export\.php\?type=rss&f/img,'viewforum.php?')}Dostyp=false;$("#ONforums a").each(function(j){if($(this).attr("href")==Fid){Dostyp=true}})};if(!Dostyp){document.getElementById("pun-main").innerHTML="<div id=\"pun-main\" class=\"main\" style=\"margin-top: -25px!important;\"><h1><span>Информация</span></h1><div class=\"info\"><div class=\"container\">"+textguest+"</div></div></div>"}</script><!-- End// Закрытие Доступа гостям -->
Cиним в тегах <i> прописываем названия нескрываемых категорий;
Красным - адреса ссылок и названия нескрываемых форумов.
Зеленым - HTML-контент вашего сообщения( или просто текст)
Скрипт скрытого присутствия на форуме
Пояснения:
Для работы скрипта необходимо заполнить строку-функцию для конкретного юзера и вставить в скрипт.
Пример:
UserOff(1,"Сегодня 14:03:27",22787, "Deff")
Первая цифра синим - скрытие включено или выключено - 1 - включено - 0 - выключено
Красным - якобы дата-время последнего присутствия( *думалось, в принципе, сделать список-массив из 20-30 значений рандомно перебирать его в зависимости от текущего дня месяца - пока оставил так, - вручную
Зеленым -id юзера - (можно подсмотреть при клике на профиль в Адресном окне браузера, -> это цифра,- идущая после id=
И последнее, розовым - Ник.
Строку подобную этой (синим):
UserOff(1,"Сегодня 15:15:04",14444, "rps")
Можно размножать для нескольких пользователей, не особо увлекаясь количеством, - скрипт достаточно длинный, для каждого НИка, прокручивается несколько этапов (Если скрываем только одного юзера - оставляем только одну строку - с вышеуказанными данными, - именно для него.
<script type="text/javascript"><!-- Cкрипт Скрытия Присутствия -->
var first = true;
$(document).ready(function(){
UserOff(1,"Сегодня 15:15:04",14444, "rps")
UserOff(1,"Сегодня 14:03:27",22787, "Deff")
function UserOff(off,last_visit,IDUser,NIK){
if(off!==0) {
var t9="Последний визит:<br/>"
var p =",",p2='<span class=pt>,</span>'
var s;
var ss0=0;
var ss000;
var NIKprov = "/profile.php?id="+IDUser;
function removeNicKandZpt(selekt){
var Changes=false;
if(first){first = false;
selekt.html(selekt.html().substring(0).replace(/,/img,p2));}
selekt.find("a[href$='"+NIKprov+"']").each(function(){Changes=true;
$(this).next('span.pt').remove();$(this).remove();
var ptlast = selekt.find('a:last').next('span.pt');
if(ptlast.length)ptlast.remove()
}); return Changes;
}
// Проверяем на Главной
selekt=$("#pun-index #onlinelist>div a[title$='кто чем занимается на форуме.']").parent()
ss0=selekt.html()
if (ss0!==null){//Ищем и убираем Ник и запятушку
if(removeNicKandZpt(selekt)){
ss0=selekt.find("strong:eq(1)").html();//alert(ss0)
s=ss0-1; // Уменьшаем кол-во пользователей
selekt.find("strong:eq(1)").html(s)
}} // конец проверки на Главной
//Проверка в Топике
var ss = "Тему просматривают"
selekt=$("#pun-viewtopic div.modmenu p.container:contains('"+ss+"')")
ss0=selekt.html();
if (ss0!==null){ //Ищем и убираем Ник и запятушку
if(removeNicKandZpt(selekt)){ss000=selekt.html();
for(var i=0;i<ss000.length;i++){
if (ss000.substring(0,i).indexOf("Пользователей: ")!=-1){ //Ищем на стр. кол-во Пользователей
var j=i;
break;}}
for(var i=j;i<ss000.length;i++){
if (ss000.substring(j,i).indexOf(")")!=-1){
var y=i;
break;}}
s=ss000.substring(j,y-1)-1
ss000=ss000.substring(0,j)+s+ss000.substring(y-1)
ss0=selekt.html(ss000); //Вставили измененую строку юзеров внизу Tопика
}}; // конец проверки строки присутствия в топике
//проверки активности Аватара в топике
ss0=$("#pun-viewtopic li.pl-email a[href$='"+NIKprov+"'],#pun-messages li.pa-author a[href$='"+NIKprov+"']").parents("div.container").find("div.post-author.online ul").html()
if (ss0!==null){
$("li.pl-email a[href$='"+NIKprov+"'],#pun-messages li.pa-author a[href$='"+NIKprov+"']").parents("div.container").find("div.post-author.online ul").each(function(i){
$(this).find("li.pa-online").addClass("pa-last-visit").removeClass("pa-online").html(t9+last_visit)
$(this).parent("div.post-author.online").removeClass("online")
});
}// конец -проверки активности Аввы в топике
// Проверка и cкрытие при просмотре: ссылки(с главной) "Активны"
ss0=$("#pun-online td.tcl a[href$='"+NIKprov+"']").parent("td.tcl").parent("tr").hide()
}
}
});
</script><!-- End//Cкрытие Присутствия -->Дополнения: - Если Мы хотим, чтобы скрипт работал корректно совместно со скриптами "Картинки Оффлайн - Онлайн" и скриптом скрытия - развертывания Инфы под Аватаром - Скрипт должен стоять Выше этих скриптов
*Ставим его или в самый низ HTML верх или в самый верх HTML низ, обязательно чтобы он был выше скрипта последние 10/20 сообщений (иначе кол-во ников - может меняется прямо на глазах у изумлённого юзера.
Скрипт открытой на запись, но закрытой для чтения всеми темы.
К примеру:
"ЖАЛОБЫ И ПРЕТЕНЗИИ К АДМИНИСТРАЦИИ"
кроме Глав.админа, - всем доступна только запись в тему, без возможности прочитать сообщения.
В HTML - верх:
<!--Тема со скрытым от всех контентом, с возможностью написания сообщений--><style id="offtopic2" type="text/css">.post,.pagelink a{display:none}</style>
<script type="text/javascript">var s=document.URL;if(GroupID==3){UserID= -1};
var id_topic=433; // id ТЕМЫ /число после "id=" при клике на Тему в адресном окне браузера
if((UserID==2)||(s.indexOf("viewtopic.php?id="+id_topic)==-1)&&(s.indexOf("edit.php?id="+id_topic)==-1)&&(s.indexOf("post.php?tid="+id_topic)==-1)&&(s.indexOf("search.php?search_id")==-1)){$("style.#offtopic2").replaceWith("");}
</script><!--Конец скрытия Темы-->
Красным: id темы.
Снабжаем форум защитой от отключения ява-Скрипт пользователем во время пребывания
Зачем это нужно -?
Да многие элементы дизайна и приватного пребываниях в форумах - разделах-темах основаны на применении ява скрипт,- если Вы желаете в неизменности сохранить лицо дизайна форума и избежать взлома приватности(если конечно она у Вас установлена скриптами, например: скрипт установки пароля на раздел от Duku, или "Допуск к темам, форумам, категориям строго по списку", различные скрытия от гостя..) возможно имеет смысл применить данный скрипт...
В HTML - верх. В самый верх:
<div id="pircs"><!----><link rel="stylesheet" type="text/css" href="http://hostjs-mybb2011.narod.ru/css/pun-main.css" /><div id="msg-n">У Вас
отключён javascript.<br>В данном режиме, отображение ресурса<br/>браузером не поддерживается <br/></div></div><script>$("style.#style_st,div.#pircs").replaceWith("");</script>
<!-- html_header -->Вы здесь » Форум технической поддержки сервиса bloomix » Готовые решения для форума » Администрирование