Техническая поддержка SpyBB

Объявление

Ответы на часто задаваемые вопросы  |  FAQ по администрированию форума  |  FAQ по дизайну форума в CSS  |  Абсолютный помощник по дизайну  |  Навигатор по форуму

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

● 24 марта 2012г. - Закрепление первого сообщения
● 23 марта 2012г.: Изменения в форме ответа - Добавлен стандартный спойлер. Доработан функционал кнопок

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

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


Вы здесь » Техническая поддержка SpyBB » Архив » Новые возможности. Скрипты.


Новые возможности. Скрипты.

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

21

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

22

Скрипт сворачивания объявления

СОХРАНЯЕТ ДЕЙСТВИЕ ПРИ ПЕРЕХОДЕ НА ДРУГИЕ СТРАНИцы (в осле, лисе, и опере)

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

23

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

Код:
<script type="text/javascript">
<!--
if (document.URL.indexOf("viewforum")!=-1){
var trs=document.getElementById('pun-main').getElementsByTagName("table")[0].rows
for (io=1; io<=(trs.length-1); io++){
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)
for(j=0;j<4;j++){
nl=normal.insertCell(0)
nl.className="tc2"
nl.innerHTML="&nbsp;"
nl.style.borderLeft="0px"}
nl.innerHTML="<b>Темы форума</b>"
nl.style.textAlign="left"
}}}
-->
</script>

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

0

24

Скрытие ссылок в статистике. Zebra

При отображении полной статистики многие желали бы скрыть ссылки  Администрация и Полная статистика. Данный скрипт решает эту проблему (Ставить в ХТМЛ -низ):

Код:
<script type="text/javascript">
var wer=document.getElementById('pun-stats').getElementsByTagName("a")
var v=0
for (v=0; v<=(wer.length-1); v++)
{if ((wer[v].innerHTML=="Администрация")||(wer[v].innerHTML.indexOf("Полная")!=-1))
{wer[v].style.display="none"}}
</script>

0

25

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

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

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

Код:
    <script type="text/javascript">
    var myforum="durak.3bb.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" />

Вместо durak.3bb.ru - ваш адрес форума,

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

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

Опасен ли скрипт, и чем это все грозит?

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

Что делать если...

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

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

0

26

Новый спойлер

вот написал скрипт для спойлера.
Поддерживает множественные спойлеры и даже встроенные

Работает по принципу bbcode, тоесть есть тег

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

текст внутри которого превращается в спойлер. Для удобства добавил кнопочку в панели над формой ответа. (Чтобы поменять картинку на свою замените адрес выделенный жирным)
/* картинка предоставлена MegaMan*/

ВСТАВЛЯЕМ В html-НИЗ!!!
конечно удобнее его вставить в html в форме ответа, но тогда гости не смогут видеть его.

ВНИМАНИЕ! Никакой защиты от дурака в нём нет, так что следите за правильностью написания тегов чтобы не получилось билеберды.

Код:
    <script>
    function addSpoiler(str,from,internal){
    var pos=0,pos2=0,newpos=0
    if((pos=str.indexOf("[spoiler]",from))==-1) return str;
    if((pos2=str.indexOf("[/spoiler]"),pos+9)==-1) return str;
    newpos=str.indexOf("[spoiler]",pos+9)
    if(newpos<pos2 && newpos!=-1) str=addSpoiler(str,pos+9,true)
    if((pos2=str.indexOf("[/spoiler]",pos+9))==-1) return str;
    str=str.substring(0,pos)+makeSpoiler(str.substring(pos+9,pos2))+str.substring(pos2+10,str.length)
    if( str.indexOf("[spoiler]")!=-1 && internal==false) str=addSpoiler(str,0,false)
    return str}

    function makeSpoiler(txt){
    txt="<div class=quote-box style='padding:1px'><cite style='width:100%'>Спойлер <input style='width:60px;margin-left:70%;font-size:10px;' type='button' value='Показать' onclick='hideSpoiler(this)'></cite><blockquote style='display:none'>"+txt+"</blockquote></div>"
    return txt}

    function hideSpoiler(sp){
    spoiler=sp.parentNode.parentNode.getElementsByTagName("blockquote")[0]
    if(spoiler.style.display=='none'){
    spoiler.style.display='inline'
    sp.value='Скрыть'}
    else{
    spoiler.style.display='none'
    sp.value='Показать'}}

    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=addSpoiler(post.innerHTML,0,false)}}
    if(form=document.getElementById("form-buttons"))
    form.getElementsByTagName("tr")[0].insertCell(14).innerHTML="<img onclick=\"insert_text('[spoiler]', '[/spoiler]')\" src='http://karpoff.5bb.ru/uploads/karpoff/2_spoiler.gif' alt='Спойлер' />"
    </script>

ps
работоспособность смотрим тут
о багах сообщаем...

0

27

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

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

28

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

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

29

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

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

+3

30

http://forumupload.ru/uploads/0000/14/a5/12680-1.jpg

Данный скрипт создаст кнопку в строке значков сообщения.
Благодаря которой форумчане смогут загружать любые файлы размером до 1Gb.
Все файлы будут хранится на отдельных серверах не связанных в mybb.ru.
Также, при желании, можно назначить пароль на файл.

<script type="text/javascript">
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(19).innerHTML="<a href='javascript:void(0);' onclick=\"window.open('http://www.sharing.ru/upload/partner.php?id=1', 'uploadfile', 'width=500, height=275, top=200, left=200');\"><img title='Вставить файл' src='http://forumupload.ru/uploads/0000/14/a5/12680-1.jpg' width='21' height='20' /></a>"
</script>

Красным цветом выделен порядковый номер в строке значков. Отсчет идет с 0.

Скрипт вставляй те в » Администрирование - Настройки - HTML в форме ответа.

0

31

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

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

0

32

Сокрытие информации под аватаром с помощью кнопки.(с) Karpoff

Код:
<script>
function HideInfo(id,but){
if(but.value=="+"){
  but.value = "-";document.getElementById(id).style.display = ""}
else{
  but.value = "+";document.getElementById(id).style.display = "none"}
  return false}

d = document.getElementsByTagName("div")

for (i=0;d[i]; i++){
if (d[i].className.indexOf("post-author")!=-1){t = d[i].innerHTML
   if((j = t.toLowerCase().indexOf("<li class=pa-from>"))!=-1 || (j = t.toLowerCase().indexOf("<li class=\"pa-from\">"))!=-1 || (j = t.toLowerCase().indexOf("<li class=pa-reg>"))!=-1 || (j = t.toLowerCase().indexOf("<li class=\"pa-reg\">"))!=-1)
    d[i].innerHTML = t.substring(0,j)+"<input type='Submit' onClick=\"return HideInfo('info"+i+"',this)\" value='+'><br><div id='info"+i+"' style='display:none'>"+t.substring(j,t.length)+"</div>"}}
</script>
Karpoff написал(а):

Вставляем в html-низ или в форму ответа
Если вставить в форму ответа, то скрипт не будет лишний раз грузиться на главной странице, на странице просмотра тем итд, но при этом скрипт будет работать только для зарегистрированных пользователей которые могут отвечать в данной теме. Так что куда вставлять выбираем сами

Пока скрипт сырой, работает только в ИЕ. Теперь во всех браузерах

0

33

Цветовыделение на форуме
Вот скрипт, делающий это.

<script language="JavaScript">
modList = new Array(9,8,6,5,4,3)
admList = new Array(2,7)

modColor="#0000FF"
admColor="Red"

function checkNik(list,id)
{
i=0
while(list[i]){
    if(id==list[i])
    return true;
    i++
}
return false
}
function editLink(alink,color)
{
alink.innerHTML = "<font color="+color+">"+alink.innerHTML+"</font>"
}

page=document.URL
page=page.substring(page.lastIndexOf("/")+1)
if(page=="" || page=="index.php") {

arr=document.getElementById("pun-stats").getElementsByTagName("li")[4].getElementsByTagName("a")
x=0
while(arr[x])
{
hr=arr[x].href
id=hr.substring(hr.indexOf("=")+1)
if(checkNik(modList,id))
    editLink(arr[x],modColor)
if(checkNik(admList,id))
    editLink(arr[x],admColor)
x++
}

arr=document.getElementById("pun-stats").getElementsByTagName("li")[5].getElementsByTagName("a")
x=0
while(arr[x])
{
hr=arr[x].href
id=hr.substring(hr.indexOf("=")+1)
if(checkNik(modList,id))
    editLink(arr[x],modColor)
if(checkNik(admList,id))
    editLink(arr[x],admColor)
x++
}
}
</script>

Теперь настройки...
вначале смотрим выделенное. Это фактически список админов и модеров.
В переменную modList записываем через запятую id модеров (узнать их можно посмотрев ссылку на их профиль. число идущее после id=..)
Соответственно в переменную admList записываем id админов.

Теперь смотрим выделенное второе. Это цвета, которыми выделяются модеры(modColor) и админы(admColor). Меняем их на нужные. Можно использовать как текстовые названия цветов, так и полные числовые, как показано в примере.

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

0

34

Кнопки "в кириллицу" и "в латиницу" (c) Zebra

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

<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

35

Скрытия Админского ника или пребывание Админа на форуме Автор: Zebra

<script type="text/javascript">
var who=document.getElementById('pun-status').innerHTML
var whi=document.getElementsByTagName("tr")
var s=0
if (document.URL=="http://forum.mybb.ru/online.php")
{for (s=0; s<=(whi.length-1);s++)
{if ((whi[s].innerHTML.indexOf("Zebra")!=-1)||(whi[s].innerHTML.indexOf("Artefact")!=-1))
{whi[s].style.display="none"}}}
</script>
<script type="text/javascript">
var def=document.getElementById('onlinelist')
var def1=def.getElementsByTagName("a")
for (f in def1)
{if ((def1[f].innerHTML=="Zebra")||(def1[f].innerHTML=="Artefact"))
{def1[f].style.display="none"}}
</script>

Рассчитан для двух Администраторов.
Вместо выделенного жирным вставляете свои данные и вуаля Вы пропадаете с форума,  Вас и нету вроде вовсе.
Скрипт ставится в ХТМЛ-низ.... Работает хорошо под Эксплорер под другие браузеры не проверял.
Увы не на всех форумах может сработать скрытия ника Админского, но вот скрытия где находится Админ работает Стабильно

0

36

Аватар по умолчанию
(c) Karpoff

<script type="text/javascript">
defaultPict = "http://forumupload.ru/uploads/0000/12/13/61-1.png"

var arr=document.getElementsByTagName("ul")
i=1
while(arr[++i]){
str=arr[i].innerHTML
if(str.indexOf("pa-avatar")==-1) {
q=str.toLowerCase()
if((pos=q.indexOf("<li class=pa-from>"))!=-1 || (pos=q.indexOf("<li class=\"pa-from\">"))!=-1 || (pos=q.indexOf("<li class=pa-reg>"))!=-1 || (pos=q.indexOf("<li class=\"pa-reg\">"))!=-1){
nstr =str.substring(0,pos)
nstr+="<li class=\"pa-avatar item2\"><img src="+ defaultPict +" alt=\"Аватар\" /></li>"
nstr+=str.substring(pos)
arr[i].innerHTML=nstr
}}}
</script>

Скрипт для установки аватара по умолчанию.
Если у пользователя не выбран аватар, то он ставит ему дефаултный (он указывается в строчке, выделенной красным).
Вставлять лучше в html-box под формой ответа. Тогда он не будет лишний раз грузиться.

Скрипт на тестировании - при возникновении с ним проблем обращайтесь на форум.

0

37

Картинка в категории
(с) Duka

<script type="text/javascript">
var logo="<img src='http://mybb.ru/f/collection/0211.gif'>"
var arr=document.getElementsByTagName("div")
i=0
while(arr[i] ){
if(arr[i].className=="category"){
name=arr[i].innerHTML
name=name.substring(48)
arr[i].innerHTML="<h2><div class=\"catleft\"><!-- --></div><span> "+logo+" &ensp;"+name+""
}
i++
}
</script>

В HTML-низ, жирное меняем на свое.

0

38

Информационное табло на форум. Бета-версия (c) Duka

Код:
<script type="text/javascript">
var news="Новость"
var news1="Нет новости1"
var link1=""
var news2="Нет новости2"
var link2=""
var news3="Нет новости3"
var link3=""
var news4="Нет новости4"
var link4=""
var tablo="<div id=\"pun-category1\" class=\"category\"><h2><div class=\"catleft\"><!-- --></div><span>Информационное табло</span><div class=\"catright\"><!-- --></div></h2><div class=\"container\"><table cellspacing=\"0\"><thead><tr><th scope=\"col\">Новости</th><th scope=\"col\">Статистика сообщений</th><th scope=\"col\">Статистика пользователей</th><th scope=\"col\">4 Новости дня</th></tr></thead><tbody class=\"hasicon\"><td>"+news+"</td><td class=\"tc2\">Не хотите ли просмотреть<br/><a href='/search.php?action=show_24h'>Активные темы</a><br/>или <br/><a href='/search.php?action=show_new'>Новые сообщения</a><br/>с момента вашего последнего визита?<br/></td><td class=\"tc3\"><a title=\"Самые активные пользователи форума\" href=\"statistic.php?action=active_users\">Самые активные</a><br><Br><a title=\"Самые активные пользователи сегодня\" href=\"statistic.php?action=active_users_today\">Активные сегодня</a><br><br><a title=\"Администрация форума\" href=\"statistic.php?action=administration\">Администрация</a><br><br><a title=\"Посмотреть полную статистику\" href=\"statistic.php\">Полная статистика</a></td><td class=\"tcr\"><a href="+link1+">"+news1+"</a><br><a href="+link2+">"+news2+"</a><br><a href="+link3+">"+news3+"</a><br><a href="+link4+">"+news4+"</a></td></tr></tbody></table></div></div>"
var arr=document.getElementsByTagName("div")
i=0
str=document.URL
while(arr[i] ){
if((str.substring(str.lastIndexOf('/')+1)=="" || str.substring(str.lastIndexOf('/')+1)=="index.php") && arr[i].className=="main"){
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML=""+tablo+"<br>"+name+""
}
i++
}
</script>

Этот скрипт сделает на вашем форуме Новое усовершенствованое табло, которое будет дополнением к таблице.
Скрипт будет отображаться только на главной странице

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

Желательно ставить в самый верх html-низ.
Как настроить скрипт?
var news="Нет новостей"
Вместо Нет новостей Пишим любой текст, можно и хтмл, но НИКАКИХ КОВЫЧЕК! Заменяйте свои ковычки на ' (апостроф) или же ставьте перед каждой ковычки \ , дабы экранировать их.
Эта часть скрипта будет самой левой частью колонки.

var news1="Нет новости1"
var link1=""
var news2="Нет новости2"
var link2=""
var news3="Нет новости3"
var link3=""
var news4="Нет новости4"
var link4=""
За что отвечают эти строчки?
Эти строки выводят ссылки в самой правой части колонки. Вместо Нет новости1, а также 2,3,4 вводите Заголовки ссылки, а в  var link1="" в сами ковычки добавляете ссылку на тему(или страницу)
т.е. долюно получится примерно так:
var news1="Скрипты от пользователей"
var link1="http://forum.mybb.ru/viewtopic.php?id=6902"
Так же и с остальными ссылками.
Т.е. в скрипте я заранее прописал шаблон примерно такого вида <a href=ссылка>Заголовок</a>, чтобы вы ничего не начудили так, а сразу подставили в поля свои данные.
Это единственное, что можно поменять на свое, не опасаясь за скрипт. Если вы владеете уверенными знаниями в HTML,а также знанием html-структуры форума, то можете смело осторожно глянуть на строчку var tablo= и поменять пару фраз. Что находится во втором столбце? Там находятся 2 ссылки на Новые сообщения, и Активные темы. Что в третем столбце? Там находятся ссылки на функции, которые администратор отключил. Некоторое время они окажутся ненужными, но когда Admin включит полную статистику, то тогда и эти ссылки окажутся нам полезными.

Табло адаптируется под каждый форум автоматически, т.е. срабатывает под каждый стиль. Ненадо беспокоиться о внешних качествах, ведь табло примет все стили форума на себя и станет ее частью)

Есть небольшие деффекты, которые мне исправить не под силу: я просто унаследовал всю таблицу у категории с форумом, поэтому если стиль хочет, чтобы в 3 столбце надписи были курсивом, то и в таблице третий слобик будет курсивом.

Пользуемся, но помним: Никаких ковычек(либо экранируйте их)

0

39

Кнопки:
(с) Duka
Радикал(Все браузеры)

Код:
<style>
#button-radikal {background-image:url('http://i030.radikal.ru/0801/42/1f834142714e.gif'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%}
</style>
<script type="text/javascript">
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(18).innerHTML="<a href='javascript:void(0);' onclick=\"window.open('http://www.radikal.ru/', 'uploadfile', 'width=1024, height=768, top=200, left=200');\"><img src='/i/blank.gif' title='Загрузить картинку' id='button-radikal' /></a>"
</script>

Загрузка файлов(Все браузеры)

Код:
<style>
#button-upload {background-image:url('http://i009.radikal.ru/0803/66/cefd3c62e92a.png'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%}
</style>
<script type="text/javascript">
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(18).innerHTML="<a href='javascript:void(0);' onclick=\"window.open('http://filestock.ru/', 'uploadfile', 'width=1024, height=760, top=200, left=200');\"><img src='/i/blank.gif' title='Загрузить картинку' id='button-upload' width='16' height='12' /></a>"
</script>

Кнопка YouTube(Все браузеры)

Код:
<style>
#button-youtube {background-image:url('http://img98.imageshack.us/img98/1641/youtubeua3.png'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%}
</style>
<script type="text/javascript">
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(15).innerHTML="<img src='/i/blank.gif' title='Вставить YouTube' id='button-youtube'  onclick=\"bbcode('[youtube]', '[/youtube]');\"/>"
</script>

Кнопка RuTube(Все браузеры)

Код:
<style>
#button-rutube {background-image:url('http://img227.imageshack.us/img227/9287/rutubepp0.png'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%}
</style>
<script type="text/javascript">
if(form=document.getElementById("form-buttons"))
form.getElementsByTagName("tr")[0].insertCell(18).innerHTML="<img src='/i/blank.gif' title='Вставить RuTube' id='button-rutube'  onclick=\"bbcode('[rutube1]', '[/rutube1]');\"/>"
</script>

Ставить в HTML в форме ответа.

0

40

Сворачивание подписи. Duka
Идея: Lord Fell
Разработка: Duka
В HTML в форме ответа или в HTML-низ ставим следущее:

Код:
<script language="JavaScript1.2">
<!--
var ns6=document.getElementById&&!document.all?1:0

var head="display:''"
var folder=''

function expandit(curobj){
folder=ns6?curobj.nextSibling.nextSibling.style:document.all[curobj.sourceIndex+1].style
if (folder.display=="none")
folder.display=""
else
folder.display="none"
}

//-->
</script>
<script type="text/javascript">
var arr=document.getElementsByTagName("dl")
i=0
str=document.URL
while(arr[i] ){
if(arr[i].className=="post-sig"){
name=arr[i].innerHTML
name=name.substring(43)
arr[i].innerHTML="<dt><span>Подпись автора</span></dt><dd><p><span style='cursor:hand' onClick='expandit(this)'>Показать подпись</span><span  style='display:none' style=&{head};><br>"+name+"</span></p></dd>"
}
i++
}
</script>

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

0


Вы здесь » Техническая поддержка SpyBB » Архив » Новые возможности. Скрипты.