Официальный Форум технической поддержки ForumBB

Объявление


Уважаемые пользователи!
С 05.12.2023 форумы в домене artfbb.ru будут перенесены в домен frmbb.ru!


Для удобного поиска работает - «Поиск по форуму».
При возникшей проблеме Обязательно указывайте адрес форума!


Вопросы по рекламе на ForumBB: sales@forumbb.ru, ICQ: 1-130-134, skype: alex_derenchuk.
По всем остальным вопросам, пишите: admin@forumbb.ru, ICQ: 1-130-134.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Официальный Форум технической поддержки ForumBB » Новые возможности форума/Скрипты » Скрипты для форумов. (Добавьте новые возможности вашему форуму)


Скрипты для форумов. (Добавьте новые возможности вашему форуму)

Сообщений 21 страница 40 из 114

21

Форма входа на форум (логин и пароль) в окне статуса

Код:

<script type="text/javascript">
var a =document.getElementById('pun-status').innerHTML
if (a.indexOf("Гость")!=-1)
{document.getElementById('pun-status').innerHTML="<div class='formal'>"+"<form id='login'"+" class='container'"+" method='post'"+" action='http://testingmyforum1.4bb.ru/login.php?action=in'"+" onsubmit='return my_form(this)'>"+"<fieldset><legend><span>Введите ваше имя и пароль ниже</span></legend><div class='fs-box inline'>"+"<input type='hidden'"+" name='form_sent'"+" value='1' />"+"<input type='hidden'"+" name='redirect_url'"+" value='index.php' />"+"<p class='inputfield required'>"+"<label for='fld1'>Имя <em>(Обязательно)</em></label><br />"+"<span class='input'>"+"<input type='text'"+" id='fld1'"+" name='req_username'"+" size='25'"+" maxlength='25' /></span></p>"+"<p class='inputfield required'>"+"<label for='fld2'>Пароль <em>(Обязательно)</em></label><br />"+"<span class='input'>"+"<input type='password'"+" id='fld2'"+" name='req_password'"+" size='16'"+" maxlength='16' /></span></p></div></fieldset>"+"<p class='formsubmit'>"+"<input type='submit'"+" class='button'"+" name='login'"+" value='Войти' /></p></form></div>"}
function my_form(the_form)
{
var element_names = new Object()
    element_names["req_username"] = "Имя"
    element_names["req_password"] = "Пароль"

if (document.all || document.getElementById)
{
    for (i = 0; i < the_form.length; ++i)
    {
    var elem = the_form.elements[i]
    if (elem.name && elem.name.substring(0, 4) == "req_")
    {
        if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password" || elem.type=="file") && elem.value=='')
        {
        alert("\"" + element_names[elem.name] + "\" это поле обязательно для заполнения в этой форме.")
        elem.focus()
        return false
        }
    }
    }
}

return true
}
</script>

0

22

Скрипт универсального цветовыделения групп   

<script type="text/javascript">
var arr=document.links
var arr1=new Array ("Admin", "")   
var arr2=new Array ("DREД", "") 
for (x in arr)
{for (y in arr1)
{for (j in arr2)
{if (arr[x].innerHTML==arr1[y])
{var b=arr[x].innerHTML
arr[x].innerHTML="<font color='red'>"+b+"</font>"}
else if (arr[x].innerHTML==arr2[j])
{var c=arr[x].innerHTML
arr[x].innerHTML="<font color='#0000FF'>"+c+"</font>"}}}}
</script>

В красную строчку в скобочки, через запятую, в кавычках, пишем имена админов
В синию - модеров.
Меняет цвета админов на красный, модеров на синий - на всем форуме.

0

23

Индикатор групп

<script type="text/javascript">
var text="<center><font color=Red> Администратор </font> | <font color=Blue> Координатор </font>  |  <font color=Green> Модератор </font></center>"
pa=document.getElementById("pun-stats")
pa.style.position = "relative"
pa.innerHTML = "<div style=\"position:absolute; z-index:2; center: 10px; top: 40px; width: 100%;\">"+text+"</div>"+ pa.innerHTML
</script>
Хтмл низ вставляем, то что выделено заменям на свои данные, если надо.

0

24

Запрет перехода по всем ссылкам

script language="JavaScript">
var a = document.links
var isadmin=0

if(document.getElementById("navlogout")){
str=document.getElementById("navprofile").getElementsByTagName("a")[0].href
str=str.substring(str.indexOf("=")+1)
if (str=="2")
    isadmin=1
}

if(isadmin==0){
for (i in a)
    a[i].href="javascript:alert('Вы не можете перейти по этой ссылке')"

if(li=document.getElementById("navlogin"))
    li.getElementsByTagName("a")[0].href="login.php"
}
</script>

Он запрещает переходить по ссылкам, на что выдаёт соответствующее сообщение. Единственная ссылка, которую он не изменяет - ссылка для входа на форум. Также для главного админа скрипт никаких изменений не производит, тоесть для него все ссылки остаются такими, какие есть.

0

25

Всплывающее окно-раздражалка для незарегестрированных
Само всплывает и появляется через определенные промежутки врмени.

Вместо текста Зарегистрируйся блин можно вписать люой текст, в том числе и HTML поддерживается.
Вместо 3000- интервал который окно держится до исчезновения и через скока появляется снова
в миллесекундах

Код:
<script type="text/javascript">
var t
var freak
function freakOut()
{freak=window.open("", "_blank", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=300, height=300")
freak.document.write ("Зарегистрируйся блин") 
t=setTimeout ("freakIn()", 3000)                       
}
function freakIn()
{freak.close()
t=setTimeout ("freakOut()", 3000)}   
if (document.getElementById('pun-status').innerHTML.indexOf("Гость")!=-1)
{freakOut()}
</script>

Отредактировано MAKAR (09.06.2007 18:37:56)

0

26

Более жесткий вариант скрипта. Не поддается блокировке через ie , надпись перекрывает все и не поддается прокрутке.

ВВерх вставляем

Код:
<div id="annoy" style="position: absolute; left: 20px; top: 30px; display:none; z-index: 150;"><table><tr><td height=400px width=400px bgcolor=#FFFFFF;>Заерегься</td></tr></table></div>
Вместо
<table><tr><td height=400px width=400px bgcolor=#FFFFFF;>Заерегься</td></tr></table> можем вставить любой Html, в зависмости от того, насколько большим и мерзким будет раздражитель.

Вниз вставляем:

Код:
<script type="text/javascript">
var crossobj=document.all? document.all.annoy : document.getElementById("annoy")
var iebody=(document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body

function positionit(){
var dsocleft=document.all? iebody.scrollLeft : pageXOffset
var dsoctop=document.all? iebody.scrollTop : pageYOffset
if (document.all||document.getElementById){
crossobj.style.left=parseInt(dsocleft)+5+"px"
crossobj.style.top=dsoctop+5+"px"
}
}
setInterval("positionit()",10)
</script>

<script type="text/javascript">
var t
var freak
function freakOut()
{document.getElementById("annoy").style.display="block"
t=setTimeout ("freakIn()", 3000)                       
}
function freakIn()
{document.getElementById("annoy").style.display="none"
t=setTimeout ("freakOut()", 3000)}   
if (document.getElementById('pun-status').innerHTML.indexOf("Гость")!=-1)
{freakOut()}
</script>

0

27

Очень многим не нравится то, что просмотрев результаты опроса, в нём нельзя голосовать. Я считаю, что это правильно, но пользователи не зная об этом смотрят результаты и потом кричатся мол почему я не могу проголосовать....

Так вот решение данной проблемы. Как всегда через скрипты, вставлять в ХТМЛ - низ

Код:
<script language="JavaScript">

str=document.URL
page=str.substring(str.lastIndexOf('/')+1)

if( page.substring(0,9)=="viewtopic") {
  arr = document.getElementsByTagName("input")
  i=0
  while( i<20 ) {
if(arr[i].name=="null")
{
    arr[i].onclick = IsShow
    break
}
i++
  }
}
function IsShow(){
return confirm("Вы действительно хотите посмотреть результаты опроса?\nЕсли Вы это сделаете то не сможете в нём проголосовать.")
}
</script>
Вставляйте этот скрипт, и при нажатии на кнопку просмотра результатов опроса, будет выскакивать окошко с вопросом и предупреждении невозможности последующего голосования (ну и фраза вышла )

Отредактировано MAKAR (09.06.2007 18:41:20)

0

28

Замена слова "Модераторы" на главной странице форума

<script language="JavaScript">
mod="Главный дозорный"

str=document.URL
page=str.substring(str.lastIndexOf('/')+1)
if( page=="" || page=="index.php" ) {
  arr=document.getElementsByTagName("span")
  i=0
  while(arr[i])
  {
    if(arr[i].className=="modlist")
        arr[i].innerHTML = "(" + mod + arr[i].innerHTML.substring(11)
    i++
  }
}
</script>
В переменной mod укажи слово(или фразу) которым хочешь заменить слово "модераторы", "Главный дозорный" на главной странице форума под названием каждого форума.

ps:Вставлять в html-низ

ps. Если вообще не хочешь чтобы весь список модеров отображался, вставь это:
<style>
#pun td .modlist{display:none;}
</style>

Отредактировано MAKAR (09.06.2007 18:42:50)

0

29

Cкрипт уведомления о новом личном письме на форуме

Он показывает не всплывающее окно, а просто div в котором также есть ссылка перехода к странице сообщений.
В нём нужно указать адрес форума (выделено красным) БЕЗ WWW вставляйте в ХТМЛ-низ.

<script type="text/javascript">
forum = "http://АДРЕС СВОЕГО ФОРУМА.forumbb.ru"

str = document.getElementById("navpm").innerHTML
loc = new String(document.location)

if( (str.indexOf("(") != -1) && document.referrer.indexOf(forum)==-1 && loc.indexOf('messages.php')==-1)

  count = parseInt(str.substring(str.indexOf("(")+1,str.indexOf(")")))

  if (count==1) text="У вас есть 1 новое сообщение"
  else if (count>1 && count<5) text="У вас есть " +count+" новых сообщения"
  else text="У вас есть " +count+" новых сообщений"

  msg =  "<div id=\"new-mes\" class=\"container\" style=\"position: absolute; z-index=2; left: 40%;\">"
  msg += text
  msg += "<br><a href=\"\" onclick=\"document.location.replace('messages.php'); document.getElementById('new-mes').style.display='none';return false;\">Посмотреть личные сообщения</a>"
  msg +="<br><a href=\"\" onclick=\"document.getElementById('new-mes').style.display='none'; return false\">Закрыть окно</a>\r\n" 
  msg += "</div>"

  document.getElementById("pun-status").innerHTML += msg
}
</script>

0

30

Скрипт цветовыделения на три группы.

<script type="text/javascript">
var arr=document.links
var arr1=new Array ("НИК", "НИК")
var arr2=new Array ("НИК","НИК")
var arr3=new Array ("НИК", "НИК")
for (x in arr)
{for (y in arr1)
{if (arr[x].innerHTML==arr1[y])
{
arr[x].innerHTML="<font color='red'>"+arr[x].innerHTML+"</font>"}
}}

for (x in arr)
{for (j in arr2)
{if (arr[x].innerHTML==arr2[j])
{
arr[x].innerHTML="<font color='blue'>"+arr[x].innerHTML+"</font>"}}}

for (x in arr)
{for (l in arr3)
{if (arr[x].innerHTML==arr3[l])
{
arr[x].innerHTML="<font color='green'>"+arr[x].innerHTML+"</font>"}}}

</script>
Вставляем в ХТМЛ-низ, то что выделено заменяете на свои данные.

var arr1=new Array - Администраторы
var arr2=new Array - Координаторы
var arr3=new Array - Модераторы

0

31

Индикатор групп

<script type="text/javascript">
var text="<center><font color=Red> Администратор </font> | <font color=Blue> Координатор </font>  |  <font color=Green> Модератор </font></center>"
pa=document.getElementById("pun-stats")
pa.style.position = "relative"
pa.innerHTML = "<div style=\"position:absolute; z-index:2; center: 10px; top: 40px; width: 100%;\">"+text+"</div>"+ pa.innerHTML
</script>

0

32

Меняем местами пункты в информации о пользователе под аватаром.

Расчитан на те форумы, где количество пунктов у всех в окне с аватаром одинаково (за исключением ip для модеров).

Посчитайте число строк в этом окне. Например у меня на данном форуме вы их видите 7

Автор: MAKAR
Модератор
Аватар
Зарегистрирован: 2006-11-04
Сообщений: 170
Репутация: [+33/-7]
Активен 

<script type="text/javascript">
var order=document.getElementsByTagName("ul")
var q=0
for (q=0; q<=(order.length-1); q++)
{if (order[q].innerHTML.indexOf("pa-author")!=-1)
{var order1=order[q].getElementsByTagName("li")
order[q].innerHTML=order1[0].outerHTML+order1[2].outerHTML+order1[3].outerHTML+order1[4].outerHTML+order1[5].outerHTML+order1[7].outerHTML+order1[6].outerHTML }}
</script>

Смотрим на синюю строчку. Видим , что у элементов в ней меняется тока номер в квадратных скобках. Это порядковый номер ваших строк профиля по умолчанию, если смотреть сверху вниз. Переставбте их в этой строке так. как вам вздумается.

0

33

Убираем пользователя из списка модеров

Под каждым форумом есть список его модераторов. Этот скрипт убирает пользователя из этого списка (только из списка. Права остаются)

<script>
var supermod = new Array("НИК","НИК")

var mod=document.getElementsByTagName("span")
var str
for(x in mod) if(mod[x].className=="modlist"){
for(y in supermod)
    if((pos=mod[x].innerHTML.indexOf(supermod[y]))!=-1)
        mod[x].innerHTML=remName(mod[x].innerHTML,pos)
}

function remName(str,pos){
var pos1=str.indexOf("<A href"),pos2=str.indexOf("<A href",pos1+1)
if(pos2==-1) return("")

while(pos>pos2 && pos2!=-1){
    pos1=pos2
    pos2=str.indexOf("<A href",pos1+1)
}
if(pos2==-1){
    pos2=str.length-1
    pos1-=2
}
return (str.substring(0,pos1)+str.substring(pos2,str.length))
}
</script>
в строке
var supermod = new Array("НИК","НИК")
через запятую перечисляете столько пользователей, сколько душе угодно

0

34

скрипт запрещающий копировать инфу с  форума. VOL2

Код:
<SCRIPT language=Javascript1.2>
<!--
var message='ТУТ СВОЙ ТЕКСТ'; function click(e)
{if (document.all) {if (event.button == 2) {alert(message);return false;}}
if (document.layers) {if (e.which == 3) {alert(message);return false;}}}
if (document.layers) {document.captureEvents(Event.MOUSEDOWN);}
document.onmousedown=click;
// -->
</SCRIPT>

0

35

Убираем  слово "ОБЪЯВЛЕНИЕ"

Код:
<div class="info-box">
<p class="legend"><strong>Важная информация</strong></p>

Тут свой текст любой

</div>

0

36

Скрипт цветовыделения на шесть групп.

Код:
<script type="text/javascript">
var arr=document.links
var arr1=new Array ("НИК", "НИК")
var arr2=new Array ("НИК", "НИК", "НИК", "НИК")
var arr3=new Array ("", "", "", "")
var arr4=new Array ("НИК", "НИК", "", "", "")
var arr5=new Array ("НИК", "НИК", "", "", "")
var arr6=new Array ("НИК", "НИК", "", "", "")
for (x in arr)
{for (y in arr1)
{if (arr[x].innerHTML==arr1[y])
{
arr[x].innerHTML="<font color='red'>"+arr[x].innerHTML+"</font>"}
}}


for (x in arr)
{for (j in arr2)
{if (arr[x].innerHTML==arr2[j])
{
arr[x].innerHTML="<font color='goldenrod'>"+arr[x].innerHTML+"</font>"}}}


for (x in arr)
{for (l in arr3)
{if (arr[x].innerHTML==arr3[l])
{
arr[x].innerHTML="<font color='darkorange'>"+arr[x].innerHTML+"</font>"}}}



for (x in arr)
{for (j in arr4)
{if (arr[x].innerHTML==arr4[j])
{
arr[x].innerHTML="<font color='steelblue'>"+arr[x].innerHTML+"</font>"}}}


for (x in arr)
{for (p in arr5)
{if (arr[x].innerHTML==arr5[p])
{
arr[x].innerHTML="<font color='steelblue'>"+arr[x].innerHTML+"</font>"}}}


for (x in arr)
{for (s in arr6)
{if (arr[x].innerHTML==arr6[s])
{
arr[x].innerHTML="<font color='steelblue'>"+arr[x].innerHTML+"</font>"}}}

</script>

0

37

Скрипт соврачивания объявления
СОХРАНЯЕТ ДЕЙСТВИЕ ПРИ ПЕРЕХОДЕ НА ДРУГИЕ СТРАНИцы (в осле, лисе, и опере)

Код:
<script type="text/javascript">
document.getElementById('pun-announcement').getElementsByTagName("div")[0].id="annbody"
function lookCook()
{
if (document.cookie.indexOf("announce")!=-1)
{var an1=document.cookie.substr(document.cookie.indexOf("announce"))
var an=an1.substr(an1.indexOf("id")+2, 2)
if (an=="op")
{document.getElementById('annbody').style.display="block"
var knopka="Скрыть объявление"}
else if (an=="cl")
{document.getElementById('annbody').style.display="none"
var knopka="Показать объявление"}}
else if (document.cookie.indexOf("announce")==-1)
{document.getElementById('annbody').style.display="block"
var knopka="Скрыть объявление"}
document.getElementById('pun-announcement').getElementsByTagName("h2")[0].innerHTML+="<div align='right'>"+"<input type='button'"+" id='hider'"+" value='"+knopka+"' "+"onclick='hideAnn() ; wCook()' /></div>"}

lookCook()


function hideAnn()
{
if (document.getElementById('annbody').style.display!="none")
{document.getElementById('annbody').style.display="none"
document.getElementById('hider').value="Показать объявление"}
else
{document.getElementById('annbody').style.display="block"
document.getElementById('hider').value="Скрыть объявление"}
}


function wCook()
{
var ann="announce=id"
if (document.getElementById('annbody').style.display!="none")
{ann+="op"}
else 
{ann+="cl"}
var d=new Date()
d.setDate(d.getDate()+1)
ann+=";expires="+d.toGMTString()
document.cookie=ann}



</script>

0

38

Разделение важных и обычных тем на блоки

Код:
<script type="text/javascript">
if (document.URL.indexOf("viewforum")!=-1)
{var trs=document.getElementById('pun-main').getElementsByTagName("table")[0].rows
var io=1
for (io=1; io<=(trs.length-1); io++)
{if ((trs[io].className.indexOf("isticky")!=-1)&&(io==1))
{var portant=document.getElementById('pun-main').getElementsByTagName("table")[0].insertRow(1)
var im=portant.insertCell(0)
im.innerHTML="Важные темы"
im.style.color="#0000FF"
im.style.backgroundColor="#FFFFFF"
im.colSpan="4"}
else if ((trs[io].className.indexOf("isticky")!=-1)&&(trs[io+1].className.indexOf('isticky')==-1))
{var normal=document.getElementById('pun-main').getElementsByTagName("table")[0].insertRow(io+1)
var normal1=normal.insertCell(0)
normal1.innerHTML="Темы форума"
normal1.style.color="#0000FF"
normal1.style.backgroundColor="#FFFFFF"
normal1.colSpan="4"
}}}
</script>

0

39

Изменение слова  Репутация.
желаете изменить слово репутация на своё слово , пожалуйста, где выделено пишите своё слово и вставляете
в ХТМЛ-низ (работает корректно только в Эксплорер)

Код:
<script>
rep="Полезные сообщения"
var arr=document.getElementsByTagName("li")
for(x in arr){
  if(arr[x].className=="pa-reputation"){
    str=arr[x].innerHTML
    arr[x].innerHTML=rep+str.substring(9)
  }
}
</script>

0

40

Массовое удаление пользователей, не имеющих  сообщений

Кому и для чего это нужно? Исключительно ленивым, тем у кого слишком много ненужны пльзователей  выискивать и удалять их вручную слишком долго и муторно.
Для его это НЕ нужно?Для экономии траффикак. Ибо все страницы на которых вам пришлось бы побывать вручную открываться БУДУТ. Только это будет очень быстро и без вашей помощи.

В html низ вставляем

Код:
<script type="text/javascript">
var myforum="help.forumbb.ru"
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" />

Вместо help.forumbb.ru - ваш адрес форума
document.getElementById('fld1').click() эту строчку оставляем, если хотим чтобы сообщения удаляемых пользоватеолей остались. Если их надо тооже удалить - убираем.

Кнопка Удалить лишних видна толкьо главному администратору. Принажатии на нее начнут мелькать окна. Скорость мелькания зависит от скорости вашего интернета, но по-любому быстро.

Опасен ли скрипт, и чем это все грозит?
По больщому счету скрипт абсолютно безопасен, если
1. если вы за каким-то фигом не пойдете подделывать свои куки (и если вообще умеете это делать)
2.Удалять пользователей в независимости от скрипта может только Администратор. Поэжтому пока ваш аккакунт не взломалиь вам ничего не грозит. А если взломают, то их удалят и так.

Что делать если...
Я разнервничался, я вообще-то поторопился и никого удалять не хочу, А чего это так многт мелькает, Я вообще жалею , что это затеял,у меня внезапная паника и т.д.

Для особо нервных предусмотрена тревожная кнопка.
Если удаление уже началось, но вы вдруг хотите его прервать,

нажмите на любую букву на клавиатуре.
Это прервет мелькание и удаление.

0


Вы здесь » Официальный Форум технической поддержки ForumBB » Новые возможности форума/Скрипты » Скрипты для форумов. (Добавьте новые возможности вашему форуму)