Скрипты для форумов

Объявление

Bash.org.rU
ChaT
© Все права защищены, подробнее.. нажимать на кнопку Copyright

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

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


Вы здесь » Скрипты для форумов » Новые возможности форумов » Скрипты >> часть1


Скрипты >> часть1

Сообщений 1 страница 30 из 39

1

Изменение ссылок на кнопки
на примере Новый Опрос и Новая тема

Код:
<script type="text/javascript">
function changeLink()
{var arr=document.links
for (j in arr)
{
if (arr[j].innerHTML=="Начать новую тему")
{arr[j].innerHTML="<img id='fifik1'"+" src='адрес картинки' />"}
else if (arr[j].innerHTML=="Начать опрос")
{arr[j].innerHTML="<img id='fifik2'"+" src='адрес картинки' />"}}}
changeLink()
</script>

ХТМЛ-низ

2

Падающие предметы

Код:
<SCRIPT LANGUAGE="JavaScript1.2">
<!-- Begin
var no = 25; // количество снежинок
var speed = 10; // скорость падения снежинок
var snowflake = "адрес_снежинки";

var ns4up = (document.layers) ? 1 : 0; // browser sniffer
var ie4up = (document.all) ? 1 : 0;
var dx, xp, yp; // coordinate and position variables
var am, stx, sty; // amplitude and step variables
var i, doc_width = 800, doc_height = 600;
if (ns4up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
} else if (ie4up) {
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
for (i = 0; i < no; ++ i) { 
dx[i] = 0; // set coordinate variables
xp[i] = Math.random()*(doc_width-50); // set position variables
yp[i] = Math.random()*doc_height;
am[i] = Math.random()*20; // set amplitude variables
stx[i] = 0.02 + Math.random()/10; // set step variables
sty[i] = 0.7 + Math.random(); // set step variables
if (ns4up) { // set layers
if (i == 0) {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
document.write("top=\"15\" visibility=\"show\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></layer>");
} else {
document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
document.write("top=\"15\" visibility=\"show\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></layer>");
}
} else if (ie4up) {
if (i == 0) {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></div>");
} else {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
document.write("visible; TOP: 15px; LEFT: 15px;\"><img src=\"");
document.write(snowflake + "\" border=\"0\"></div>");
}
}
}
function snowNS() { // Netscape main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i];
if (yp[i] > doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = 0;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
dx[i] += stx[i];
document.layers["dot"+i].top = yp[i];
document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("snowNS()", speed);
}
function snowIE() { // IE main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i];
if (yp[i] > doc_height-50) {
xp[i] = Math.random()*(doc_width-am[i]-30);
yp[i] = 0;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
dx[i] += stx[i];
document.all["dot"+i].style.pixelTop = yp[i];
document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
}
setTimeout("snowIE()", speed);
}
if (ns4up) {
snowNS();
} else if (ie4up) {
snowIE();
}
// End -->
</script>

Вместо Адрес_снежинки - вписать адрес той картинки, которая будет играть роль снежинок
ХТМЛ-низ

3

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

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

ХТМЛ-низ

4

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

Код:
<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=[b]Адрес форума[/b]/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>

Вместот Адрес форума не забудьте свой адрес вставить

ХТМЛ-низ

5

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

Код:
<script type="text/javascript">
var a =document.URL
var b=document.getElementById('pun-status').innerHTML
if (b.indexOf("[b]Никнейм[/b]")!=-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>

Вместо Никнейм - ник юзера, которому запретили менять.
ХТМЛ-низ

6

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

Код:
<script type="text/javascript">
var arr=document.links
[color=red]var arr1=new Array ("Admin", "Татьяна")[/color]
[color=blue]var arr2=new Array ("Ruslan", "WebMaster")[/color]
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>

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

ХТМЛ-низ

7

Продолжение скрипта для цветовыделения ников по группам
Данный скрипт ставиться не вместо, а помимо предыдущей части. Предыдущая меняла только те ники, которые ввиде ссылок. Эта часть изменит тестовые ники на всём форуме.

Код:
<script type="text/javascript">
var arr=document.getElementsByTagName("td")
var arr1=new Array ("Admin", "Татьяна")
var arr2=new Array ("Ruslan", "WebMaster")
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='red'>"+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='red'>"+arr2[i]+"</font>"+arr[x].innerHTML.substr (arr[x].innerHTML.indexOf(arr2[i])+arr2[i].length)}
i=i+1}}
x=x+1}}
</script>

ХТМЛ-низ

8

Запрет перехода по ссылке Активные

Код:
<script type="text/javascript">
function noWatch()
{alert ("Вам запрещено смотреть  эту ссылку")}
var a =document.links
for (x in a)
{if (a[x].innerHTML=="Активны")
{a[x].href="javascript: noWatch();"}}
</script>

Чтобы в скрипте админы могли все же перейти по ссылке.

Код:
<script type="text/javascript">
function noWatch()
{alert ("Вам запрещено смотреть  эту ссылку")}
var a =document.links
var b=document.getElementById('pun-status').innerHTML
for (x in a)
{if ((a[x].innerHTML=="Активны")&&(b.indexOf("Zebra")==-1)&&(b.indexOf("Admin")==-1))
{a[x].href="javascript: noWatch();"}}
</script>

Вместо Андрюха и Admin - ники твоих администраторов.

Код:
<script type="text/javascript">
var a=document.URL
var b=document.referrer
var c=document.getElementById('pun-status').innerHTML
if ((c.indexOf("Андрюха")==-1)&&(c.indexOf("Admin")==-1))
{
if (a=="адрес онлайна")
{
window.open (b, "_self")}}
</script>

Просто выкидывает на предыдущую страницу при попытке зайти на Активные.

Код:
<script type="text/javascript">
var a=document.URL
var c=document.getElementById('pun-status').innerHTML
if ((c.indexOf("Андрюха")==-1)&&(c.indexOf("Admin")==-1))
{
if (a=="адрес онлайна")
{
document.getElementById('pun-status').innerHTML="Вы не имеете права доступа к этой странице"
document.getElementById('pun-main').style.display="none"
}}
</script>

Пишет в статусе, что вы не можете посмотреть эту страницу и просто скрывает таблицу с тем, кто что делает. Правда ее можно будет посмотреть в HTML, хотя вряд ли кто-либо будет трудиться.
Выбирайте.

ХТМЛ-низ

9

Постепенно набирающееся название форума.

Код:
<script>
var tit = document.title;
var c = 0;

function writetitle() {
  document.title = tit.substring(0,c);
  if(c==tit.length) {
    c = 0;setTimeout("writetitle()", 3000)
  } else {
    c++;
    setTimeout("writetitle()", 200)
  }
}
writetitle()
</script>

ХТМЛ-низ

10

Скрипт, показывающий, сколько дней осталось до закрытия форума
Не совсем уверен в полезности данного скрипта, однако поступали множественные просьбы. Сам по себе - тяжелый. Но работает он только при нажатии на кнопку Countdown, так что не будет грузить форум зря.

Код:
<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()" />

ХТМЛ-низ

11

Профилактика форума

Код:
<script type="text/javascript">
if ((document.URL.indexOf("forum.mybb.ru")!=-1)&&(document.title!="Скрипты")&&(document.getElementById('pun-status').innerHTML.indexOf('Андрюха')==-1))
{window.open ("https://script.9bb.ru/", "_self")}
</script>

Вместо https://script.9bb.ru/ - свой адрес
Вместо Скрипты - название своего форума
Вместо Андрюха - ваш админский ник

И в объявление накатайте о профилактике, если хотите.

ХТМЛ-низ

12

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

Вместо текста Зарегистрируйся блин можно вписать люой текст, в том числе и 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>

[mod]ХТМЛ-низ[/mod]

13

Более жесткий вариант скрипта. Не поддается блокировке через 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;>[b]Заерегься или че угодно сюда[/b]</td></tr></table></div>

[mod]ХТМЛ-ввех[/mod]

Вместо
<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>

[mod]ХТМЛ-низ[/mod]

14

Скрипт замены надписей активны/неактивны под аватаром на картинки

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

[mod]ХТМЛ-низ[/mod]

15

Замена ссылок Профиль - ЛС - 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>

[mod]ХТМЛ-низ[/mod]

16

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

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

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

[mod]ХТМЛ-низ[/mod]

17

Добавлено: Если надо ещё и выход оставить, то код такой:

Код:
<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){
var logout
if(li=document.getElementById("navlogout"))
    logout=li.getElementsByTagName("a")[0].href

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

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

[mod]ХТМЛ-низ[/mod]

18

Скрипт окна нововстей форума

Скрипт, в отличии от кодов, которые вы вставляете с других сайтов и которые призваны отображать чужие новости, позволяет сделать в объявлении или где-либо фрейм с вами лично составляемыми новостями о вашем форуме.
Принцип работы как у стандартных подобных фреймов. В начальном сотоянии в нем отображаются все новости одна под другой в обрезанном, сокращенном виде. Рядом же стоит ссылка позволяющая развернуть и прочитать выбранную новость. При нажатии на нее окно полностью занимает текст новости в полном виде и вверху и внизу кнопки "Назад", чтобы прочитав, можно было вернуться к ощему списку нововстей.

Свернутый текст

<div id="mynews" style="overflow: scroll; width: 300px; height: 200px;">aaa</div>
<script type="text/javascript">
var p=0
var arrn=new Array(3)
arrn[0]="<h1>Комментарии и предложения</h1><br /> Все чувства, будь то удовлетворение или недовольство работой сервиса и этого форума, радость или огорчение по поводу каких-либо изменений, а так же предложения по улучшению работы – всё это сюда.<br />"
arrn[1]="<h1>Комментарии и предложения</h1><br /> Все чувства, будь то удовлетворение или недовольство работой сервиса и этого форума, радость или огорчение по поводу каких-либо изменений, а так же предложения по улучшению работы – всё это сюда.<br />"
arrn[2]="<h1>Комментарии и предложения</h1><br /> Все чувства, будь то удовлетворение или недовольство работой сервиса и этого форума, радость или огорчение по поводу каких-либо изменений, а так же предложения по улучшению работы – всё это сюда.<br />"

........................................
........................................Вместо точек добавляйте совй строчки

function cutNews(r)
{var cut
if (r.length>250)
{cut=r.substr(0, 200)}
else if ((r.length<=250)&&(r.length>=200))
{cut=r.substr(0, 170)}
else
{cut=r}
return cut}

function getNews()
{document.getElementById('mynews').innerHTML=""
for (p=0; p<=2; p++)
{document.getElementById('mynews').innerHTML=document.getElementById('mynews').innerHTML+cutNews(arrn[p])+"..."+"<a name='newie'>"+p+"</a>"+"<br /><br />"}
defineIt()}

function defineIt()
{var net=document.getElementsByName("newie")
var o=0
for (o=0; o<=2; o++)
{if (net[o].innerHTML=="0")
{net[o].href ="javascript: allNews(0);"}
else if (net[o].innerHTML=="[color=white]1")
{net[o].href ="javascript: allNews(1);"}[/color]
else if (net[o].innerHTML=="2")
{net[o].href ="javascript: allNews(3);"}}}

function allNews(j)
{var back="<p align='center'>"+"<a href='javascript: getNews();'><&#60 Назад</a></p>"
document.getElementById('mynews').innerHTML=back+"<br />"+arrn[j]+"<br />"+back}

getNews()
</script>

Обратите внимание на салатовые строчки. Их должно быть столько, сколько у вас новостей одновременно показывается. Больше 10 не советую. Нумерация в квадратных скобках по порядку, с нуля. Вместо зеленой цифры поставьте число ваших новостей. Жирным в новостях обозначены заголовки новостей. Пренос на другую строку в тексте новости обозначайте как <br /> а не в коем случаем не энтером.
Посмотрите на синий блок скрипта. Их должно быть стоько, сколько у вас новостей. Там где жирные цифры не забывайте менять нумерацию.

Так же в CSS вы можете оформить дизайн окна по вашему разумению
<style type="text/css">
#my news {...}   само окно
#my news h1 {...}  заголовки в нем
#mynews a {...}  ссылки в нем.
</style>

[mod]ХТМЛ-низ[/mod]

19

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

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

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

Автор: Андрюха
Администратор
Аватар
Зарегистрирован: 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>

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

[mod]ХТМЛ-низ[/mod]

20

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

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

[mod]ХТМЛ-низ[/mod]

21

Добавлено:
то же, во варианте к самому верху страницы

<script type="text/javascript">
var up=document.getElementsByTagName("h3")
var ini=up[0].getElementsByTagName("a")[0].href
var p=1
for (p=1; p<=(up.length-1); p++)
{up[p].innerHTML=up[p].innerHTML.substr(0, 14)+"<a href='javascript: scroll(0, 0);'>"+"Upperpost</a>  "+up[p].innerHTML.substr(14)}
</script>

Вместо Upperpost опять все, что душе угодно.

[mod]ХТМЛ-низ[/mod]

22

При наведении мышки на гиперссылку в строке браузера отображается надпись.

Свернутый текст

<HTML>
<HEAD>
<TITLE> Движущееся приветствие в строке status
браузера </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function scrollit_r2l(seed) {
  var m1 = " Приветствуем вас на нашем форуме! ";
  var m2 = " Вас приветствует форум Адрей форума ";
  var msg=m1+m2;
  var out = " ";
  var c = 1;
  if (seed > 100) {
   seed--;
   var cmd="scrollit_r2l(" + seed + ")";
   timerTwo=window.setTimeout(cmd,100);
  }
  else if (seed <= 100 && seed > 0) {
   for (c=0 ; c < seed ; c++) {
    out+=" ";
   }
   out+=msg;
   seed--;
   var cmd="scrollit_r2l(" + seed + ")";
   window.status=out;
   timerTwo=window.setTimeout(cmd,100);
  }
  else if (seed <= 0) {
   if (-seed < msg.length) {
    out+=msg.substring(-seed,msg.length);
    seed--;
    var cmd="scrollit_r2l(" + seed + ")";
    window.status=out;
    timerTwo=window.setTimeout (cmd,100);
   }
   else {
    window.status=" ";
    timerTwo=window.setTimeout ("scrollit_r2l(100)",75);
   }
  }
}
//---->
</SCRIPT>
</HEAD>
<BODY background="" bgcolor=white text=#000000
link=#0000FF vlink=#8000FF alink=#FF0000 onLoad=
"timerONE=window.setTimeout('scrollit_r2l(100)',500);">
</BODY>
</HTML>

ТО ЧТО ВЫДЕЛЕНОЕ КРАСНЫМ ИЗМЕНЯЕШЬ НА СВОЕ

[mod]ХТМЛ-низ[/mod]

23

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

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

[mod]ХТМЛ-низ[/mod]

24

Попап с картинкой при нажатии на ссылку

Код:
<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()">СЦЫЛКА</a>

[mod]ХТМЛ-низ[/mod]

25

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

Код:
<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("Андрюха","Модер")
через запятую перечисляете столько пользователей, сколько душе угодно

[mod]ХТМЛ-низ[/mod]

26

Оформление названий новых/важных/закрытых тем

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

Код:
<script type="text/javascript">
var rows=document.getElementsByTagName("tr")
var no=0
for (no=0; no<=(rows.length-1); no++)
{if (rows[no].className.indexOf("isticky")!=-1)
{rows[no].getElementsByTagName("a")[0].innerHTML="<font color='red'><b>"+rows[no].getElementsByTagName("a")[0].innerHTML+"</b></font>"}
else if (rows[no].className.indexOf("inew")!=-1)
{rows[no].getElementsByTagName("a")[0].innerHTML="<font color='green'>"+rows[no].getElementsByTagName("a")[0].innerHTML+"</font>"}
else if (rows[no].className.indexOf("iclosed")!=-1)
{rows[no].getElementsByTagName("a")[0].innerHTML="<font color='yellow'>"+rows[no].getElementsByTagName("a")[0].innerHTML+"</font>"}
}
</script>

Рассмотрим блок
{if (rows[no].className.indexOf("isticky")!=-1)
{rows[no].getElementsByTagName("a")[0].innerHTML="<font color='red'><b>"+rows[no].getElementsByTagName("a")[0].innerHTML+"</b></font>"}

Этот блок кода оформляет текст Важных тем. isticky указывает именно на важные темы.
Видим rows[no].getElementsByTagName("a")[0].innerHTML. Этот кусок означает текст ссылки темы. Вокруг него мы решили поставить следующее оформление:
-сделать текст красным
-сделать жирным
Как знаем из хтмл, это достигается следующим образом:

<font color='red'><b>Наш текст</b></font>

Если хотите, можно использовать вокруг текста сылки любые друие хтмл теги.
Чтобы перенести эти теги в скрипт мы делаем следующее
-Заковычиваем передние теги в " "
-ставим плюс
-ставим текст ссылки (rows[no].getElementsByTagName("a")[0].innerHTML)
-ставим плюс
-ставим конечные теги в ковычках.

В данном случае у нас получилось

="<font color='red'><b>"+rows[no].getElementsByTagName("a")[0].innerHTML+"</b></font>"

Следующие два блока кода отвечают соответсвенно за:

-новые темы (inew)
-закрытые темы (iclosed)

Если какой-то вид тем вы отдельно оформлять не собираетесь - соответствующий кусок скрипта можно выкинуть.

[mod]ХТМЛ-низ[/mod]

27

Индивидуальный статус картинкой

Как мы знаем, в поле статуса html вставлять нельзя.  Однако заменить статус картинкой все же можно. Прописываем у нужного человек в статусе индивидуальный стаутс буквами. Здесь разберем пример с заменой стаусов "координатор" и "заслуженный".

Свернутый текст

<script type="text/javascript">
var authors=document.getElementsByTagName("ul")
var feg=0
for (feg=0; feg<=(authors.length-1); feg++)
{if (authors[feg].innerHTML.indexOf("pa-author")!=-1)
{
if (authors[feg].getElementsByTagName("li")[1].innerHTML.indexOf("Координатор")!=-1)
{authors[feg].getElementsByTagName("li")[1].innerHTML="<img src='http://help.mybb.ru/uploads/help/303_sm.jpg' />"}
else if (authors[feg].getElementsByTagName("li")[1].innerHTML.indexOf("Заслуженный")!=-1)
{authors[feg].getElementsByTagName("li")[1].innerHTML="<img src='http://help.mybb.ru/uploads/help/303_zas.jpg' />"}}}

</script>

Принцип работы, думаю, объяснуть не стоит. Итак понятен. Часть синим шрифтом - произвольная: ее можно как выкинуть, если заменяемый статус тока один, так и размножить столько раз, сколько вы будете заменять статусов.

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

[mod]ХТМЛ-низ[/mod]

28

Функция Описание темы (аналог 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>

[mod]ХТЛМ-низ[/mod]

29

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

Код:
<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()" />

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

[mod]Под форму ответа[/mod]

30

Скрипт спойлера (подсказки) в сообщении

Вариант со сворачиванием

Код:
<script type="text/javascript">
var teg=">"
var teg1="<p>"
var hint="</div>"
var hint1="<div style='display: none;'>"
var hint2="display: none"
var hid="if (innerHTML.toLowerCase().indexOf(hint2)!=-1) {innerHTML=innerHTML.substring(0, (innerHTML.toLowerCase().indexOf(teg)+1))"+"+innerHTML.substring((innerHTML.toLowerCase().indexOf(teg1)), (innerHTML.length-6))} else {innerHTML=innerHTML.substring(0, (innerHTML.toLowerCase().indexOf(teg)+1))+hint1+innerHTML.substr(innerHTML.toLowerCase().indexOf(teg1))+hint}"
var trt="<div onclick='"+hid+"'>"+"<img src='http://uploads.ru/images/k/karpoff/down.gif' /><div style='display: none;'><p>"
var trt1="</p></div></div>"
var quers=document.getElementById('pun-main').getElementsByTagName("div")
var pl=0
for (pl=0; pl<=(quers.length-1); pl++)
{if (quers[pl].className=="post-body")
{quers[pl].innerHTML=quers[pl].innerHTML.replace(/&lt;spoiler&gt;/g, trt)
quers[pl].innerHTML=quers[pl].innerHTML.replace(/&lt;endspoiler&gt;/g, trt1)}}
</script>

[mod]ХТМЛ-низ[/mod]

Вариант без сворачивания (при повторных кликах с подсказкой ничего не происходит)

Код:
<script type="text/javascript">
var teg=">"
var teg1="<p>"
var hint="</div>"
var hint1="<div style='display: none;'>"
var hint2="display: none"
var hid="if (innerHTML.toLowerCase().indexOf(hint2)!=-1) {innerHTML=innerHTML.substring(0, (innerHTML.toLowerCase().indexOf(teg)+1))"+"+innerHTML.substring((innerHTML.toLowerCase().indexOf(teg1)), (innerHTML.length-6))}"
var trt="<div onclick='"+hid+"'>"+"<img src='http://uploads.ru/images/k/karpoff/down.gif' /><div style='display: none;'><p>"
var trt1="</p></div></div>"
var quers=document.getElementById('pun-main').getElementsByTagName("div")
var pl=0
for (pl=0; pl<=(quers.length-1); pl++)
{if (quers[pl].className=="post-body")
{quers[pl].innerHTML=quers[pl].innerHTML.replace(/&lt;spoiler&gt;/g, trt)
quers[pl].innerHTML=quers[pl].innerHTML.replace(/&lt;endspoiler&gt;/g, trt1)}}
</script>

[mod]ХТМЛ-низ[/mod]

Код:
<script type="text/javascript">
if ((document.URL.indexOf("viewtopic.php")!=-1)||(document.URL.indexOf("post.php")!=-1))
{document.getElementsByName("submit")[0].onclick=checkSpoilers}

function checkSpoilers()
{
var ents=new Array()
var qa=0
ents[0]=document.getElementsByTagName("textarea")[0].value
qa=1

while (ents[qa-1].indexOf("<spoiler>")!=-1)
{
ents[qa]=ents[qa-1].substr((ents[qa-1].indexOf("<spoiler>")+2))
if ((ents[qa].indexOf("<endspoiler>")==-1)||((ents[qa].indexOf("<endspoiler>")!=-1)&&(ents[qa].indexOf("<spoiler>")!=-1)&&(ents[qa].indexOf("<endspoiler>")>ents[qa].indexOf("<spoiler>"))))
{alert("Вы поместили одну подсказку внутри другой, или же забыли закрыть тег подсказки. Вернитесь к сообщению и исправьте ошибки, затем снова нажмите отправить")
return false}
else
{qa=qa+1}}}

</script>

[mod]ХТМЛ-низ[/mod]

И, наконец, кнопка для вставки тега

Код:
<input type="button" value="Подсказка" onclick="insert_text('<spoiler>', '<endspoiler>')" />

[mod]Под форму ответа[/mod]


Вы здесь » Скрипты для форумов » Новые возможности форумов » Скрипты >> часть1