NForum.RU: Займемся украшательством форума IPB - NForum.RU

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Займемся украшательством форума IPB

#1 Пользователь офлайн   OKC 

  • Завсегдатай
  • Иконка
  • Группа: Суперпользователи
  • Сообщений: 288
  • Регистрация: 14.10.2005

Отправлено Thursday, 23.03.2006 - 06:12

Зачем все это надо, спросите вы? Да кто его знает, просто интересно было попробовать добавить хоть какую-то индивидуальность, шоп гламурненько было. На авторство не претендую, тот или иной эффект был мной увиден на каком-нибудь форуме и вот делюсь.

Флеш-часы:
Для версии IPB 2.1.* открываем файл cache\skin_cache\cacheid_2\skin_global.php
ищем строку:
392: <div id="logostrip"><a href='{$this->ipsclass->base_url}'><!--ipb.logo.start--><img src='style_images/<#IMG_DIR#>/logo4.gif' style='vertical-align:top' alt='IPB' border='0' /><!--ipb.logo.end--></a></div>
заменяем на:
<div id="logostrip"><a href='{$this->ipsclass->base_url}'><!--ipb.logo.start-->
<embed src="style_images/<#IMG_DIR#>/clock.swf" width="75" height="68" quality="High" menu="false" align="right">
<img src='style_images/<#IMG_DIR#>/logo4.gif' style='vertical-align:top' alt='IPB' border='0' /><!--ipb.logo.end--></a></div>
и теперь заливаем в папку ролик часов style_images\1\clock.swf (высота 68 пикселов, чтобы дизайн не расползался)

Для версии IPB 2.0.* открываем файл skin_cache\cacheid_2\skin_global.php
Делаем все тоже самое в строке 323
Строки могут и не совпадать.

Все ссылки пульсируют красным:
Создаем файл в папке jscripts\fade.js с кодом:
/************* 
**** <config> 
**/ 
startColor = "#000000"; // MouseOut link color 
endColor = "#FF0000"; // MouseOver link color 

stepIn = 20; // delay when fading in 
stepOut = 20; // delay when fading out 

/* 
** set to true or false; true will 
** cause all links to fade automatically 
***/ 
autoFade = true; 
/* 
** set to true or false; true will cause all CSS 
** classes with "fade" in them to fade onmouseover 
***/ 
sloppyClass = true; 
/** 
**** </config> 
**************/ 
/************* 
**** <install> 
** 
** 
**** </install> 
**************/ 

hexa = new makearray(16); 
for(var i = 0; i < 10; i++) 
hexa[i] = i; 
hexa[10]="a"; hexa[11]="b"; hexa[12]="c"; 
hexa[13]="d"; hexa[14]="e"; hexa[15]="f"; 

document.onmouseover = domouseover; 
document.onmouseout = domouseout; 

startColor = dehexize(startColor.toLowerCase()); 
endColor = dehexize(endColor.toLowerCase()); 

var fadeId = new Array(); 
var timerID = 0; 
var theElement,theTagName,theClassName,theUniqueID 

function dehexize(Color){ 
var colorArr = new makearray(3); 
for (i=1; i<7; i++){ 
for (j=0; j<16; j++){ 
if (Color.charAt(i) == hexa[j]){ 
if (i%2 !=0) 
colorArr[Math.floor((i-1)/2)]=eval(j)*16; 
else 
colorArr[Math.floor((i-1)/2)]+=eval(j); 
} 
} 
} 
return colorArr; 
} 

function domouseover() { 
if(document.all) { 
clearTimeout(timerID); 
theElement = event.srcElement; 
theTagName = theElement.tagName; 
theClassName = theElement.className; 
theUniqueID = theElement.uniqueID; 
if ((theTagName == "A" && autoFade) || theClassName == "fade" || (sloppyClass && theClassName.indexOf("fade") != -1)) { 
//alert(theElement); 
fade(startColor,endColor,theUniqueID,stepIn); 
timerID = setTimeout('pulsedown()',500); 
} 
} 
} 

function pulseup() { 
if(document.all) { 
clearTimeout(timerID); 
if ((theTagName == "A" && autoFade) || theClassName == "fade" || (sloppyClass && theClassName.indexOf("fade") != -1)) { 
//alert(theElement); 
fade(startColor,endColor,theUniqueID,stepIn); 
timerID = setTimeout('pulsedown(theElement)',500); 
} 
} 
} 

function pulsedown(theElement) { 
if (document.all) { 
clearTimeout(timerID); 
if ((theTagName == "A" && autoFade) || theClassName == "fade" || (sloppyClass && theClassName.indexOf("fade") != -1)) { 
//alert(theElement); 
fade(endColor,startColor,theUniqueID,stepOut); 
timerID = setTimeout('pulseup()',500); 
} 
} 
} 


function domouseout() { 
if (document.all) { 
clearTimeout(timerID); 
var srcElement = event.srcElement; 
if ((srcElement.tagName == "A" && autoFade) || srcElement.className == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1)) 
fade(endColor,startColor,srcElement.uniqueID,stepOut); 
} 
} 

function makearray(n) { 
this.length = n; 
for(var i = 1; i <= n; i++) 
this[i] = 0; 
return this; 
} 

function hex(i) { 
if (i < 0) 
return "00"; 
else if (i > 255) 
return "ff"; 
else 
return "" + hexa[Math.floor(i/16)] + hexa[i%16];} 

function setColor(r, g, b, element) { 
var hr = hex(r); var hg = hex(g); var hb = hex(b); 
element.style.color = "#"+hr+hg+hb; 
} 

function fade(s,e, element,step){ 
var sr = s[0]; var sg = s[1]; var sb = s[2]; 
var er = e[0]; var eg = e[1]; var eb = e[2]; 

if (fadeId[0] != null && fade[0] != element){ 
setColor(sr,sg,sb,eval(fadeId[0])); 
var i = 1; 
while(i < fadeId.length){ 
clearTimeout(fadeId[i]); 
i++; 
} 
} 

for(var i = 0; i <= step; i++) { 
fadeId[i+1] = setTimeout("setColor(Math.floor(" +sr+ " *(( " +step+ " - " +i+ " )/ " +step+ " ) + " +er+ " * (" +i+ "/" + 
step+ ")),Math.floor(" +sg+ " * (( " +step+ " - " +i+ " )/ " +step+ " ) + " +eg+ " * (" +i+ "/" +step+ 
")),Math.floor(" +sb+ " * ((" +step+ "-" +i+ ")/" +step+ ") + " +eb+ " * (" +i+ "/" +step+ ")),"+element+");",i*step); 
} 
fadeId[0] = element; 
}


в файл index.php перед:
<?php

ставим:
<script type="text/javascript" src="jscripts/fade.js"></SCRIPT>

для тех кто в танке получаем:
<script type="text/javascript" src="jscripts/fade.js"></SCRIPT>
<?php


Все.
Скоро добавлю скрипт отсчета времени жизни форума.
Будет такого вида: Нашему форуму уже: 2 месяца 22 дня.
Кто что еще надумал выкладывайте.
0


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Другие ответы в этой теме

#2 Пользователь офлайн   Creperum 

  • Завсегдатай
  • Иконка
  • Группа: Суперпользователи
  • Сообщений: 429
  • Регистрация: 23.02.2006

Отправлено Friday, 24.03.2006 - 00:58

Спасибо... Ну, пусть на авторство не претендуешь, но молодец что собрал... Хороший вещи. Особенно полезно с вставлением чего-либо. Это можно так весь форум переделать что аж душа радоваться будет, а на скорость не сильно повлияет... Ну, если, конечно, меру знать... :)
0

#3 Пользователь офлайн   OKC 

  • Завсегдатай
  • Иконка
  • Группа: Суперпользователи
  • Сообщений: 288
  • Регистрация: 14.10.2005

Отправлено Friday, 24.03.2006 - 02:49

Вот выкладываю скрипт отсчета времени жизни форума.
Открываем мой любимый файл skin_global.php, где он находится вы уже знаетею.
Ищем в самом конце:
$IPBHTML .= <<<EOF
<div id="navstrip"><{F_NAV}>&nbsp;
EOF;


Изменяем на:

$IPBHTML .= <<<EOF
<CENTER>
<script language=Javascript>
<!--
function rus(n,a1,a2,a3){
var s=new String(n);
if(s.length>=2&s.substr(-2,1)=="1") return a1;
switch(s.charAt(s.length-1)){case"1":return a2;case"2":case"3":case"4":return a3;}
return a1;}
function countUp(){
x=false; showYear=true;
start=new Date('january 1, 2006');
dd=new Date();d0=dd.getDate();d1=start.getDate();m0=dd.getMonth();m1=start.getMonth();y0=dd.getFullYear();y1=start.getFullYear();
var _m=(y0-y1)*12+(m0-m1);var _d=0;txt="";
if(d0>d1){_d=d0-d1;if(x){_m++;_d++;}}
if(d0<d1){__y=(m0==0)?y0-1:y0;__m=(m0==0)?11:m0-1;_d=(new Date(y0,m0,d0,0,0,0)-new Date(__y,__m,d1,0,0,0))/(1000*24*60*60);if(!x){_m--;_d--;}}
if(d0==d1)
  txt="Нашему форуму <b>"+_m+"</b> "+rus(_m,"месяцев","месяц","месяца")+" <font color=red>РОВНО!</font>";
_y = Math.floor((_m)/12);if(x)_y++;
if(d0==d1&m0==m1)
  txt="Нашему форуму <b>"+_y+"</b> "+rus(_y,"лет","год","года")+" <font color=red>РОВНО!</font>";
_m=(_y>0&showYear)?_m%12:_m;
ty=(showYear&_y>0)?"<b>"+_y+"</b> "+rus(_y,"лет","год","года"):"";
tm=(_m>0)?"<b>"+_m+"</b> "+rus(_m,"месяцев","месяц","месяца"):"";
_d=Math.ceil(_d);
td="<b>"+_d+"</b> "+rus(_d,"дней","день","дня");
if(x){
 ty=(showYear)?"<b>"+_y+"</b>-й год":"";
 tm="<b>"+_m+"</b>-й месяц";
 td="<b>"+_d+"</b>-й день";
 if(txt=="")txt="Наш форум работает : "+ty+" "+tm+" "+td+".";
}else if(txt=="")txt="Нашему форуму уже: "+ty+" "+tm+" "+td+".";
document.write(txt);
}
//--></SCRIPT>

<script>countUp();</SCRIPT>
</CENTER>
<div id="navstrip"><{F_NAV}>&nbsp;
EOF;


Все, изменяем в скрипте дату запуска вашего форума.
Просто лазием по форумам, сохраняем страницу и если эффект сохранился вытаскиваем его.

Сообщение отредактировал OKC: Friday, 24.03.2006 - 02:51

0

#4 Пользователь офлайн   OKC 

  • Завсегдатай
  • Иконка
  • Группа: Суперпользователи
  • Сообщений: 288
  • Регистрация: 14.10.2005

Отправлено Saturday, 29.04.2006 - 21:49

Была тут тема со скинами (чет не вижу). Скины тоже украшательство.
Сюда буду выкладывать скины
0

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему