Техническая поддержка сервиса Quadro.Boards

Объявление

Новости сервиса

О форуме

Quadro.Support – это форум технической поддержки различных проектов и сервисов Quadro.Systems LLC, на котором грамотные технические специалисты всегда смогут помочь вам в решении проблем, или же подсказать ответы на самые сложные вопросы. Так же на форуме собрана обширная база знаний по различным аспектам наших сервисов. Не забывайте пользоваться поиском ;)

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

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


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


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

Сообщений 41 страница 60 из 93

41

Индикатор групп

<script type="text/javascript">
var text="<center><font color=Red> Администратор </font> | <font color=Blue> Координатор </font>  |  <font color=Green> Модератор </font></center>"
pa=document.getElementById("pun-stats")
pa.style.position = "relative"
pa.innerHTML = "<div style=\"position:absolute; z-index:2; center: 10px; top: 40px; width: 100%;\">"+text+"</div>"+ pa.innerHTML
</script>

Хтмл низ вставляем, то что выделено заменям на свои данные, если надо.  Примерно выглядит так НАЖАТЬ  внизу форума.

0

42

Замена ссылок Профиль - ЛС - Email картинками

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

0

43

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

<script language="JavaScript">
var a = document.links
var isadmin=0

if(document.getElementById("navlogout")){
str=document.getElementById("navprofile").getElementsByTagName("a")[0].href
str=str.substring(str.indexOf("=")+1)
if (str=="2")
    isadmin=1
}

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

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

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

0

44

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

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

<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=="1")
{net[o].href ="javascript: allNews(
1);"}
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>

0

45

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

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

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

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

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

</script>

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

0

46

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

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

0

47

Кнопка "вверх к первому сообщению" в каждом сообщении
Отображается в каждом сообщении в строке с номером сообщения

<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="+ini+">Upperpost</a>  "+up[p].innerHTML.substr(14)}
</script>

Вместо Upperpost - ваше слово ссылка
Если вместо буквенной ссылки нужна картинка-кнопка вместо upperpost вставляем

<img src='адрес картинки' />

!!! Вставлять строго в HTML под формой ответа.

0

48

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

<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 опять все, что душе угодно.

0

49

При наведении мышки на гиперссылку в строке браузера отображается надпись.
<HTML>
<HEAD>
<TITLE> Движущееся приветствие в строке status
браузера </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function scrollit_r2l(seed) {
  var m1 = " Приветствуем вас на нашем форуме! ";
  var m2 = " Вас приветствует форум http://b.4bb.ru ";
  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>
ТО ЧТО ВЫДЕЛЕНОЕ КРАСНЫМ ИЗМЕНЯЕШЬ НА СВОЕ

0

50

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

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

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

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

0

51

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

Под каждым форумом есть список его модераторов. Этот скрипт убирает пользователя из этого списка (только из списка. Права остаются)

<script>
var supermod = new Array("karpoff","Zebra")

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

0

52

Скрипт  Usher
скрипт входа!

- Как работатет?
[i] - Если вы гость выскакивает div-окно и просит зарегистрироваться или войти (сам исчезает через N-ное количество секунд)

- Где посмотреть пример?
- http://www.rnb.4bb.ru/
- Куда вставлять?
- В описание любого раздела Вашего форума.

А вот и сам код:

Код:
<script type='text/javascript'>
if (document.getElementById('pun-status').innerHTML.indexOf("Гость")!=-1)
{
var displaymode = 'always';
var enablefade = 'no';
var autohidebox = ['yes', 17];
var showonscroll = 'yes';
var IEfadelength = 1;
var Mozfadedegree = 0.05;

if (parseInt(displaymode) != NaN)
{
	var random_num = Math.floor(Math.random() * displaymode);
}

function display_hover_prompt()
{
	var ie = document.all && !window.opera;
	var dom = document.getElementById;
	var iebody = (document.compatMode == 'CSS1Compat') ? document.documentElement : document.body;
	var objref = (dom) ? document.getElementById('hoverprompt') : document.all.hoverprompt;
	var scroll_top = (ie) ? iebody.scrollTop : window.pageYOffset;
	var docwidth = (ie) ? iebody.clientWidth : window.innerWidth;
	var docheight = (ie) ? iebody.clientHeight: window.innerHeight;
	var objwidth = objref.offsetWidth;
	var objheight = objref.offsetHeight;
	objref.style.left = docwidth/2-objwidth/2+'px';
	objref.style.top = scroll_top+docheight/2-objheight/2+'px';

	if (showonscroll == 'yes')
	{
var showonscrollvar = setInterval('static_hover_prompt()', 50);
	}

	if (enablefade == 'yes' && objref.filters)
	{
objref.filters[0].duration = IEfadelength;
objref.filters[0].Apply();
objref.filters[0].Play();
	}

	objref.style.visibility = 'visible';
	if (objref.style.MozOpacity)
	{
if (enablefade == 'yes')
{
	var mozfadevar = setInterval('mozilla_hover_prompt_fade()', 90);
}
else
{
	objref.style.MozOpacity = 1;
	initiate_hover_prompt_hiding();
}
	}
	else
	{
initiate_hover_prompt_hiding()
	}
}

function mozilla_hover_prompt_fade()
{
	if (parseFloat(objref.style.MozOpacity) < 1)
	{
objref.style.MozOpacity = parseFloat(objref.style.MozOpacity)+Mozfadedegree;
	}
	else
	{
clearInterval(mozfadevar);
controlledhidebox();
	}
}

function static_hover_prompt()
{
	var ie = document.all && !window.opera;
	var dom = document.getElementById;
	var iebody = (document.compatMode == 'CSS1Compat') ? document.documentElement : document.body;
	var objref = (dom) ? document.getElementById('hoverprompt') : document.all.hoverprompt;
	var scroll_top = (ie) ? iebody.scrollTop : window.pageYOffset;
	var docwidth = (ie) ? iebody.clientWidth : window.innerWidth;
	var docheight = (ie) ? iebody.clientHeight: window.innerHeight;
	var objwidth = objref.offsetWidth;
	var objheight = objref.offsetHeight;
	objref.style.top = scroll_top+docheight/3-objheight/2+'px';
}

function hide_hover_prompt()
{
	var ie = document.all && !window.opera;
	var dom = document.getElementById;
	var iebody = (document.compatMode == 'CSS1Compat') ? document.documentElement : document.body;
	var objref = (dom) ? document.getElementById('hoverprompt') : document.all.hoverprompt;
	objref.style.visibility = 'hidden';
	if (typeof showonscrollvar != 'undefined')
	{
clearInterval(showonscrollvar);
	}
}

function initiate_hover_prompt_hiding()
{
	if (autohidebox[0] == "yes")
	{
var delayvar = (enablefade == 'yes' && objref.filters) ? (autohidebox[1]+objref.filters[0].duration)*1000 : autohidebox[1]*1000;
initiate_timer(delayvar);
setTimeout('hide_hover_prompt()', delayvar);
	}
}

function initiate_timer(time)
{
	var newtime = time-1000;
	setTimeout('update_timer('+newtime+')', 1000);
}

function update_timer(time)
{
	var timer = time/1000;
	var ie = document.all && !window.opera;
	var dom = document.getElementById;
	if (dom)
	{
var hp = document.getElementById('hptimer');
if (timer == 1)
{
	hp.innerHTML = "<small><i>Это окно закроется "+timer+" Секунда</i></small>";
}
else
{
	hp.innerHTML = "<small><i>Это окно закроется "+timer+" Секунд</i></small>";
}
	}
	var newtime = time-1000;
	setTimeout('update_timer('+newtime+')', 1000);
}

function initiate_hover_prompt()
{
	setTimeout('display_hover_prompt()', 100);
}

function get_cookie(Name)
{
	var search = Name + "=";
	var returnvalue = "";
	if (document.cookie.length > 0)
	{
var offset = document.cookie.indexOf(search);
if (offset != -1)
{
	offset += search.length;
	var end = document.cookie.indexOf(';', offset);
	if (end == -1)
	{
end = document.cookie.length;
	}
	returnvalue = unescape(document.cookie.substring(offset, end));
}
	}
	return returnvalue;
}

if (displaymode == 'always' || parseInt(displaymode) != NaN && random_num == 0)
{
	if (window.addEventListener)
	{
window.addEventListener('load', initiate_hover_prompt, false)
	}
	else if (window.attachEvent)
	{
window.attachEvent('onload', initiate_hover_prompt)
	}
	else if (document.getElementById)
	{
window.onload = initiate_hover_prompt;
document.cookie = 'fadedin=yes';
	}
}}
</script>
<style>
#hoverprompt {
position:absolute;
width:300px;
left:0;
top:-400px;
padding:4px;
z-index:100;
visibility:hidden
}
</style>
<div id="hoverprompt"><div class="borderwrap"><table cellSpacing="0" minmax_bound="true" id="table1">
<tbody minmax_bound="true"><tr minmax_bound="true"><th class="tcl" scope="col" minmax_bound="true">Добро пожаловать!<br><br><span class="style1">Уважаемый Гость, пожалуйста, авторизируйтесь или зарегистрируйтесь!<br><br><a href='register.php'><b>Регистрация</b></a>, откроет Вам много новых возможностей, недоступных для гостя, таких как скачивание песен, альбомов, клипов и возможность оставлять свои сообщения на форуме.<br><br><br>
Присоединяйтесь ;)
<br><br><br></p></span>
<p div align="center"><form id="login" class="container" method="post" action="http://rnb.4bb.ru/login.php?action=in" onsubmit="return my_form(this)">
<div align="center">
  <input type="hidden" name="form_sent" value="1"/>
  <input type="hidden" name="redirect_url" value="index.php"/>
</div>
<p align="center" class="inputfield required">
<label for="fld1" class="style1">Логин:</span></label>
<span class="input">
<input type="text" id="fld1" name="req_username" size="8" maxlength="25"/> 
<label for="fld2">Пароль:</label>
<label for="fld2"></label>
<span class="input">
<input type="password" id="fld2" name="req_password" size="8" maxlength="25"/></span><br><br>
</p><div align="center">
    <input type="submit" class="button" name="login" value="Войти"/>
  </div>
</form></td>
</tr><br><br>

<tr minmax_bound="true">
<th class="tcl" scope="col" minmax_bound="true"><div id='hptimer'>
  <p><small>Это окно закроется Секунд</small></p>
  </div></th></tr>
<tr minmax_bound="true">
<td bgcolor="#FFFFFF" class="tcl" minmax_bound="true">
<p align="center" minmax_bound="true"></th></tr></td></tr></p></table>

</div>
</div>

В строчке var autohidebox = ['yes', 17]; заменяйте значение 17 на число секунда, через которое окно само закроется.
Все значения rnb.4bb.ru заменяете на свои...
И текст div-окна тоже меняете на свой

0

53

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

<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)

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

0

54

Индивидуальный статус картинкой
Как мы знаем, в поле статуса html вставлять нельзя.  Однако заменить статус картинкой все же можно. Прописываем у нужного человек в статусе индивидуальный стаутс буквами. Здесь разберем пример с заменой стаусов "координатор" и "заслуженный".
Далее в 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>

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

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

0

55

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

56

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

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

<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

57

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

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

<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

58

НОВЫЙ СКРИПТ ОТ Usher-a

- Что делает?
- Этот скрипт для гостей отображает только имя пользователя, аватар пользователя и репутацию пользователя

- Куда ставить?
- HTML верх, низ, объявление (ВНИМАНИЕ!!!! Скрипт не работает в HTML в форме ответа)

- Где посмотреть пример?
- http://www.rnb.4bb.ru

<script type='text/javascript'>
if (document<script type='text/javascript'>
if (document.getElementById('pun-status').innerHTML.indexOf("Гость")!=-1)
{
document.write("<style>")
document.write(".pa-online {display:none}")
document.write(".pa-reg {display:none}")
document.write(".pa-posts {display:none}")
document.write(".pa-fld1 {display:none}")
document.write(".pa-fld2 {display:none}")
document.write(".pa-fld3 {display:none}")
document.write(".pa-icq {display:none}")
document.write(".pa-age {display:none}")
document.write(".pa-sex {display:none}")
document.write(".pa-time-visit {display:none}")
document.write(".pa-from {display:none}")
document.write(".pa-title {display:none}")
document.write("</style>")
}
</script>

можно убрать всё, кроме репутации и аватара

0

59

Разделение важных и обычных тем на блоки
Вот таким образом
http://forum.mybb.ru/uploads/forum/998_Bezymyannyi.JPG


<script type="text/javascript">
if (document.URL.indexOf("viewforum")!=-1)
{var trs=document.getElementById('pun-main').getElementsByTagName("table")[0].rows
var io=1
for (io=1; io<=(trs.length-1); io++)
{if ((trs[io].className.indexOf("isticky")!=-1)&&(io==1))
{var portant=document.getElementById('pun-main').getElementsByTagName("table")[0].insertRow(1)
var im=portant.insertCell(0)
im.innerHTML="Важные темы"
im.style.color="#0000FF"
im.style.backgroundColor="#FFFFFF"
im.colSpan="4"}
else 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)
var normal1=normal.insertCell(0)
normal1.innerHTML="Темы форума"
normal1.style.color="#0000FF"
normal1.style.backgroundColor="#FFFFFF"
normal1.colSpan="4"
}}}
</script>

im.style.backgroundColor="#FFFFFF"
normal1.style.backgroundColor="#FFFFFF" цвет фона строк ВАжные темы и Темы форума

normal1.style.color="#0000FF"
im.style.color="#0000FF"  цвет шрифта в этих строках.

0

60

Скрытие ссылок в статистике. 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


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


Рейтинг форумов | Создать форум бесплатно