Здесь выложу скрипты, предназначенные для администраторов и модераторов различных форумов.
Скрипты для администраторов/модераторов
Сообщений 1 страница 10 из 14
Поделиться12011-06-21 12:51:22
Поделиться22011-06-21 12:52:07
Скрипт, запрещающий писать личные сообщения администратору простым пользователям
(с) karpoff
Вставлять в HTML низ
<script type="text/javascript"> var a=document.URL if (a.indexOf("sendmessage")!=-1 && !document.getElementById("navadmin")) {document.getElementsByName("submit") [0] .onclick=getIt} function getIt() {var b=document.getElementsByName("req_username") [0] .value if (b=="Zebra") //вместо Зебры имя администратора { alert ("Вы не можете написать сообщение администратору") return false}} </script>
Поделиться32011-06-21 12:53:25
Массовое удаление пользователей, не имеющих сообщений. Zebra
Что он делает? Удаляет всех пользователей не имеющих сообщений.
Зачем это надо? Если хотите очистить форум от лишних пользователей (которые не имеют сообщений и просто пополняют список зарегистрированных).
Вставляем в HTML низ
<script type="text/javascript"> var myforum="АДРЕС ВАШЕГО ФОРУМА" var myforum1="http://"+myforum+"/profile.php?id=2" if (document.getElementById('navpropfile').getElementsByTagName("a")[0].href!=myforum1) {document.getElementById('massdeleter').style.display="none"} document.getElementsByTagName("body")[0].onkeydown=stopAll function stopAll() {document.cookie="zebra=nefiga"} if (document.cookie.indexOf("zebra=neutral")!=-1) { if (document.URL.indexOf("userlist.php")==-1) {user()} }} var myforum2="http://"+myforum+"/userlist.php?show_group=-1&sort_by=num_posts&sort_dir=ASC" function user() {var windower=window.open(myforum2, "_self") var users=document.getElementById('pun-main').getElementsByTagName("table")[0].rows if ((users[1].getElementsByTagName("td")[3].innerHTML)*1==0) {var locat="http://"+myforum+"/profile.php?section=admin&"+users[1].getElementsByTagName("a")[0].href.substr(users[1].getElementsByTagName("a")[0].href.indexOf("id="))+"&action=foo" document.cookie="zebra=delete" var windower=window.open(locat, "_self")} else {document.cookie="zebra=nefiga"}} if ((document.cookie.indexOf("zebra=delete")!=-1)&&(document.URL.indexOf("action=foo")!=-1)) {if (!document.getElementsByName("delete_user_comply")[0]) {document.getElementsByName("delete_user")[0].click()} else {document.getElementById('fld1').click() document.getElementsByName("delete_user_comply")[0].click() document.cookie="zebra=neutral" } } </script> <input type="button" value="Удалить лишних" onclick="user()" id="massdeleter" />
document.getElementById('fld1').click() эту строчку оставляем, если хотим чтобы сообщения удаляемых пользоватеолей остались. Если их надо тоже удалить - убираем.
Кнопка "Удалить лишних" видна только главному администратору. При нажатии на нее начнут мелькать окна. Скорость мелькания зависит от скорости вашего интернета, но по-любому быстро.
Опасен ли скрипт, и чем это все грозит?
По большому счету скрипт абсолютно безопасен, если
1. Если вы за каким-то фигом не пойдете подделывать свои куки (и если вообще умеете это делать).
2. Удалять пользователей в независимости от скрипта может только Администратор. Поэтому пока ваш аккакунт не взломали, вам ничего не грозит. А если взломают, то их удалят и так.
Что делать если...
Я разнервничался, я вообще-то поторопился и никого удалять не хочу, а чего это так много мелькает, я вообще жалею, что это затеял, у меня внезапная паника и т.д.
Для особо нервных предусмотрена тревожная кнопка.
Если удаление уже началось, но вы вдруг хотите его прервать, нажмите на любую букву на клавиатуре. Это прервет мелькание и удаление.
Поделиться42011-06-21 12:57:02
Модераторские теги
Скрипт тега предупреждения
[mod][/mod]
Модераторские теги.
<script> function addMod(str,from,internal){ var pos=0,pos2=0,newpos=0 if((pos=str.indexOf("[mod]",from))==-1) return str; if((pos2=str.indexOf("[/mod]"),pos+5)==-1) return str; newpos=str.indexOf("[mod]",pos+5) if(newpos<pos2 && newpos!=-1) str=addMod(str,pos+5,true) if((pos2=str.indexOf("[/mod]",pos+5))==-1) return str; str=str.substring(0,pos)+makeMod(str.substring(pos+5,pos2))+str.substring(pos2+6,str.length) if( str.indexOf("[mod]")!=-1 && internal==false) str=addMod(str,0,false) return str} function makeMod(txt){ txt="<br><div style=\"margin: 0px; padding: 0px; background-color:#F1F1FD; border-left: 0px solid #6060FF; border-top: 0px dotted #000; border-right: 1px dotted #000; border-bottom: 1px dotted #000;\"><TABLE cellpadding='0' cellspacing='0'><TD align='middle' bgColor='#6060ff' vAlign='center' width='8%'><FONT color='#ffffff' size='+3' style='FONT-FAMILY: Times' title='Предупреждение'><B> i </B></FONT></TD></TD><TD vAlign='middle'>"+txt+"</TD></TABLE></div><br>" return txt} if(document.URL.indexOf("viewtopic.php")!=-1){ elm=document.getElementById("pun-main").getElementsByTagName("div") for(x in elm) if(elm[x].className=="post-content"){ var post=elm[x] post.innerHTML=addMod(post.innerHTML,0,false)}} </script>
Скрипт тега нарушения
[ex][/ex]
<script> function addEx(str,from,internal){ var pos=0,pos2=0,newpos=0 if((pos=str.indexOf("[ex]",from))==-1) return str; if((pos2=str.indexOf("[/ex]"),pos+4)==-1) return str; newpos=str.indexOf("[ex]",pos+4) if(newpos<pos2 && newpos!=-1) str=addEx(str,pos+4,true) if((pos2=str.indexOf("[/ex]",pos+4))==-1) return str; str=str.substring(0,pos)+makeEx(str.substring(pos+4,pos2))+str.substring(pos2+5,str.length) if( str.indexOf("[ex]")!=-1 && internal==false) str=addEx(str,0,false) return str} function makeEx(txt){ txt="<br><div style=\"margin: 0px; padding: 0px; background-color:#FEF2F2; border-left: 1px solid #FF6060; border-top: 1px dotted #000; border-right: 1px dotted #000; border-bottom: 1px dotted #000;\"><TABLE cellpadding='0' cellspacing='0'><TD align='middle' bgColor='#ff6060' vAlign='center' width='8%'><FONT color='#ffffff' size='+3' style='FONT-FAMILY: Times' title='Грубое нарушение'><B> ! </B></FONT></TD></TD><TD vAlign='middle'>"+txt+"</TD></TABLE></div><br>" return txt} if(document.URL.indexOf("viewtopic.php")!=-1){ elm=document.getElementById("pun-main").getElementsByTagName("div") for(x in elm) if(elm[x].className=="post-content"){ var post=elm[x] post.innerHTML=addEx(post.innerHTML,0,false)}} </script>
Оптимальнее всего ставить в форму ответа, тогда скрипты будут срабатывать быстрее, чем загрузится страница с остальными скриптами, но гости не будут видеть эффекта. Можно поставить и в html-низ.
Кнопки в форму ответа (Доступны только Администраторам и модераторам)
Для предупреждения
<style> #button-mod {background-image:url('http://i029.radikal.ru/0804/26/e430252a0faf.png'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%} </style> <script type="text/javascript"> if((document.getElementById("navadmin")) && (form=document.getElementById("form-buttons"))) form.getElementsByTagName("tr")[0].insertCell(18).innerHTML="<img src='/i/blank.gif' title='Предупреждение' id='button-mod' onclick=\"bbcode('[mod]', '[/mod]');\"/>" </script>
Для нарушения
<style> #button-ex {background-image:url('http://i007.radikal.ru/0804/c8/e7c48348a35e.png'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%} </style> <script type="text/javascript"> if((document.getElementById("navadmin")) && (form=document.getElementById("form-buttons"))) form.getElementsByTagName("tr")[0].insertCell(18).innerHTML="<img src='/i/blank.gif' title='Предупреждение' id='button-ex' onclick=\"bbcode('[ex]', '[/ex]');\"/>" </script>
Поделиться52011-06-21 13:00:42
Модераторское меню доступно только админам (c) Lazary
Делаем меню модерорования темы и список активных доступным только админам! (c) Lazary
<script type="text/javascript"> document.getElementByClassName = function(clsName){ var retVal = new Array(); var elements = document.getElementsByTagName("*"); for(var i = 0;i < elements.length;i++){ if(elements[i].className.indexOf(" ") >= 0){ var classes = elements[i].className.split(" "); for(var j = 0;j < classes.length;j++){ if(classes[j] == clsName) retVal.push(elements[i]); } } else if(elements[i].className == clsName) retVal.push(elements[i]); } return retVal; } if (GroupID != 1 ){ document.getElementByClassName("modmenu")[0].style.display = "none"; document.getElementByClassName("modmenu")[1].style.display = "none"; } </script>
Если нужно скрыть только модераторское меню - удаляем:
document.getElementByClassName("modmenu")[1].style.display = "none";
Если нужно скрыть только просматривающих - удаляем:
document.getElementByClassName("modmenu")[0].style.display = "none";
Если нужно скрыть и то и другое: оставляем все как есть.
В ХТМЛ-низ.
Поделиться62011-06-21 13:01:15
Отключение правой кнопки мыши с выдачей сообщения
<script language="JavaScript" type="text/javascript"> <!--// var message="Правая кнопка мыши отключена!"; // Здесь введите свою надпись, которая появится в окне предупреждения function click(e) { if (document.all) { if (event.button == 2) { // Чтобы отключить левую кнопку поставьте цифру 1 alert(message); return false;}}} if (document.layers) { document.captureEvents(Event.MOUSEDOWN);} document.onmousedown=click; // --> </script>
Поделиться72011-06-21 13:01:45
Поздравлялка (или предупреждалка). Duka
Скрипт выводит в объявлении текст определенному пользователю. Что там будет написано зависит от вашей фантазии, будь то Поздравление или предупреждение.
Текст будет виден только определенному пользователю, для остальных он не действует
<script language="JavaScript"> if(document.getElementById('pun-status').innerHTML.indexOf("Admin")!=-1) { document.write('<b>Admin, поздравляю с днем рождения!</b>'); } </script>
Admin - ник получателю сообщения.
Текст сообщения заменяете своим
Поделиться82011-06-21 13:03:07
Превью стилей. Для дизайн-форумов. Duka
Объяснять нечего. Те, кто просил, поймут для чего это
<script type="text/javascript">
function vzstyle(value){
var tag = document.getElementsByTagName("link")
for(z=0;z<tag.length;z++){
if(tag[z].rel=="stylesheet"){
tag[z].href=value
break;
}
}
}
</script>
<select name="sel">
<option value="http://support.rusff.me/style/RusFF_Classic/RusFF_Classic.css">RusFF_Classic</option>
<option value="http://support.rusff.me/style/RusFF_FunZone/RusFF_FunZone.css">RusFF_FunZone</option>
<option value="http://support.rusff.me/style/RusFF_DeathNote/RusFF_DeathNote.css">RusFF_DeathNote</option>
</select>
<input type="button" class="button" onclick="vzstyle(document.getElementsByName('sel')[0].value)" value="ОК" />
Выделенную цветом строчку копируем. В параметре value вписывать ссылку на файл стиля .css (в файле .css уже должна быть ссылка на _cs.css)
Поделиться92011-06-21 13:12:49
Профилактика форума.
У всех, кроме администратора вместо форума открывается окно с предупреждением о профилактике. Администратор спокойно может переделать что-либо без вмешательства пользователей.
<script type="text/javascript"> if ((document.URL.indexOf("forum.mybb.ru")!=-1)&&(document.title!="Форум технической поддержки - Форум")&&(document.getElementById('pun-status').innerHTML.indexOf('Zebra')==-1)) {window.open ("http://forum.mybb.ru", "_self")} </script>
Вместо forum.mybb.ru - свой адрес
Вместо Форум технической поддержки - название своего форума
Вместо Zebra - ваш админский ник
Поделиться102011-06-21 13:15:42
Цветовыделение имен (никнеймов)
<script type="text/javascript"> var arr=document.links var arr1=new Array ("ИМЯ", "ИМЯ") var arr2=new Array ("ИМЯ", "ИМЯ") for (x in arr) {for (y in arr1) {if (arr[x].innerHTML==arr1[y]) { arr[x].innerHTML="<font color='#ЦВЕТ'>"+arr[x].innerHTML+"</font>"}}} for (x in arr) {for (j in arr2) {if (arr[x].innerHTML==arr2[j]) { arr[x].innerHTML="<font color='#ЦВЕТ'>"+arr[x].innerHTML+"</font>"}}} </script>
Вторая часть скрипта
Можно поставить этот скрипт в дополнение к первому.
Выделяет ники пользователя по всему форуму, а не только в ссылках.
Но работает только в Эксплорере
<script type="text/javascript"> var arr=document.getElementsByTagName("td") var arr1=new Array ("ИМЯ") var arr2=new Array ("ИМЯ", "ИМЯ") var x=0 var j=0 for (x in arr) {while (x<=(arr.length -1)) {for (j in arr1) {while (j<=(arr1.length-1)) {if (arr[x].innerHTML.indexOf(arr1[j])!= -1) {arr[x].innerHTML=arr[x].innerHTML.substring (0, arr[x].innerHTML.indexOf(arr1[j]))+"<font color='#ЦВЕТ'>"+arr1[j]+"</font>"+arr[x].innerHTML.substr (arr[x].innerHTML.indexOf(arr1[j])+arr1[j].length)} j=j+1}} x=x+1}} for (x in arr) {while (x<=(arr.length -1)) {for (i in arr2) {while (i<=(arr2.length -1)) {if (arr[x].innerHTML.indexOf(arr2[i])!= -1) {arr[x].innerHTML=arr[x].innerHTML.substring (0, arr[x].innerHTML.indexOf(arr2[i]))+"<font color='#ЦВЕТ'>"+arr2[i]+"</font>"+arr[x].innerHTML.substr (arr[x].innerHTML.indexOf(arr2[i])+arr2[i].length)} i=i+1}} x=x+1}} </script>