у кого есть какие скрипты полезные для форума милости прошу
Скрипты
Сообщений 1 страница 21 из 21
Поделиться225 ноября, 2006г. 10:32:04
вот например код для того чтобы в титле название набиралось по букве.
<script> var tit = document.title; var c = 0; function writetitle() { document.title = tit.substring(0,c); if(c==tit.length) { c = 0;setTimeout("writetitle()", 10000) } else { c++; setTimeout("writetitle()", 50) } } writetitle() </script>
Поделиться325 ноября, 2006г. 10:33:49
Скрипт, запрещающий писать личные сообщения администратору простым пользователям
<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>
Вставлять в html-низ
Поделиться425 ноября, 2006г. 10:35:22
Форма входа на форум (логин и пароль) в окне статуса
<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://theelven.mybb.ru/login.php?action=in'"+" onsubmit='return process_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 process_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>
Вместот жирног не забудьте свой адрес вставить.
Поделиться525 ноября, 2006г. 10:41:23
Запрет на установку аватара и подписи отдельным пользователям
<script type="text/javascript">
var a =document.URL
var b=document.getElementById('pun-status').innerHTML
if (b.indexOf("Seebostian")!=-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>
Вместо Seebostian - ник юзера, которому запретили менять.
Поделиться625 ноября, 2006г. 11:27:45
Спосибо,пороботал на славу!
Поделиться725 ноября, 2006г. 12:56:00
еще
Скрипт универсального цветовыделения групп
<script type="text/javascript">
var arr=document.links
var arr1=new Array ("Admin", "Татьяна")
var arr2=new Array ("Ruslan", "WebMaster")
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>
В красную строчку в скобочки, через запятую, в кавычках, пишем имена админов
В синию - модеров.
Меняет цвета админов на красный, модеров на синий - на всем форуме.
Поделиться825 ноября, 2006г. 12:59:33
Продолжение скрипта для цветовыделения ников по группам
Данный скрипт ставиться не вместо, а помимо предыдущей части. Предыдущая меняла только те ники, которые ввиде ссылок. Эта часть изменит тестовые ники на всём форуме.
<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>
Вставлять в html-низ!!!
Поделиться927 ноября, 2006г. 11:57:34
Запрет перехода по ссылке Активные
<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("Seebostian")==-1)&&(b.indexOf("Admin")==-1))
{a[x].href="javascript: noWatch();"}}
</script>
Вместо Seebostian и Admin - ники твоих администраторов.
<script type="text/javascript">
var a=document.URL
var b=document.referrer
var c=document.getElementById('pun-status').innerHTML
if ((c.indexOf("Seebostian")==-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("Zebra")==-1)&&(c.indexOf("Admin")==-1))
{
if (a=="адрес онлайна")
{
document.getElementById('pun-status').innerHTML="Вы не имеете права доступа к этой странице"
document.getElementById('pun-main').style.display="none"
}}
</script>
Пишет в статусе, что вы не можете посмотреть эту страницу и просто скрывает таблицу с тем, кто что делает. Правда ее можно будет посмотреть в HTML, хотя вряд ли кто-либо будет трудиться.
Выбирайте.
Поделиться1027 ноября, 2006г. 12:03:51
Очень многим не нравится то, что просмотрев результаты опроса, в нём нельзя голосовать. Я считаю, что это правильно, но пользователи не зная об этом смотрят результаты и потом кричатся мол почему я не могу проголосовать....
Так вот решение данной проблемы. Как всегда через скрипты, вставлять в ХТМЛ - низ
<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>
Вставляйте этот скрипт, и при нажатии на кнопку просмотра результатов опроса, будет выскакивать окошко с вопросом и предупреждении невозможности последующего голосования (ну и фраза вышла )
Кстати, если эта кнопка вообще не нужна, вставляйте этот скрипт:
<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].type = "hidden"
break
}
i++
}
}
</script>
Поделиться1127 ноября, 2006г. 12:07:43
Замена слова "Модераторы" на главной странице форума
<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 укажи слово(или фразу) которым хочешь заменить слово "модераторы", "Главный дозорный" на главной странице форума под названием каждого форума.
Вставлять в html-низ
ps. Если вообще не хочешь чтобы весь список модеров отображался, вставь это:
<style>
#pun td .modlist{display:none;}
</style>
Если только в конкретном разделе то там пишем
<font style="display:none;">
Поделиться1227 ноября, 2006г. 12:09:26
Скрипт для установки аватара по умолчанию.
<script type="text/javascript">
defaultPict = "http://forum.5bb.ru/uploads/forum/2_noavatar.png"var arr=document.getElementsByTagName("ul")
for(i=3;arr[i];i+=2) {
str=arr[i].innerHTML
if(str.indexOf("pa-avatar")==-1) {
if((pos=str.indexOf("<LI class=pa-reg>"))==-1)
pos=str.indexOf("<LI class=\"pa-reg\">")
if(pos!=-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 под формой ответа. Тогда он не будет лишний раз грузиться.
Поделиться1327 ноября, 2006г. 12:27:37
Cкрипт уведомления о новом личном письме на форуме
Он показывает не всплывающее окно, а просто div в котором также есть ссылка перехода к странице сообщений.
В нём нужно указать адрес форума (выделено красным) БЕЗ WWW вставляйте в ХТМЛ-низ.
<script type="text/javascript">
forum = "https://theelven.mybb.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>
Поделиться1427 ноября, 2006г. 12:29:51
Этот скрипт запрещает простотр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.location.replace(document.referrer)
</script>
Вставлять его нужно в объявление, или html-низ. Но лучше всего в объявление.
Поделиться154 декабря, 2006г. 14:12:51
C помощью представленного ниже скрипта, категории форума делаются скрывающимися.
<script type="text/javascript">
str_hide = "ваша ссылка на картинку"
str_show = "ваша ссылка на картинку"
tit_hide = "Скрыть категорию"
tit_show = "Показать категорию"
offset=0
tableOffset=0
catCount=0str=document.URL
page=str.substring(str.lastIndexOf('/')+1)if( true/*page=="" || page=="index.php"*/ ) {
findT();
findO();//Добавляйте категории здесь
hideCat("ИМЯ_КАТЕГОРИИ_1")
hideCat("ИМЯ_КАТЕГОРИИ_1","close")window.onunload = saveCookie
}function checkCookie(name,index) {
if(window.navigator.appName!="Microsoft Internet Explorer")
return false
cook = unescape(document.cookie)
if( (pos=cook.indexOf(name))!=-1 )
{
state=cook.substring(pos-2,pos)
if(state=="op")
showCat(index)
else if(state=="cl") closeCat(index)
return true
}
return false
}function saveCookie() {
if(window.navigator.appName!="Microsoft Internet Explorer")
return
s=""
for(i=0;i<20;i++)
{
elem=document.getElementById("inp"+i)
if(elem)
{
if(document.getElementById("tab"+i).style.display=="none") state="cl"
else state="op"
name = document.getElementById("tab"+i).name
s+=escape(state+name+'\n');
catCount--
}
if(catCount==0)
break;
}
document.cookie=s+'; expires=Fri, 01-Jan-2010 00:00:01 GMT';
}function hideCat(name, state){
index = findCat(name)if(index==-1) return -1
catCount++str = "<div class=\"catleft\"><!-- --></div>"
str += "<img title=\"" + tit_show + "\" align=\"right\" style=\"cursor: hand;\" src=" + str_show + " id=inp"+index+" onclick='changeCat("+index+")'>"
str += name
str += "<div class=\"catright\"><!-- --></div>"
document.getElementsByTagName ("h2") [index+offset] .innerHTML = str
document.getElementsByTagName ("table") [index+tableOffset] .id = "tab"+index
document.getElementById("tab"+index).name = namecl=checkCookie(name,index)
if(state=="close" && !cl)
closeCat(index)
}function findT()
{
i=0
arr=document.getElementsByTagName ("table")
while(arr[i].summary.toLowerCase().substring(0,27)!="список форумов в категории:")
i++tableOffset = i
}
function findO()
{
arr = document.getElementsByTagName ("h2")
i=0
while(arr[i].innerHTML.substring(0,2)!="<D")
i++
offset=i
}function findCat(name)
{
arr = document.getElementsByTagName ("h2")
i=offsetwhile(arr[i].innerHTML.substring(0,2)=="<D")
{
if(arr[i].innerHTML.toLowerCase().indexOf(name.toLowerCase())!=-1)
return (i-offset)
i++
}
return -1
}function changeCat(index){
if(index==-1) returnif( document.getElementById("tab"+index).style.display!="none") closeCat(index)
else showCat(index)
}function closeCat(index){
document.getElementById("tab"+index).style.display="none"
document.getElementById("inp"+index).src = str_show
document.getElementById("inp"+index).title = tit_show + " " + document.getElementById("tab"+index).name
}function showCat(index){
document.getElementById("tab"+index).style.display="block"
document.getElementById("inp"+index).src = str_hide
document.getElementById("inp"+index).title = tit_hide + " " + document.getElementById("tab"+index).name
}
</script>
Чтобы сделать категорию скрывающейся и изначально скрыть её, после строки //Добавляйте категории здесь вставьте строку hideCat("ИМЯ_КАТЕГОРИИ","close"), чтобы по умолчанию категория оставалась открытой, вставьте hideCat("ИМЯ_КАТЕГОРИИ")
Параметры скрипта(в самом его начале):
str_hide - картинка, которая показывается когда категория развёрнута
str_show - картинка, которая показывается когда категория свёрнута
tit_hide - всплывающая подсказка для картинки которая показывается когда категория развёрнута
tit_show - всплывающая подсказка для картинки которая показывается когда категория свёрнута
Также скрипт работает с куками и запоминает в каком состоянии были категории в прошлый раз. Но это только в ИЕ! В Опере данная функциональность не работает.
Поделиться164 декабря, 2006г. 14:25:28
Для меня это все - китайская грамота.))) Себ, а ты часом не владеешь мастерством создать браузерную РПГ в стиле БК или АРЕНЫ?
Поделиться174 декабря, 2006г. 14:31:54
если постараться, то можно, но это огромная работа с базами данных... на ПыХыПы
Поделиться184 декабря, 2006г. 14:35:52
Прикольно! Я всегда на этот вопрос получаю этот ответ)))) Зато представь себе этот проект по вселенной дисов! Они ж просто созданы для подобного столкновения!)))
Поделиться195 декабря, 2006г. 10:31:45
можно попобовать. в принципе это не так сложно. начнем с простого, а потом можно увеличивать возможноссти и прочее... а что, неплохая идея. кст, а стрфр не потребует за аффторские права?
Поделиться202 января, 2007г. 17:49:26
Seebostian
можно попобовать. в принципе это не так сложно. начнем с простого, а потом можно увеличивать возможноссти и прочее... а что, неплохая идея. кст, а стрфр не потребует за аффторские права?
А мы сделаем хитрее Например боги: Верховный отец, Один, Морана, Люцифер и, скажем, Сильмарилл)))
Себ... Я тут решил попрактиковаться в форумодеянии, нужна пара советов.. Но это скорее для другого топа.
https://theelven.mybb.ru/viewtopic.php?pid=4472#p4472
Отредактировано Гангрен (2 января, 2007г. 17:53:35)
Поделиться217 января, 2007г. 00:40:49
ох и ох, не хватает времени на Город... И Гангрен приглашает...
Похожие темы
Жалобная книга без претензий | Первородный Камень | 24 февраля, 2024г. |
Игровое меню слева | Архив | 20 августа, 2007г. |
PIC (Логово Администраторов) | Архив | 19 октября, 2007г. |
Ранги | Архив | 1 марта, 2007г. |
У Гангрена! >>филиал знаменитой на весь невендаар таверны | Старое Кладбище | 8 сентября, 2023г. |