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

Объявление


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

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


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

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

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


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


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

Сообщений 1 страница 20 из 114

1

Меню, выплывающее из-за левого края экрана.
Код:
<HEAD>
<script type="text/javascript">
var x=0
var t
function startBackSlide()
{if (x>=-250)
{document.getElementById('weird').style.left=x
x=x-1
t=setTimeout ("startBackSlide()", 3)}}
</script>
<script type="text/javascript">
var x=-250
var t
function startSlide()
{if (x<=0)
{document.getElementById('weird').style.left=x
x=x+1
t=setTimeout ("startSlide()", 3)}}
</script>
</HEAD>
<div id="staticcontent" style="position:absolute; z-index: 0; background-color: transparent; width: 550px;">
<table  id="weird" border="1" style="position: absolute; left: -250px; border-color: #663300; background-color: #663300;"><tr><td  background="http://img83.imageshack.us/img83/1821/centerwd1.jpg" width=250px height=350px style="font-weight: bold; font-size: 0,6; font-family: Verdana; color: #000000; line-height: 2; text-align: center; vertical-align: middle;"> Меню: <br /><a hre="help.forumbb.ru /">Главная</a><br /><a href="http://help.forumbb.ru /chat.php">ЧАТ</a><br />
<a href="http://help.forumbb.ru /userlist.php">Список участников</a> <br /><a href="http://help.forumbb.ru /profile.php?id=2">Профиль</a><br/><a href="http://help.forumbb.ru /messages.php">Личные сообщения</a><br /><a href="http://help.forumbb.ru /search.php">Поиск</a><br /><a href="help.forumbb.ru /search.php?search_id=397077267">Сообщения без ответов</a><br/><a href="help.forumbb.ru /index.php">Все прочитано</a><br /><a href="help.forumbb.ru /search.php?action=show_subscriptions">Подписка</a></td><td width=15px height= 350px style="font-weight: bold; font-size: 2; font-family: Verdana; color: #000000; line-height: 1; text-align: center; vertical-align: middle;"><a href="javascript:startSlide();">&#62<br /><br /><a href="javascript:startBackSlide();">&#60<br />M<br />Е<br />Н<br />Ю</td></tr></table></div>
<script type="text/javascript">
var crossobj=document.all? document.all.staticcontent : document.getElementById("staticcontent")
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>
Не забудьте в коде таблицы заменить все адреса форума help.forumbb.ru на свой.

0

2

  Скрипт замены надписей активны/неактивны под аватаром на картинки   
<script type="text/javascript">
var we=document.getElementsByTagName("ul")
var x=0
for (x=0; x<=(we.length-1); x++)
{if (we[x].innerHTML.indexOf("pa-online")!=-1)
{we[x].innerHTML=we[x].innerHTML.substring(0, (we[x].innerHTML.indexOf("pa-online")-11))+"<img src='адрес онлайн картинки' />"}
else if ((we[x].innerHTML.indexOf("pa-online")==-1)&&(we[x].innerHTML.indexOf("pa-author")!=-1))
{we[x].innerHTML=we[x].innerHTML+"<img src='адрес оффлайн картинки' />"}
}
</script>

0

3

  Замена ссылок Профиль - ЛС - Email картинками 
<script type="text/javascript">
var trr=document.getElementsByTagName("ul")
var fi=0
for (fi=0; fi<=(trr.length-1);fi++)
{if (trr[fi].innerHTML.indexOf("pl-email")!=-1)
{var drr=trr[fi].getElementsByTagName("a")
drr[0].innerHTML="<img src='картинка Профиль' />"
drr[1].innerHTML="<img src='картинка ЛС' />"
drr[2].innerHTML="<img src='картинка Email' />"
}}
</script>

0

4

  Попап с картинкой при нажатии на ссылку   
<script language="JavaScript">
function poppict()
{
var msg = new String("")
msg = "<img src='АДРЕС_КАРТИНКИ'>"
popup = window.open("","popDialog","height=390,width=258")
popup.document.write(msg)
popup.document.close()
return false
}
</script>
<a id="poppict"  href="" onclick="return poppict()">СCЫЛКА</a>

0

5

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


Код:
<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

6

Запрет на установку аватара и подписи отдельным пользователям

<script type="text/javascript">
var a =document.URL
var b=document.getElementById('pun-status').innerHTML
if (b.indexOf("DREД ")!=-1)
{
if ((a.indexOf("signature")!=-1)||(a.indexOf("section=avatar")!=-1))
{document.getElementsByName('update')[0].onclick=noChange}
else if (a.indexOf("upload-avatar")!=-1)
{document.getElementsByName('urload')[0].onclick=noChange}}
function noChange()
{alert ("Пошел нафиг")
return false}
</script>

Вместо DREД  - ник юзера, которому запретили менять.

0

7

Скрипт, показывающий, сколько дней осталось до закрытия форума

<script type="text/javascript">
function getArr()
{var x=0
var arr=new Array(0)
var arr1=document.getElementsByTagName("table")
for (x in arr1)
{while (x<=5)
{
if (arr1[x].rows[0].cells.length==4)
{var z=arr1[x].rows
var j=0
for (j=0; j<=(z.length-1); j++)
{arr.splice(0, 0, z[j].cells[3].innerHTML)
}}
x=x+1}}
return arr}
var d=new Date()
var c=d.getMonth()+1
var a=d.getDate()
var today=c+"."+a
var g=new Date()
var ops=d.getTime()-(24*60*60*1000)
g.setTime(ops)
var yes=(g.getMonth()+1)+"."+g.getDate()
function getIt()
{
var brr=getArr()
var i=0
var crr=new Array(0)
for (i in brr)
{if ((i<=(brr.length -1))&&(brr[i].indexOf(" - ") != -1))
{if (brr[i].substr(brr[i].indexOf(" - ")-14, 5)=="годня")
{crr.splice (0, 0, today)}
else if (brr[i].substr(brr[i].indexOf(" - ")-14, 3)=="Вче")
{crr.splice (0, 0, yes)}
else
{
crr.splice (0, 0, brr[i].substr(brr[i].indexOf(" - ")-14, 2)+"."+brr[i].substr(brr[i].indexOf(" - ")-11, 2))}
i=i+1}}
return crr}
var now=getIt()
function sortNumber(a, b)
{
return a - b
}
var ok=now.sort(sortNumber)
var wait=ok.pop()
var h=new Date()
h.setUTCFullYear (2006, wait.substring (0, wait.indexOf(".")) -1, wait.substr (wait.indexOf(".")+1))
var hih=Math.round((d.getTime()-h.getTime())/(24*60*60*1000))
function countIt()
{
alert(20-hih)}
</script>
<input type="button" value="сlosed forum" onclick="countIt()" />

0

8

Этот скрипт запрещает простотрa профиля участника гостями.

Ну конечно запретить что-то он не может, но он при попытке сделать это перекидывает гостя обратно на страницу, с которой он хотел перейти в профиль

<script language="JavaScript">

str=document.URL
page=str.substring(str.lastIndexOf('/')+1)
str = new String(document.getElementById("pun-status").innerHTML);

if(page.indexOf("profile.php")!= -1 && !document.getElementById("navprofile")  )
     document.URL=document.referrer
</script>

Вставлять его нужно в объявление, или html-низ. Но лучше всего в объявление.
Его работоспособность можете посмотреть на этом форуме.

0

9

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

<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

10

Скрипт меню опций в дополнительном поле.

Нужен для того, чтобы в дополнительном поле в профиле, вместо обычной полосы ввода текста было ниспадающее меню преустановленных опций (селект), так чтобы юзер не сам заполнял текст а выбирал из них. Для всяких кланов, доп статусов и т.д.

1.Создаете дополнительное поле как обычно с нужным названием и установками

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

<script type="text/javascript">
var cont=document.getElementsByTagName("legend")
if (cont[0].innerHTML.indexOf("Укажите дополнительные данные")!=-1)
{document.getElementById('fld1').style.display="none"
var form=document.getElementById('profile8').innerHTML
var init=document.getElementById('fld1').value
document.getElementById('profile8').innerHTML=form.substring(0, (form.indexOf("fld1")-11))+"<select id='subst'>"+"<option value ='   колдун'>колдун</option>"+"<option value =' вампир'>вампир</option>"+"<option value=' ведьма'>'>ведьма</option>"+...+"</select>"+form.substr((form.indexOf("fld1")-11))
document.getElementById('subst').value=document.getElementById('fld1').value
document.getElementsByName('update')[0].onclick=transForm}
function transForm()
{document.getElementById('fld1').value=document.getElementById('subst').value
return true}

</script>

Вместо синих слов - вставляете свои ранги-опции. Чтобы увеличить их количество размножайте в скрипте этот блок
"<option value='ведьма'>ведьма</option>" вместо красного троеточия (если рангов больше не надо. тоеточие выкиньте), соединяя их между собой плюсами.
Если речь идет о втором посчету, а не опервом доп поле в профиле, в скрипте ВЕЗДЕ fld1 замените на fld2

0

11

Замена всех ссылок под сообщением на кнопки (ЛС, профиль, мыло, цитировать, редактировать, удалить)

<script type="text/javascript">
var trr=document.getElementsByTagName("div")
var fi=0
for (fi=0; fi<=(trr.length-1);fi++)
{if (trr[fi].className=="post-links")
{var drr=trr[fi].getElementsByTagName("a")
drr[0].innerHTML="<img src='картинка профиль'/>"
drr[1].innerHTML="<img src='картинка лс' />"
var er=2
for (er=2; er<=(drr.length-1); er++)
{if (drr[er].innerHTML.indexOf("E-mail")!=-1)
{drr[er].innerHTML="<img src='картинка мыла' />"}
else if (drr[er].innerHTML.indexOf("Вебсайт")!=-1)
{drr[er].innerHTML="<img src='картинка вебсайт'  />"}
else if (drr[er].innerHTML.indexOf("Цитировать")!=-1)
{drr[er].innerHTML="<img src='картинка цитировать'/>"}
else if (drr[er].innerHTML.indexOf("Редактировать")!=-1)
{drr[er].innerHTML="<img src='картинка правка' />"}
else if (drr[er].innerHTML.indexOf("Удалить")!=-1)
{drr[er].innerHTML="<img src='картинка удалить' />"}
}}}
</script>

0

12

Расположение сообщений на странице от более позднего (вверху) к более раннему (внизу)

<script type="text/javascript">
var divs=document.getElementById('pun-main')
var posts=divs.getElementsByTagName("div")
var qaz=new Array(0)
var qw=0
function getPosts()
{for (qw=0; qw<=(posts.length-1); qw++)
{if (posts[qw].innerHTML.indexOf("permalink")!=-1)
{qaz.splice (0, 0, posts[qw].outerHTML)}}
return qaz
}

if (document.URL.indexOf("viewtopic")!=-1)
{var po=getPosts().slice(0, ((getPosts().length/2)-1))
document.getElementById('pun-main').innerHTML=document.getElementById('pun-main').innerHTML.substring(0, (document.getElementById('pun-main').innerHTML.indexOf("item1")-17))+po.join(" ")+"</div>"+document.getElementById('pun-main').innerHTML.substr((document.getElementById('pun-main').innerHTML.indexOf("modmenu")-12))}
</script>

!!!Вставлять строго в HTML низ. В Html под формой ответа вызывает ошибку эксплорера.

0

13

Функция Описание темы (аналог IPBшной)

<script type="text/javascript">
var theme=document.getElementById('pun-main').getElementsByTagName("h1")[0].innerHTML
if (theme.indexOf("&gt;&gt;")!=-1)
{if (theme.indexOf("Редактирование")!=-1)
{document.getElementById('pun-main').getElementsByTagName("h1")[0].innerHTML=theme.substring(0, theme.indexOf("&gt;&gt;"))+" - Редактирование сообщения</span>"}
else
{document.getElementById('pun-main').getElementsByTagName("h1")[0].innerHTML=theme.substring(0, theme.indexOf("&gt;&gt;"))+"</span>"}}
</script>

<script type="text/javascript">
var descs=document.getElementsByTagName("td")
var z=0
for (z=0; z<=(descs.length-1); z++)
{if (descs[z].innerHTML.indexOf("&gt;&gt;")!=-1)
{if (descs[z].className=="tcl")
{descs[z].innerHTML=descs[z].innerHTML.substring(0, descs[z].innerHTML.indexOf("&gt;&gt;"))+"</a><br />"+"<font size='1'>"+descs[z].innerHTML.substring((descs[z].innerHTML.indexOf("&gt;&gt;")+8), (descs[z].innerHTML.toLowerCase().indexOf("</a>")))+"</font>"+descs[z].innerHTML.substr((descs[z].innerHTML.toLowerCase().indexOf("</a>")+4))
}
else
{descs[z].getElementsByTagName("a")[0].innerHTML=descs[z].getElementsByTagName("a")[0].innerHTML.substring(0, descs[z].getElementsByTagName("a")[0].innerHTML.indexOf("&gt;"))
}}}
</script>

<script type="text/javascript">
if (document.getElementById('pun-main').getElementsByTagName("h1")[0].innerHTML.indexOf("Начать новую")!=-1)
{document.getElementsByTagName("form")[0].innerHTML=document.getElementsByTagName("form")[0].innerHTML.substring(0, (document.getElementsByTagName("form")[0].innerHTML.indexOf("areafield")-10))+"<p><label for='descr'>Описание</label><br />"+"<span class='input'>"+"<input id='descr'"+" type='text'"+" size='80'"+" maxlength='35' /></span></p>"+document.getElementsByTagName("form")[0].innerHTML.substr( (document.getElementsByTagName("form")[0].innerHTML.indexOf("areafield")-10))
if (document.getElementById('fld3').value.indexOf(">>")!=-1)
{
document.getElementById('descr').value=document.getElementById('fld3').value.substr(document.getElementById('fld3').value.indexOf(">>")+2)
document.getElementById('fld3').value=document.getElementById('fld3').value.substring(0, document.getElementById('fld3').value.indexOf(">>"))
}

document.getElementsByName("submit")[0].onclick=addDesc
document.getElementsByName("preview")[0].onclick=addDesc}
function addDesc()
{document.getElementById('fld3').value=document.getElementById('fld3').value+">>"+document.getElementById('descr').value
return true}
</script>

Вроде почистил все. Чтобы не было лишних вопросов стоит все на автомате. То есть появится отдельное поле для набора описания. Единственное, чего не сделала - не возможности автоматического редактирования опсиания при редактировании первого сообщения. Ибо оказалось, что для этого пришлось бы прописывать еще один огромный кусок кода,что мне было откровенно лень. Но в ручную отредактировать его сможете. Описание в таком случае стоит в нгазвании темы после значка >> .
Если совсем ленивые - пользуйтесь предварительным просмотром при создании темыв - на этом уровне все также атматизировано.

Там где в скрипте жирная единица - можете менять размер шрифта описания.

0

14

Кнопки "в кириллицу" и "в латиницу"

<script type="text/javascript">
var latin=("q-w-e-r-t-y-u-i-o-p-]-a-s-d-f-g-h-j-k-l-;-'-z-x-c-v-b-n-m-,-Q-W-E-R-T-Y-U-I-O-P-]-A-S-D-F-G-H-J-K-L-;-'-Z-X-C-V-B-N-M-,").split("-")
var ciril=("й-ц-у-к-е-н-г-ш-щ-з-ъ-ф-ы-в-а-п-р-о-л-д-ж-э-я-ч-с-м-и-т-ь-б-Й-Ц-У-К-Е-Н-Г-Ш-Щ-З-Ъ-Ф-Ы-В-А-П-Р-О-Л-Д-Ж-Э-Я-Ч-С-М-И-Т-Ь-Б").split("-")
function advert()
{
var val=document.selection.createRange()
var val1=val.text
var qw=0
for(qw=0; qw<=(latin.length-1); qw++)
{var latin1="/"+latin[qw]+"/g"
val1=val1.replace(eval(latin1), ciril[qw])}
val.text=val1}
function advert1()
{
var val=document.selection.createRange()
var val1=val.text
var qw=0
for(qw=0; qw<=(latin.length-1); qw++)
{var ciril1="/"+ciril[qw]+"/g"
val1=val1.replace(eval(ciril1), latin[qw])}
val.text=val1}
</script>
<input type="button" value="В кириллицу" onclick="advert()" />
<input type="button" value="В латиницу" onclick="advert1()" />

Буква ю и латинская точка изъяты из скрипта неслучайно.

0

15

Подпись по умолчанию тем, у кого ее нет

<script type="text/javascript">
if (document.URL.indexOf("viewtopic")!=-1)
{var sigs=document.getElementById('pun-main').getElementsByTagName("div")
var v=0
for (v=0; v<=(sigs.length-1); v++)
{if (sigs[v].className=="post-content")
{if (sigs[v].innerHTML.toLowerCase().indexOf("<span>подпись автора</span>")==-1)
{sigs[v].innerHTML=sigs[v].innerHTML+"<dl class='post-sig'><dt><span>Подпись автора</span></dt><dd><p>"+"Ваш текст по умолчанию"+"</p></dd></dl>"}}}}
</script>

0

16

Замена "мужской/женский" (пол) на картинки

<script type="text/javascript">
var sex=document.getElementById('pun-main').getElementsByTagName("li")
var sx=0
for (sx=0; sx<=(sex.length-1); sx++)
{if (sex[sx].className=="pa-sex")
{if (sex[sx].innerHTML.indexOf("Мужской")!=-1)
{sex[sx].innerHTML="Пол: "+"<img src='мужская картинка' />"}
else if (sex[sx].innerHTML.indexOf("Женский")!=-1)
{sex[sx].innerHTML="Пол: "+"<img src='женская картинка' />"}
}}
</script>

0

17

Сделать все ссылки в сообщениях невидимыми для гостей

<script type="text/javascript">
if (!document.getElementById('navprofile'))
{
var posti=document.getElementById("pun-main").getElementsByTagName("div")
var oj=0
for (oj=0; oj<=(posti.length-1); oj++)
{if (posti[oj].className=="post-content")
{posti[oj].innerHTML=posti[oj].innerHTML.toLowerCase().replace(/<a href/g, "<font color='red'>Зарегься чтобы увидеть ссылки</font><a style='display: none;' href")}}
}
</script>

0

18

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

Код:
<html>
<html>
<head>
<title>Отключение правой кнопки мыши с выдачей сообщения</title>
<script language="JavaScript"  type="text/javascript">
<!--//
var message="Правая кнопка мыши отключена!"; // Здесь введите свою надпись, которая появится в окне предупреждения
function click(e) {
if (document.all) {
if (event.button ==1) { // Чтобы отключить левую кнопку поставьте цифру 1
alert(message);
return false;}}}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);}
document.onmousedown=click;
// -->
</script>
</head>
<body>
</body>
</html>

0

19

как сделать бегущею строку ? 

Код:
<marquee height="10" width="270" bgcolor="#99CCFF">
ВАШ ТЕКСТ </marquee>

0

20

Скрипт, запрещающий писать личные сообщения администратору простым пользователям

Код:
<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>

0


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