Официальная помощь сервиса

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

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



Архив скриптов

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

1

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

2

Убрать "Важно:"

<style type="text/css">
.stickytext {display:none}
</style>

0

3

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

Сохраняет действие при переходе на другие страницы (в осле, лисе, и опере)

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

4

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

<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

5

Все аватары по-умолчанию будут иметь отражение.

Теперь все аватары автоматом будут иметь такой эффект по-умолчанию.
Javascript: Versetti
Идея: Lexx
Разработка скрипта: Duka
Инструкция:
В HTML-верх кидаете:

Код:
<script type="text/javascript">
document.getElementsByClassName = function(className) {
	var children = document.getElementsByTagName('*') || document.all;
	var elements = new Array();
  
	for (var i = 0; i < children.length; i++) {
var child = children[i];
var classNames = child.className.split(' ');
for (var j = 0; j < classNames.length; j++) {
	if (classNames[j] == className) {
elements.push(child);
break;
	}
}
	}
	return elements;
}

var Reflection = {
	defaultHeight : 0.5,
	defaultOpacity: 0.5,
	
	add: function(image, options) {
Reflection.remove(image);

doptions = { "height" : Reflection.defaultHeight, "opacity" : Reflection.defaultOpacity }
if (options) {
	for (var i in doptions) {
if (!options[i]) {
	options[i] = doptions[i];
}
	}
} else {
	options = doptions;
}
	
try {
	var d = document.createElement('div');
	var p = image;
	
	var classes = p.className.split(' ');
	var newClasses = '';
	for (j=0;j<classes.length;j++) {
if (classes[j] != "reflect") {
	if (newClasses) {
newClasses += ' '
	}
	
	newClasses += classes[j];
}
	}

	var reflectionHeight = Math.floor(p.height*options['height']);
	var divHeight = Math.floor(p.height*(1+options['height']));
	
	var reflectionWidth = p.width;
	
	if (document.all && !window.opera) {
/* Fix hyperlinks */
                if(p.parentElement.tagName == 'A') {
	                var d = document.createElement('a');
	                d.href = p.parentElement.href;
                }  
                    
/* Copy original image's classes & styles to div */
d.className = newClasses;
p.className = 'reflected';

d.style.cssText = p.style.cssText;
p.style.cssText = 'vertical-align: bottom';
	
var reflection = document.createElement('img');
reflection.src = p.src;
reflection.style.width = reflectionWidth+'px';

reflection.style.marginBottom = "-"+(p.height-reflectionHeight)+'px';
reflection.style.filter = 'flipv progid:DXImageTransform.Microsoft.Alpha(opacity='+(options['opacity']*100)+', style=1, finishOpacity=0, startx=0, starty=0, finishx=0, finishy='+(options['height']*100)+')';

d.style.width = reflectionWidth+'px';
d.style.height = divHeight+'px';
p.parentNode.replaceChild(d, p);

d.appendChild(p);
d.appendChild(reflection);
	} else {
var canvas = document.createElement('canvas');
if (canvas.getContext) {
	/* Copy original image's classes & styles to div */
	d.className = newClasses;
	p.className = 'reflected';
	
	d.style.cssText = p.style.cssText;
	p.style.cssText = 'vertical-align: bottom';
	
	var context = canvas.getContext("2d");

	canvas.style.height = reflectionHeight+'px';
	canvas.style.width = reflectionWidth+'px';
	canvas.height = reflectionHeight;
	canvas.width = reflectionWidth;
	
	d.style.width = reflectionWidth+'px';
	d.style.height = divHeight+'px';
	p.parentNode.replaceChild(d, p);
	
	d.appendChild(p);
	d.appendChild(canvas);
	
	context.save();
	
	context.translate(0,image.height-1);
	context.scale(1,-1);
	
	context.drawImage(image, 0, 0, reflectionWidth, image.height);
	
	context.restore();
	
	context.globalCompositeOperation = "destination-out";
	var gradient = context.createLinearGradient(0, 0, 0, reflectionHeight);
	
	gradient.addColorStop(1, "rgba(255, 255, 255, 1.0)");
	gradient.addColorStop(0, "rgba(255, 255, 255, "+(1-options['opacity'])+")");

	context.fillStyle = gradient;
	if (navigator.appVersion.indexOf('WebKit') != -1) {
context.fill();
	} else {
context.fillRect(0, 0, reflectionWidth, reflectionHeight*2);
	}
}
	}
} catch (e) {
	    }
	},
	
	remove : function(image) {
if (image.className == "reflected") {
	image.className = image.parentNode.className;
	image.parentNode.parentNode.replaceChild(image, image.parentNode);
}
	}
}

function addReflections() {
	var rimages = document.getElementsByClassName('reflect');
	for (i=0;i<rimages.length;i++) {
var rheight = null;
var ropacity = null;

var classes = rimages[i].className.split(' ');
for (j=0;j<classes.length;j++) {
	if (classes[j].indexOf("rheight") == 0) {
var rheight = classes[j].substring(7)/100;
	} else if (classes[j].indexOf("ropacity") == 0) {
var ropacity = classes[j].substring(8)/100;
	}
}

Reflection.add(rimages[i], { height: rheight, opacity : ropacity});
	}
}

var previousOnload = window.onload;
window.onload = function () { if(previousOnload) previousOnload(); addReflections(); }
</script>

В HTML-низ:

<script type="text/javascript">
var arr=document.getElementsByTagName("li")
i=0
while(arr[i] ){
if(arr[i].className=="pa-avatar item2"){
name=arr[i].innerHTML
name=name.substring(4)
arr[i].innerHTML="<img class=reflect "+name+" "
}
i++
}
</script>

В Результате у всех пользователей под аватаром будет отражение.

http://i024.radikal.ru/0803/8a/e6265693d2fd.jpg
Есть один недостаток - корректное отображение анимаций только в ИЕ

0

6

Информационное табло на форум.

http://radikal.ru/F/i014.radikal.ru/0803/50/fb26bebd62e5.jpg

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

7

Последние 10 сообщений в статистику.

Код:
<script src="/export.php?type=js&max=10" type="text/javascript"></script>
<script type="text/javascript">
var html='';
var ts = '';
var mo = '';
var hh = '';
var mm = '';
var i = 0;
for(i=0;i<content.length;i++) {
	ts = new Date();
	ts.setTime(1000*content[i][0]);
	mo = ts.getMonth()+1;
	if (mo<10) mo='0'+mo;
	hh = ts.getHours();
	mm = ts.getMinutes()+'';
	if (mm<10) mm='0'+mm;
	ts = ts.getDate()+'.'+mo+' '+hh+':'+mm;
html2="</tr></tbody></table></div>"
html1="<h2>Последние 10 сообщений форума</h2><div class=\"container\"><table cellspacing=\"0\" width=100%><thead><tr><th scope=\"col\">Автор</th><th scope=\"col\">Время</th><th scope=\"col\">Последнее сообщение</th></tr></thead><tbody class=\"hasicon\">"
html+='<tr><td>'+content[i][1]+'</td><td class=\"tc2\">'+ts+'<td class=\"tcr\"><a href=\"'+content[i][2]+'\" target=\"_blank\">'+content[i][3]+'</a><br /></td></tr>';
}

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=="statscon"){
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML=""+html1+""+html+""+html2+"<br><h2>Общая статистика</h2>"+name+""
}
i++
}
</script>

Скрипт добавит в статистику оформленную табличку для 10 последних сообщзений, который форум сгенерирует сам(с помощью яваскрипта на экспорт файлов).
Что можно поменять в скрипте?
Первая строка - export.php?type=js&max=10, 10 можете поменять на свое, взависимости от того, сколько новых сообщений должно выводиться на главной.

0

8

Скрипт для установки аватара по умолчанию.

Код:
<script type="text/javascript">
defaultPict = "https://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

9

Cкрипт уведомления о новом личном письме на форуме

Он показывает не всплывающее окно, а просто div в котором также есть ссылка перехода к странице сообщений.
В нём нужно указать адрес форума (выделено красным) БЕЗ WWW вставляйте в ХТМЛ-низ.

Код:
<script type="text/javascript">
forum = "[color=red][b]http://md-f.ru[/b][/color]"

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>

0

10

Сворачивание подписи

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

11

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

[реклама вместо картинки]

Это в верх:

Код:
<style>
.memdetails
{
   background: #fafcfe;
   border: 1px solid #cdd6e2;
   border-bottom-width: 2px;
   border-right-width: 2px;
   padding: 4px 3px 4px 3px;
   margin: 3px 1px 3px 1px;
}
</style>

Это вниз:

Код:
<script type="text/javascript">
var arr=document.getElementsByTagName("li")
i=0
str=document.URL
while(arr[i] ){
if((arr[i].className=="pa-author online") || (arr[i].className=="pa-author") || (arr[i].className=="pa-title") || (arr[i].className=="pa-avatar item2") || (arr[i].className=="pa-reg") || (arr[i].className=="pa-posts") || (arr[i].className=="pa-respect") || (arr[i].className=="pa-positive") || (arr[i].className=="pa-ip") || (arr[i].className=="pa-online")){
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div class=memdetails>"+name+"</div>"
}
i++
}
</script>

0

12

Заданый стиль на главной странице.

<script type="text/javascript">
if(document.getElementById("pun-index"))
document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"/style/Mybb_Achtung/Mybb_Achtung.css\" />")
</script>

0

13

Изменяем надписи в панеле ссылок.

Код:
<script type="text/javascript">
var itemMass = new Array("Главная", "Пользователи", "Строгие правила", "Поисковая система", "Мой профиль", "Лички", "Админка", "Стать участником", "Вход)", "Выход))");
var itemIdMass = new Array("navindex", "navuserlist", "navrules", "navsearch", "navprofile", "navpm", "navadmin", "navregister", "navlogin", "navlogout");
for(i=0; i<itemIdMass.length; i++){
if(document.getElementById(itemIdMass[i])){
    var str = document.getElementById(itemIdMass[i]).firstChild.firstChild
    str.innerHTML=itemMass[i];
}
}
</script>

В HTML-низ

0

14

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

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

15

Добавить в закладки (Opera + Mozilla)

<a href="http://forummdfru.spybb.ru" rel="sidebar" onClick="return createBookmark('Название форума');">Добавь в закладки</a>

Жирное менять на свое. Вставлять туда, где хотите их видеть

0

16

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

Наверняка вы видели такую штуку на форумах 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://s50.radikal.ru/i129/0808/43/8b4c3383e761.jpg
http://s55.radikal.ru/i147/0808/a4/ae0ba574fcd6.jpg

0

17

Модераторские теги.

Думаю много слов употреблять не стоит)
http://i022.radikal.ru/0804/4f/a48e47179683.jpg

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

Код:
[mod][/mod]
Код:
<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>

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

Код:
[ex][/ex]
Код:
<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-низ.

0

18

Всплывающее описание раздела.

Еще одна безделушка %)
Сделает вот так:
http://s1.ipicture.ru/uploads/081025/e10I42d3o4.jpg

При наведени курсора на значок [?] покажет описание раздела.

Код:
<script type="text/javascript">
var a = document.getElementsByTagName("a")
for(i=0; i<a.length-1;i++){
if(a[i].href.indexOf("/viewforum.php?id=")!=-1){
    if(a[i].parentNode.parentNode.innerHTML.substring(a[i].parentNode.parentNode.innerHTML.toLowerCase().indexOf('</h3>')+5).length > 0)
    a[i].parentNode.innerHTML+=" <a title='"+a[i].parentNode.parentNode.innerHTML.substring(a[i].parentNode.parentNode.innerHTML.toLowerCase().indexOf('</h3>')+5)+"'>[?]</a>"
    a[i].parentNode.parentNode.innerHTML = a[i].parentNode.parentNode.innerHTML.substring(0, a[i].parentNode.parentNode.innerHTML.toLowerCase().indexOf("</h3>")+5)
}
}

</script>

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

0

19

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

<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

20

Цветовыделение ников на форуме

<script type="text/javascript">
inColor("red", new Array("Вася", "Петя"))
inColor("blue", new Array("Женя", "Слава"))
inColor("green", new Array("Алена"))
inColor("gray", new Array("Маша"))
inColor("yellow", new Array("Андрей", "Саша", "Света"))

function inColor(color, myarray){
var a=document.links
for(i=0;i<a.length;i++){
for(q=0;q<myarray.length;q++){
if(a[i].innerHTML==myarray[q]){
a[i].innerHTML="<span style=\"color: "+color+";\">"+myarray[q]+"</span>"
}}}}
</script>

Копируем то, что выделенно курсивом столько, сколько нужно

0

21

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

Помнится, многие спрашивали как сделать профиль справа как на 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>

0