Role Club

Объявление

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

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


Вы здесь » Role Club » скрипты » Каталог скриптов


Каталог скриптов

Сообщений 61 страница 85 из 85

61

Форма быстрого перехода между разделами (либо перехода куда угодно)

Код:
<FORM>
<SELECT size=1 name='navigation'> 
  <OPTION value='http://forum.mybb.ru/viewforum.php?id=1' selected>Информация сервиса</OPTION>
  <OPTION value='http://forum.mybb.ru/viewforum.php?id=2'>Комментарии и предложения</OPTION>
  <OPTION value='http://forum.mybb.ru/viewforum.php?id=3'>Вопросы по работе сервиса</OPTION>
  <OPTION value='http://forum.mybb.ru/viewforum.php?id=4'>Вопросы по устройству форумов</OPTION>
  <OPTION value='http://forum.mybb.ru/viewforum.php?id=5'>Вопрсы по оформлению форумов</OPTION>
  <OPTION value='http://forum.mybb.ru/viewforum.php?id=6'>Ваши форумы</OPTION>
  <OPTION value='http://forum.mybb.ru/viewforum.php?id=7'>Оффтопик</OPTION>
  <OPTION value='http://forum.mybb.ru/viewforum.php?id=8'>Корзина</OPTION>
</SELECT>
<INPUT class=but onclick="location.href = this.form.navigation.options[this.form.navigation.selectedIndex].value" type=button value="ВПЕРЁД!" name=button>
</FORM>

Сцылки и названия меняем на свое
Красным - надпись на кнопке
selected - дефолтная позиция формы при рефреше окна

0

62

Всплывающий поиск
Может кому нибудь пригодится такой скриптик.
Его функциональность:
При нажатии на ссылку в меню Поиск, страница с поиском не загружается, а появляется только окошко  с двумя полями: слова для поиска или автор.
При повторном нажатии, оно исчезает.
Также в окошке есть ссылка Расширенный поиск, которая ведёт к полной странице поиска.
Это нужно, чтобы не грузить каждый раз полную страницу с поиском.

Код:
<script language="JavaScript">
document.getElementById("pun-navlinks").style.position = "relative"

function showDiv()
{
if(  document.getElementById("searchDiv").style.display == 'none' )
     document.getElementById("searchDiv").style.display = ''
else document.getElementById("searchDiv").style.display = 'none'

return false;
}

str  = "<a href=\"search.php\" onclick=\"return showDiv()\"><span>Поиск</span></a>"
str += "<div id=searchDiv style=\"display: none; \">"

str += " <form method=\"get\" action=\"search.php\">"
str += "    <input type=\"hidden\" name=\"action\" value=\"search\">"
str += "    <p class=\"inputfield\">"
str += "    <label for=\"fld1\">Ключевые слова</label><br />"
str += "    <span class=\"input\"><input type=\"text\" name=\"keywords\" size=\"25\" maxlength=\"100\" /></span>"
str += "    </p>"
str += "    <p class=\"inputfield\">"
str += "    <label for=\"fld2\">Поиск автора</label><br />"
str += "    <span class=\"input\"><input type=\"text\" name=\"author\" size=\"25\" maxlength=\"25\" /></span>"
str += "    </p> <br>"

str += "    <input type=\"hidden\" name=\"forum\" value=\"-1\">"
str += "    <input type=\"hidden\" name=\"search_in\" value=\"all\">"
str += "    <input type=\"hidden\" name=\"sort_by\" value=\"0\">"
str += "    <input type=\"hidden\" name=\"sort_dir\" value=\"DESC\">"
str += "    <input type=\"hidden\" name=\"show_as\" value=\"topics\">"

str += "    <p><input type=\"submit\" class=\"button\" name=\"search\" value=\"Отправить\" accesskey=\"s\" title=\"Accesskey:s\" /></p>"
str += " </form>"

str += "    <a href=\"search.php\">Расширенный поиск</a> "
str += "</div>"

document.getElementById('navsearch').innerHTML = str
</script>
<style>
#searchDiv{
position:absolute; 
background-color : Gray; 
border : solid;
padding-bottom : 5px;
padding-left : 5px;
padding-right : 5px;
padding-top : 5px;
z-index:2;
}
</style>

Внимание!
Этот скрипт надо вставлять в html-низ!!!
Но в разных браузерах он будет отображаться по-разному.
Cмена цвета  -  Gray

Есть параметр background-color
вместо Gray указывай любой какой захочешь:

Код:
<style>
#searchDiv{
position:absolute; 
background-color : Gray; 
border : solid;
padding-bottom : 5px;
padding-left : 5px;
padding-right : 5px;
padding-top : 5px;
z-index:2;
}
</style>

0

63

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

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

64

Переливающиеся ссылки

Ставим в хтмл верх

Код:
<script language="JavaScript">
var rate = 20;
var obj;
var act = 0;
var elmH = 0;
var elmS = 128;
var elmV = 255;
var clrOrg;
var TimerID;
if (navigator.appName.indexOf("Microsoft",0) != -1 && parseInt(navigator.appVersion) >= 4) {
Browser = true;
} else {
Browser = false;}
if (Browser) {
document.onmouseover = doRainbowAnchor;
document.onmouseout = stopRainbowAnchor;}
function doRainbow(){
if (Browser && act != 1) {
act = 1;
obj = event.srcElement;
clrOrg = obj.style.color;
TimerID = setInterval("ChangeColor()",100);}}
function stopRainbow(){
if (Browser && act != 0) {
obj.style.color = clrOrg;
clearInterval(TimerID);
act = 0;}}
function doRainbowAnchor(){
if (Browser && act != 1) {
obj = event.srcElement;
while (obj.tagName != 'A' && obj.tagName != 'BODY') {
obj = obj.parentElement;
if (obj.tagName == 'A' || obj.tagName == 'BODY')
break;}
if (obj.tagName == 'A' && obj.href != '') {
act = 1;//osw
clrOrg = obj.style.color;
TimerID = setInterval("ChangeColor()",100);}}}
function stopRainbowAnchor(){
if (Browser && act != 0) {
if (obj.tagName == 'A') {
obj.style.color = clrOrg;
clearInterval(TimerID);
act = 0;}}}
function ChangeColor(){
obj.style.color = makeColor();}
function makeColor(){
if (elmS == 0) {
elmR = elmV; elmG = elmV; elmB = elmV;}
else {
t1 = elmV;
t2 = (255 - elmS) * elmV / 255;
t3 = elmH % 60;
t3 = (t1 - t2) * t3 / 60;
if (elmH < 60) {
elmR = t1; elmB = t2; elmG = t2 + t3;}
else if (elmH < 120) {
elmG = t1; elmB = t2; elmR = t1 - t3;}
else if (elmH < 180) {
elmG = t1; elmR = t2; elmB = t2 + t3;}
else if (elmH < 240) {
elmB = t1; elmR = t2; elmG = t1 - t3;}
else if (elmH < 300) {
elmB = t1; elmG = t2; elmR = t2 + t3;}
else if (elmH < 360) {
elmR = t1; elmG = t2; elmB = t1 - t3;}
else {
elmR = 0; elmG = 0; elmB = 0;}}
elmR = Math.floor(elmR);//fantasyflash.ru
elmG = Math.floor(elmG);
elmB = Math.floor(elmB);
clrRGB = '#' + elmR.toString(16) + elmG.toString(16) + elmB.toString(16);
elmH = elmH + rate; if (elmH >= 360) elmH = 0;
return clrRGB;}</script>

+1

65

Окантовка профиля в сообщении. Duka

В html-верх

Код:
<style>
#pun #pun-index #pun-announcement h2 span {display: none;}
.post-author online, .pa-adnote, .pa-from, .pa-reg, .pa-posts, .pa-reputation, .pa-sex, .pa-icq, .pa-ip, .pa-online, .pa-age, .pa-mailagent, .pa-reg, .pa-avatar, .pa-title, .pa-author, .pa-time-visit, .pa-last-visit, .pa-fld1, .pa-fld2, .pa-fld3, {
   background: #fafcfe;
   border: 1px solid #cdd6e2;
   border-bottom-width: 2px;
   border-right-width: 2px;
   margin: 3px 1px 3px 1px;
}
</style>

Результат увидите сами.
Будет что-то типа этого:
http://img232.imageshack.us/img232/3859/editstylelu8fq1.png

0

66

Реклама после первого поста
В html-низ

Код:
<script type="text/javascript">
var advert="Скрипт рекламы после первого поста"
var arr=document.getElementsByTagName("div")
i=0
str=document.URL
while(arr[i] ){
if(arr[i].className=="post topicpost") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML=""+name+"</div><div style=\"padding: 8px; text-align: center;\">"+advert+"</div>"
}
i++
}
</script>

0

67

Замена надписей Самые активные и прочие в Статистике. Duka

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

<script type="text/javascript">
var link="http://forum.domen.ru"
function changeLink()
{var arr=document.links
for (j in arr)
{
if (arr[j].href==""+link+"/statistic.php?action=active_users")
{arr[j].innerHTML="Самые активные"}
else if (arr[j].href==""+link+"/statistic.php?action=active_users_today")
{arr[j].innerHTML="Активные сегодня"}
else if (arr[j].href==""+link+"/statistic.php?action=administration")
{arr[j].innerHTML="Администрация"}
else if (arr[j].href==""+link+"/statistic.php")
{arr[j].innerHTML="Полная статистика"}
}}
changeLink()
</script>

0

68

Георгиевская ленточка
В html верх.
Код добавит ленту в верхний левый угол вашего форума.
Простой вариант.

Код:
<div style="position:absolute; left:0%; top:0px;"><img src="http://i032.radikal.ru/0805/f4/2408db727ee2.png" border="0" /></div>

Картинка с ссылкой

Код:
<div style="position:absolute; left:0%; top:0px;"><a href="http://forum.mybb.ru/viewtopic.php?pid=266769" title="День Победы"><img src="http://i032.radikal.ru/0805/f4/2408db727ee2.png" border="0" /></a></div>

ссылку поменять на свою.

0

69

Установка пароля на раздел. Duka

Простенький скрипт на установку пароля для определенного форума.
За безопасность я не отвечаю. Скрипт легко обходится путем отключения яваскрипта или просмотра пароля через исходный код страницы

<script type="text/javascript">
var forum = "http://tests.rusff.org.ru"
var arr=document.links
for (j in arr){
if (arr[j].href==forum+"/viewforum.php?id=x")
{arr[j].href="javascript: pass()"}
}
function pass()
{
  if (prompt('Администратор установил пароль на этот форум', '') == "qwerty"){
    alert('Пароль принят. Нажмите "ОК" для редиректа');
    location.href = forum+"/viewforum.php?id=x";
}
else alert('Введенный пароль неверен');
}
</script>

где x - номер раздела, а qwerty - пароль раздела

Ставить в HTML-низ

0

70

Реклама во втором посте. Duka

Скрипт писался мной исключительно для форума поддержки RusFF, но т.к. его уже расхватали с исходников, посмею выложить его сюда.

Код:
<script type="text/javascript">
var content="<center><a href='http://rusff.ru/new.php' target='_blank'><img src=http://i.rusff.ru/f/ru/rusff/rusff_banner_red1.gif></a></center>";
var namead="RusFF Agent";
var ava="<br /> Реклама";
var sup="Advert agent - block1";
var sub="Advert agent - block2";

var arr=document.getElementsByTagName("div")
i=0
while(arr[i] ){
if((arr[i].className=="post topicpost") || (arr[i].className=="post toppost") || (arr[i].className=="post topicpost endpost")){
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML=name+"<div class=post><h3><span><strong>#</strong>"+sup+"</span></h3><div class=container><div class=post-author><ul><li class=pa-author><a href=javascript:to('Agent')>"+namead+"</a></li><li class=pa-avatar item2>"+ava+"</li></ul></div><div class=post-body><div class=post-box><div class=post-content><p>"+content+"</p></div></div></div><div class=post-links><ul><li>"+sub+"<span class=acchide>г</span></li></ul></div></div></div>"
}i++}
</script>

Надписи ставить свои.
Если виден всем - ставить в HTML-низ.
Пользователям - HTML в форме ответа
http://s44.radikal.ru/i104/0808/f8/aeded508e4e1.jpg

0

71

Информационная панель с данными пользователей. Duka

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

Код:
<script type="text/javascript">
var mon_array = new Array("", "Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря");
Tm = new Date();
Tm.setTime(1000*UserRegistered);
m=Tm.getMonth()+1;
if (m<10) m=m;
hh=Tm.getHours();
mm=Tm.getMinutes()+'';
if (mm<10) mm=mm;
tm='<strong>'+Tm.getDate()+'&nbsp;'+mon_array[m]+'</strong>&nbsp;в&nbsp;<strong>'+hh+':'+mm+'</strong>';
var UserTotalReg = Math.floor(UserTotalTime/86400)
var UserTotalPost = Math.floor(UserPosts/60)
var sex_array = new Array("Пол неопределен. Войдите в <a href='/profile.php?section=personal&id="+UserID+"'>Профиль</a> и установите пол", "Ваш пол: <strong>Муж</strong>", "Ваш пол: <strong>Жен</strong>");
var sex = sex_array[UserSex]
if (UserAvatar == ""){UserAvatar = "http://s54.radikal.ru/i145/0808/84/e1fbc11ac605.png"}
if (UserBirthDate == ""){UserBirthDate = "Дата не выставлена"}
if (UserAge == "0"){UserAge = "[Нет сведений]"}
var user=", <strong>"+UserName+"</strong>";
if (user == ", <strong></strong>"){user = ""}
var arr=document.getElementsByTagName("div")
i=0
while(arr[i] ){
if(arr[i].id=="pun-main") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div class=category><h2>Информационное табло</h2><div class=container><table border=0><tr><td><a href='/profile.php?section=avatar&id="+UserID+"' title='Изменить аватару'><img src="+UserAvatar+"></a><br /><strong>"+UserTitle+"</strong></td><td width=40%>Приветствуем на форуме"+user+"!<br />"+sex+"<br />Вы используете стиль: <strong>"+BoardStyle+"</strong><br />Вы в группе  <strong>"+GroupTitle+"</strong><br />На форуме Вами было оставлено <strong>"+UserPosts+"</strong> сообщений<br />Ваш возраст: <strong>"+UserAge+"</strong>.<Br />Ваш день рождения: <strong>"+UserBirthDate+"</strong><br /><br />Профиль <a href='/profile.php?id="+UserID+"'>"+UserLogin+"</a> | Ваши <a href='/userlist.php?&show_group="+GroupID+"'>соучастники</a></td><td width=40%><strong>Отношения</strong><br /><br /><a href='/respect.php?id="+UserID+"'>Уважение</a>: <strong>"+UserRespectPlus+"</strong>/<strong>"+UserRespectMinus+"</strong><br /><a href='/positive.php?id="+UserID+"'>Позитив</a>: <strong>"+UserPositivePlus+"</strong>/<strong>"+UserPositiveMinus+"</strong><Br /><Br />Вы зарегистрировались "+tm+" и провели на форуме <strong>"+UserTotalReg+"</strong> дней</td></tr></table></div></div><br />"+name
}i++}
</script>
<script type="text/javascript">
var arr=document.getElementsByTagName("div")
i=0
str=document.URL
while(arr[i] ){
if(arr[i].id=="pun-main" && GroupID == "3") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div class=category><h2>Информационное табло</h2><div class=container><table border=0><tr><td><img src=http://s54.radikal.ru/i145/0808/84/e1fbc11ac605.png></td><td width=80%>Приветствуем тебя на форуме, Гость.<br />Для участия в конференциях просьба <a href='login.php'>войти</a> или <a href='register.php'>зарегистрироваться</a>.</td></tr></table></div></div><Br />"+name
}
i++
}
</script>

Менять в скрипте ничего не нужно. По желанию (опытным) можно изменить структуру вывода, все надписи, порядок и адреса картинки [нет_аватара]

Данный скрипт ставить в HTML-низ.
http://s55.radikal.ru/i147/0808/a4/ae0ba574fcd6.jpg
http://s50.radikal.ru/i129/0808/43/8b4c3383e761.jpg

0

72

"Горячие клавиши". Duka

Простой скрипт быстрых клавиш.
По определенной комбинации клавиш вызывает определенную функцию.
Ctrl + b - добавляет теги [b.][/b.]
Ctrl + i - добавляет теги [i.][/i.]
Ctrl + s - добавляет теги [s.][/s.]
Ctrl + u - добавляет теги [u.][/u.]
Ctrl + Enter - Быстрая отправка сообщения.

Внимание! В некоторых браузерах вместе с функцией может вызвать свои браузерные функции.
К примеру, при комбинации Ctrl + s в Opera "Сохраняет документ".
Идей на другие комбинации у меня не хватило.

Код:
<script type="text/javascript">
document.onkeydown=function(e){
if (e) event=e
if ((event.keyCode==73)&&(event.ctrlKey)){
bbcode('[i]', '[/i]');
}
if ((event.keyCode==66)&&(event.ctrlKey)){
bbcode('[b]', '[/b]');
}
if ((event.keyCode==83)&&(event.ctrlKey)){
bbcode('[s]', '[/s]');
}
if ((event.keyCode==85)&&(event.ctrlKey)){
bbcode('[u]', '[/u]');
}
if ((event.keyCode==13)&&(event.ctrlKey)){
document.getElementById('post').submit.click();
}}
</script>

Отдельно ctrl+Enter(отправка сообщения)

Код:
<script type="text/javascript">
document.onkeydown=function(e){
if (e) event=e
if ((event.keyCode==13)&&(event.ctrlKey)){
document.getElementById('post').submit.click();
}}
</script>

Вставлять в HTML-в форме ответа

0

73

Цитирование с BB-кодами (Ответить автору). Duka

Скрипт позволит процитировать сообщение вместе с исходными BB-кодами. После клика на Ответить, произойдет редирект на страницу написания нового сообщения с полной цитатой выбранного Вами сообщения. Позволяет прокомментировать одного автора.

Код:
<script type="text/javascript">
var a=document.getElementsByTagName("a")
for (i = 0; i<a.length; i++){
   if(a[i].href.indexOf("post.php?tid=") != -1){
      t = a[i].href.substring(a[i].href.indexOf('=')+1)
   }
}
var m = new Array();
var z = new Array();
for (w = 0; w<a.length; w++){
   if(a[w].href.indexOf("#p") != -1){
        m[w] = a[w].href.substring(a[w].href.indexOf('#p')+2)
           for (e=0; e<w; e++){
              m.shift()
           }
	z.push(m[0])
   }
}
var c = new Array();
q=0
var arr=document.getElementsByTagName("li")
while(q<arr.length){
   if(arr[q].className=="pl-quote"){
        c.push(q)
   }
   q++
}
var cv = new Array ();
  for(y=0;y<c.length;y++){
    cv.push(y)
}
for(w=0; w<cv.length; w++){
	name=arr[c[w]].innerHTML
	arr[c[w]].innerHTML=name+" <a href='/post.php?tid="+t+"&qid="+z[w]+"' title='Ответить на сообщение'>Ответить</a> "; 
}
</script>

Скрипт ставить в HTML-в форме ответа

0

74

Модераторские теги. Duka
http://i022.radikal.ru/0804/4f/a48e47179683.jpg
Скрипт тега предупреждения

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

function makeMod(txt){
txt="<br><div style=\"margin: 0px; padding: 0px; background-color:#F1F1FD; border-left: 0px solid #6060FF; border-top: 0px dotted #000; border-right: 1px dotted #000; border-bottom: 1px dotted #000;\"><TABLE cellpadding='0' cellspacing='0'><TD align='middle' bgColor='#6060ff' vAlign='center' width='8%'><FONT color='#ffffff' size='+3' style='FONT-FAMILY: Times' title='Предупреждение'><B>&nbsp;i&nbsp;</B></FONT></TD></TD><TD vAlign='middle'>"+txt+"</TD></TABLE></div><br>"
return txt}


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=addMod(post.innerHTML,0,false)}}
</script>

Скрипт тега нарушения

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

function makeEx(txt){
txt="<br><div style=\"margin: 0px; padding: 0px; background-color:#FEF2F2; border-left: 1px solid #FF6060; border-top: 1px dotted #000; border-right: 1px dotted #000; border-bottom: 1px dotted #000;\"><TABLE cellpadding='0' cellspacing='0'><TD align='middle' bgColor='#ff6060' vAlign='center' width='8%'><FONT color='#ffffff' size='+3' style='FONT-FAMILY: Times' title='Грубое нарушение'><B>&nbsp;!&nbsp;</B></FONT></TD></TD><TD vAlign='middle'>"+txt+"</TD></TABLE></div><br>"
return txt}


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=addEx(post.innerHTML,0,false)}}
</script>

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

Кнопки в форму ответа (Доступны только Администраторам и модераторам)
Для предупреждения

Код:
<style>
#button-mod {background-image:url('http://i029.radikal.ru/0804/26/e430252a0faf.png'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%}
</style>
<script type="text/javascript">
if((document.getElementById("navadmin")) && (form=document.getElementById("form-buttons")))
form.getElementsByTagName("tr")[0].insertCell(18).innerHTML="<img src='/i/blank.gif' title='Предупреждение' id='button-mod'  onclick=\"bbcode('[mod]', '[/mod]');\"/>"
</script>

Для нарушения

Код:
<style>
#button-ex {background-image:url('http://i007.radikal.ru/0804/c8/e7c48348a35e.png'); padding:0; line-height:0; background-position:center; background-repeat:no-repeat; height:26px; width:100%}
</style>
<script type="text/javascript">
if((document.getElementById("navadmin")) && (form=document.getElementById("form-buttons")))
form.getElementsByTagName("tr")[0].insertCell(18).innerHTML="<img src='/i/blank.gif' title='Предупреждение' id='button-ex'  onclick=\"bbcode('[ex]', '[/ex]');\"/>"
</script>

0

75

Кубики (Дайсы). Duka

Скрипт позволит "кидать кубики" прямо на форуме.
Полезно для ролевых форумов.

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

Вариант 1.

Код:
<input type="button" onclick="dice()" value="Кинуть кубики" />
<script type="text/javascript">
function dice()
{
	var FoundErrors = '';
	var diceRes=""
	var CountCube = prompt("Количество кубиков", "3");
	var SideCube = prompt("Сколько граней у кубика?", "6");
	if(CountCube>9){
	alert("Нельзя бросать столько кубиков"); 
	return false;}
	if(SideCube>9){
	alert("Не бывает таких кубиков"); 
	return false;}
	if (!CountCube)
	{return false;}
	if (!SideCube)
	{return false;}
	for(i=0; i<CountCube;i++){
	var dice = (Math.round(Math.random()*SideCube))
	if(dice==0) dice=1;
	diceRes += dice*1936+"-"
	}
	smile('[dice='+diceRes+CountCube+SideCube+']')
}
</script>
<script>
function addDice(str,from,internal){
var pos=0,pos2=0,newpos=0
if((pos=str.indexOf("[dice=",from))==-1) return str;
if((pos2=str.indexOf("]"),pos+6)==-1) return str;
newpos=str.indexOf("]",pos+6)
if(newpos<pos2 && newpos!=-1) str=addDice(str,pos+6,true)
if((pos2=str.indexOf("]",pos+6))==-1) return str;
str=str.substring(0,pos)+makeDice(str.substring(pos+6,pos2))+str.substring(pos2+1,str.length)
if( str.indexOf("[dice=")!=-1 && internal==false) str=addDice(str,0,false)
return str}

function makeDice(dice){
diceMass = dice.split("-")
diceC = dice.substring(dice.length-2, dice.length-1)
diceS = dice.substring(dice.length-1, dice.length)
var diceR=0, diceRu="";
for(i=0;i<diceMass.length-1;i++){diceR+=diceMass[i]/1936;}
for(i=0;i<diceMass.length-1;i++){if(diceMass[i]==diceMass[diceMass.length-2]){diceRu+=diceMass[i]/1936;}else{diceRu+=parseInt(diceMass[i]/1936)+"+";}}
txt="<div class=\"quote-box\"><blockquote><p><b>Количество кубиков</b>: "+diceC+"<br /><b>Граней в кубике</b>: "+diceS+"<br /><br /><b>Результаты броска</b>: ("+diceRu+")="+diceR+"</p></blockquote></div>"
return txt}

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=addDice(post.innerHTML,0,false)}}
</script>

Вариант 2.

Код:
<input type="button" onclick="dice()" value="Кинуть кубики" />
<script type="text/javascript">
function dice()
{
	var FoundErrors = '';
	var diceRes=""
	var CountCube = prompt("Количество кубиков", "3");
	var SideCube = prompt("Сколько граней у кубика?", "6");
	if(CountCube>9){
	alert("Нельзя бросать столько кубиков"); 
	return false;}
	if(SideCube>9){
	alert("Не бывает таких кубиков"); 
	return false;}
	if (!CountCube)
	{return false;}
	if (!SideCube)
	{return false;}
	for(i=0; i<CountCube;i++){
	var dice = (Math.round(Math.random()*SideCube))
	if(dice==0) dice=1;
	diceRes += dice*1936+"-"
	}
	smile('[dice='+diceRes+CountCube+SideCube+']')
}
</script>
<script>
function addDice(str,from,internal){
var pos=0,pos2=0,newpos=0
if((pos=str.indexOf("[dice=",from))==-1) return str;
if((pos2=str.indexOf("]"),pos+6)==-1) return str;
newpos=str.indexOf("]",pos+6)
if(newpos<pos2 && newpos!=-1) str=addDice(str,pos+6,true)
if((pos2=str.indexOf("]",pos+6))==-1) return str;
str=str.substring(0,pos)+makeDice(str.substring(pos+6,pos2))+str.substring(pos2+1,str.length)
if( str.indexOf("[dice=")!=-1 && internal==false) str=addDice(str,0,false)
return str}

function makeDice(dice){
diceMass = dice.split("-")
diceC = dice.substring(dice.length-2, dice.length-1)
diceS = dice.substring(dice.length-1, dice.length)
var diceR=0, diceRu="";
for(i=0;i<diceMass.length-1;i++){diceR+=diceMass[i]/1936;}
for(i=0;i<diceMass.length-1;i++){if(diceMass[i]==diceMass[diceMass.length-2]){diceRu+=diceMass[i]/1936;}else{diceRu+=parseInt(diceMass[i]/1936)+"+";}}
txt="<div class=\"quote-box\"><blockquote><p><b>Исходный бросок</b>: "+diceC+"d"+diceS+"<br /><br /><b>Результаты броска</b>: ("+diceRu+")="+diceR+"</p></blockquote></div>"
return txt}

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=addDice(post.innerHTML,0,false)}}
</script>

0

76

Подсвечиваем разделы при наведении мышью. Duka

Код:
<script type="text/javascript">
var td = document.getElementsByClassName("tcl")
for(i=0;i<td.length;i++){
td[i].setAttribute("onmouseover", "this.style.backgroundColor='red'")
td[i].setAttribute("onmouseout", "this.style.backgroundColor=''")
}
</script>

red - нужный цвет

Второй способ. Стилем. От Пети (Матрикса)

Код:
<style type="text/css">
td.tcl:hover {background: #ccc !important;}
</style>

0

77

Модификация скрытого текста. Duka

Данный скрипт увеличивает возможности стандартного "скрытого текста".

Возможности использования по нескольким условиям:
• количеству репутации(уважения);
• количеству позитива;
• сообщение для группы;
• сообщение для пользователя;
• ограничение по возрасту.

Смело ставим в HTML-в форме ответа. Если планируется использовать в закрытых темах -> HTML-низ.

Как работает?
Используем стандартный хайд , в теле хайда, в самом начале, пишем одно из следующих условий
user=56; //Для пользователя с id=56 (смотреть ссылку профиля)
group=3; //Для группы. id смотреть в параметре show_group= в адресной строке при выборе группы на странице Участники
respect=50; //Для пользователей, у которых суммарное уважение(+/-) больше 50
positive=20; //Для пользователей, у которых суммарный позитив(+/-) больше 20
age=18; //Для пользователей старше 18 лет
Например,

Код:
[hide]group=2; Сообщение модераторам...[/hide]

Вместе с условием по количеству сообщений

Код:
[hide=20]group=2; Сообщение модераторам, набравшие 20 сообщений...[/hide]

Сам скрипт

Код:
<script type="text/javascript">
var quote = document.getElementsByTagName("blockquote")
var n, condition;
var typet = new Array("respect", "group", "positive", "user", "age");
var typer = new Array((UserRespectPlus-UserRespectMinus).toString(), (GroupID).toString(), (UserPositivePlus-UserPositiveMinus).toString(), (UserID).toString(), (UserAge).toString());
for(q=0;q<typet.length;q++){
for(i=0;i<quote.length;i++){
if(quote[i].previousSibling.innerHTML.indexOf("Скрытый текст")!=-1){
if(quote[i].innerHTML.indexOf(typet[q]+"=")!=-1){
n=parseInt(quote[i].innerHTML.substring(quote[i].innerHTML.indexOf(typet[q]+"=")+(typet[q].length+1), quote[i].innerHTML.indexOf(";")))
if(isNaN(n)==false){
if(q==0){condition = parseInt(typer[0]) < n;}
else if(q==1){condition = parseInt(typer[1]) != n;}
else if(q==2){condition = parseInt(typer[2]) < n;}
else if(q==3){condition = parseInt(typer[3]) != n;}
else if(q==4){condition = parseInt(typer[4]) < n;}
	if(condition){
if(q==0){
	quote[i].innerHTML="Для просмотра скрытого текста нужно иметь "+n+" очков репутации. Осталось набрать "+(n-parseInt(typer[q]))
}else if(q==1){
	quote[i].innerHTML="Вашей группе запрещено просматривать данное сообщение"
}else if(q==2){
	quote[i].innerHTML="Для просмотра скрытого текста нужно иметь "+n+" очков позитива. Осталось набрать "+(n-parseInt(typer[q]))
}else if(q==3){
	quote[i].innerHTML="Данный текст предназначен для <a href='profile.php?id="+n+"'>этого</a> пользователя."
}else if(q==4){
	quote[i].innerHTML="Вам должно испольниться "+n+" лет(года)."
}
	} else {
quote[i].innerHTML=quote[i].innerHTML.substring(quote[i].innerHTML.indexOf(typet[q]+"="+n+";")+((typet[q].length+2)+n.toString().length))
	}
}
}
}
}
}
</script>

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

0

78

Возможность удаления только последнего сообщения. Impuls 101 (по аналогии KAFLAN)

Скрипт оставляет у пользователей кнопку "удалить" только для последнего сообщения.
У модераторов и администраторов кнопка остается.

Код:
<script>
document.getElementsByClassName = function(clsName){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}

if (GroupID && GroupID >= 4)
{
   var arr = document.getElementsByClassName('pl-delete');

   if (arr && arr.length > 1)
   {

      for (var i = 0; i < arr.length - 1; i++)
      {
         arr[i].innerHTML = '';
      }
   }

}
</script>

Вставлять в HTML - низ или HTML - в форме ответа

0

79

Профиль справа (Опционально для каждого пользователя). Duka

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

Код:
<div id="profileSide"></div>
<script type="text/javascript">
function saveCookie(side){
 var c_date = new Date();
 c_date.setTime(c_date.getTime()+99999999999)
 date = c_date.toGMTString();
 document.cookie="profileSide="+side+"; expires="+date
}

function getSide(side){
 if(side==0 && document.cookie.indexOf("profileSide")!=-1){
    side = document.cookie.substring(document.cookie.indexOf("profileSide=")+12, document.cookie.indexOf("profileSide=")+13)
 }
 if(side=="L"){
    document.getElementById("profileSide").innerHTML="";
 } else if(side=="R"){
    document.getElementById("profileSide").innerHTML="<s"+"tyle type=\"text/css\">.punbb .post h3 span {border-right: 1px solid transparent;border-left: none;padding: 0.5em 1em;display: block; text-align: right;margin-right: 19em;margin-left: 0;}.punbb .post h3 strong {float: left;text-align: left;}.punbb .post .post-author, .pl-email, .pl-website {float: right;}.punbb .post-body {margin-right: 19em;margin-left: 0;border-right: 1px solid;border-left: none;}.punbb .post-links {margin-right: 19em;margin-left: 0em;border-right: 1px solid transparent;border-left: none;}.punbb .post-links ul {margin-right: -19em;margin-left: 0em;text-align: left;}.post-rating {float: left;}</st"+"yle>";
 }
}
getSide(0)
</script>

Ставим в форму ответа

Код:
<select>
<option selected="selected">--Отображение профиля--</option>
<option onclick="saveCookie('L'); getSide('L')">|--Слева</option>
<option onclick="saveCookie('R'); getSide('R')">Справа--|</option>
</select>

Нужно найти оптимальный вариант css.
Вместо transparent писать цвет бордеров блока сообщений, ибо сам он в файлике вынесен в .css, а не в _cs.css, где ему положено быть, но, по каким-то причинам, он в .css

0

80

Скрываем посты с отрицательным рейтингом. Duka

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

Код:
<script type="text/javascript">
var ratingPostMsgHide = -1; // репутация, при которой пост будет считаться плохим

document.getElementByClassName = function(clsName){
    var retVal = new Array();
    var elements = document.getElementsByTagName("*");
    for(var i = 0;i < elements.length;i++){
        if(elements[i].className.indexOf(" ") >= 0){
            var classes = elements[i].className.split(" ");
            for(var j = 0;j < classes.length;j++){
                if(classes[j] == clsName)
                    retVal.push(elements[i]);
            }
        }
        else if(elements[i].className == clsName)
            retVal.push(elements[i]);
    }
    return retVal;
}
var pozitive = document.getElementByClassName("post-rating")
for( i=0; i<pozitive.length; i++)
{

   rating = pozitive[i].getElementsByTagName("p")[0].getElementsByTagName("a")[0].innerHTML
   rating = parseInt(rating)
   if( rating <= ratingPostMsgHide )
   {
      postMsg = document.getElementByClassName("post-content")[i].innerHTML;
      document.getElementByClassName("post-content")[i].innerHTML = "<div class=\"quote-box\"><blockquote><p><a href=\"javascript: void(0);\" onclick=\"document.getElementById('postMsgID" + i + "').style.display = 'block'\">Данное сообщение имеет отрицательный рейтинг. Для его отображения нажмите сюда</a></p></blockquote></div><div id=\"postMsgID" + i + "\" style=\"display: none;\" class=\"quote-box\"><blockquote><p>" + postMsg + "</p></blockquote></div>"
   }

}
</script>

http://forum.mybb.ru/uploads/0000/14/1c/538885-1-f.jpg

0

81

Выделение Цитат в ролевых текстах
http://savepic.net/1712415.png

Скрытый текст:

Для просмотра скрытого текста - войдите или зарегистрируйтесь.

+1

82

Новый скрипт наград. Duka
Аналогии вы видели на форумных движках ipb

Возможности:
• Неограниченное количество наград пользователям.
• Всплывающее окно для каждого пользвоателя
• Количество наград под аватарой
• Окошко в стиле форума (свой стиль не сработает)

Скрипт, ставим в низ

Код:
<script type="text/javascript">
function awardsOpen(str)
{
var awardsn = new Array();

awardsn["moder"] = new Array("Лучший модератор", "http://www.iconsearch.ru/uploads/iconlib/linspireclear/128x128/filesystems/trashcan_empty.png", "За модераторскую помощь")
awardsn["helper"] = new Array("Помощник месяца", "http://www.iconsearch.ru/uploads/iconlib/crystalclear/128x128/apps/khelpcenter.png", "Неоценимая помощь форуму")
awardsn["money"] = new Array("Банкир форума", "http://www.iconsearch.ru/uploads/iconlib/crystalclear/128x128/actions/db_add.png", "За материальную помощь форуму")



str = str.split(",")
if(str[str.length-1].substring(str[str.length-1].length-1, str[str.length-1].length)==" "){str[str.length-1]=str[str.length-1].substring(0, str[str.length-1].length-1)}
var msg = new String("");
msg = "<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" /><link rel=\"stylesheet\" type=\"text/css\" href=\"http://forum.mybb.ru/style/"+BoardStyle+"/"+BoardStyle+".css\" /><title>Награды пользователя</title>"
msg+= "<style type=\"text/css\">html, body, #pun, #pun-main {background-image: none; margin: 2px 2px; width: 99%;}</style><body>"
msg+="<div id=\"pun\" class=\"punbb\"><div id=\"pun-main\" class=\"main\">"
msg+="<table class=\"container\"><tr><th width=\"25%\">Название</th><th width=\"25%\">Иконка</th><th>За что</th></tr>";
for(i=0;i<str.length;i++){
	msg+="<tr><td align=\"center\"><span>"+awardsn[str[i]][0]+"</span></td><td align=\"center\"><img width=\"100px\" height=\"100px\" src=\""+awardsn[str[i]][1]+"\" /></td><td align=\"center\"><span>"+awardsn[str[i]][2]+"</span></td></tr>";
}
msg+="</table>";
msg+="</div></div></body></html>";
popup = window.open("", "", "height=300, width=700, top=300, left=300, scrollbars=1")
popup.document.write(msg)
popup.document.close()
return false
}
var li = document.getElementsByTagName("li");
for(z=0;z<li.length;z++){
if(li[z].className=="pa-fld2"){
nag = li[z].innerHTML.substring(li[z].innerHTML.indexOf(": ")+2)
nag1 = nag.split(",");
nag1 = nag1.length;
li[z].innerHTML = "Награды: <a href=\"javascript: //\" onclick=\"awardsOpen('"+nag+"');\" title=\"Показать награды пользователя\">"+nag1+"</a>"
}
}
</script>

Чтобы добавить свою награду, после

var awardsn = new Array();

добавьте

awardsn["Ключ"] = new Array("Название", "Ссылка_на_иконку", "Описание")

где Ключ - уникальное название всей награды(латиницей), а Название, Ссылка_на_иконку и Описание - детали награды.

Как настроить награды?
Создаем в Администрирование - Поля новое поле
Обзываем его как Награды
Регистрация Нет
Сообщения Да
Профиль Да
Заполнение Нет

В скрипте ищем "pa-fld2" и вместо 2 пишем номер поля

Как выдавать награды?
Идем в профиль любому пользователю и пишем через запятую (без пробелов и любых других символов) ключи наград.
В данном случае, из скрипта выше, можно написать следующее: moder,money
Тогда на странице сообщений у пользователя отобразится Награды: 2. По клику на "2" откроется окно с табличкой его 2х наград.

Скриншоты
Администрирование - Поля http://s2.ipicture.ru/uploads/090125/29 … 4dNqVx.png
Профиль - Остальное http://s2.ipicture.ru/uploads/090125/29 … 898Xp5.png
Награды: 3 http://s1.ipicture.ru/uploads/090125/29 … l4mOsd.png
Окно с наградами http://s2.ipicture.ru/uploads/090125/29 … 8Y4eJT.png

+1

83

Узнать номер профиля под аватаром by Deff
Недавно возникал такой вопрос при установке скрипта наград. Помню, после того, как поля профиля на майбб обновили, сама узнавала у себя этот номер методом тыка.

Поставьте временно в HTML низ скрипт

Код:
<!--Узнать Номер Поля Под Аватаром-->
<script>$(".post-author li").hover(function(){$(this).attr("title",$(this).attr("class"));});</script>

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

0

84

Предосмотр содержания темы при наведении курсора by Romych

в html-верх:

Код:
<style type="text/css">
#prosmotr { position: absolute;  z-index:1000;  filter: alpha(opacity=90); opacity: 0.9; 
  background-color: #ddd;
  border: 2px solid #ccc;
  width:580px;
 background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));  background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));  background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));  background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));  background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
-moz-border-radius: 8px; border-radius: 8px; khtml-border-radius:8px; -webkit-border-radius:8px;
 -moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset; -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;  box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
  table-layout: auto !important;}
#tema td {border-style: dotted none none dotted;padding:1px !important;}
</style>

в html-низ:

Код:
<!--Предосмотр темы-->
<script type="text/javascript"> 
$('div#pun-viewforum div.tclcon a').hover(function(){
poisk=$(this).attr('href'); zapros=poisk.slice(poisk.indexOf("viewtopic.php?id=")+17);
$(this).append('<div id="prosmotr"><table id="tema" cellspacing="0" width=100%></table></div>');
$.get('export.php?type=rss&tid='+zapros,'',processTEMA);
function processTEMA(data){
$(data).find('item:lt(10)').each(function(){ 
TAuthor=$(this).find('author').text().slice(14,-1); TLink=$(this).find('link').text();
TPosted=$(this).find('pubDate').text().slice(4,-5); TContent=$(this).find('description').text();
$('#tema').append('<tr><td width=15% style="color:#458B74;"><b>'+ TAuthor +'</b></td><td width=60%><a href="'+TLink+'">Ссылка на пост </a>'+TContent+'</td><td style="color:RoyalBlue">'+TPosted+'</td></tr>'); 
}); } },
function(){ 
$('div#pun-viewforum div.tclcon a').find('div:last').remove();
 });
</script>

http://forum.mybb.ru/uploads/0000/14/1c/700959-1.gif

0

85

Ротатор произвольного контента by Deff

<style>#КонтентРотатор p{display:none}</style>
<div id="КонтентРотатор"><!-- Ротатор произвольного контента -->
<p>1-й Контент</p>
<p>2-й Контент</p>
<p>3-й Контент</p>
<p>4-й Контент</p>
<p>N-й Контент</p>
</div>

<script language="javascript">
var sek = 3600001;  // Время отображения

var Nrout=$("#КонтентРотатор p").length
var i=Math.round(Math.random()*(Nrout-1));RotatorMycontent(i);
function RotatorMycontent(i) {
$("#КонтентРотатор p").hide();
$("#КонтентРотатор p").eq(i).show();
j =Math.round(Math.random()*(Nrout-1));
timerID = setTimeout("RotatorMycontent(j)",sek);}
</script>

Этим цветом - место для вставки содержимого контента (напр. картинка)
Этим цветом - время отображения до следующей смены содержимого (3600001 - смена содержимого с обновлением страницы)

0


Вы здесь » Role Club » скрипты » Каталог скриптов


Рейтинг форумов | Создать форум бесплатно © 2007–2017 «QuadroSystems» LLC