Форум поддержки пользователей ZeroParking

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

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


Вы здесь » Форум поддержки пользователей ZeroParking » Вопросы по скриптам » Объединенный модульный скрипт изменений в области инфы автора поста


Объединенный модульный скрипт изменений в области инфы автора поста

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

1

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

Скрипт включает такие модули как :
Аватар по умолчанию,
Замена статуса картинкой,
Скрытие инфы под аватаром,
Картинки для online/offline,
Отражение аватара,
Замена слов под аватаром,
Скрытие ICQ от гостей,
Замена опиcания пола мужской/женский.
Также могут быть добавлены дополнительные модули или изменены эти.

Любой ненужный модуль может быть удален без нарушения работоспособности скрипта (если я нигде не ошибся конечно  :whistle:   )

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

Итак:

1. HTML -верх :

Если вы не используете модуль "Отражение аватара" - пропустите это описание.
 
Для отражения аватара вам потребуется скрипт reflection.js Его последнюю версию можно скачать в архиве вот здесь:

http://cow.neondragon.net/stuff/reflection/

И теперь либо вставить в HTML-верх следующее:

<script type="text/javascript">
...
Сюда вставьте текст из файла reflection.js
...
</script>

Либо подгружаете его с внешнего хостинга:

<script src="Адрес/reflection.js" type="text/javascript"></script>

Отредактировано Aleksandr (2010-10-19 03:00:23)

0

2

2. HTML-низ :

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

  Комментарии после конфигурирования скрипта можно удалить (так как их много :-) )

Собственно сам скрипт:

Код:
<script type="text/javascript">
// Объединенный модульный скрипт отображения области автора

// +++ Функция к модулю 2 - Скрытие инфы под аватаром
function HideInfo(id,but) {
if (document.getElementById(id).style.display == "block"){ but.src='Ссылка на картинку открытия спойлера'; document.getElementById(id).style.display="none"}
else { but.src='Ссылка на картинку закрытия спойлера'; document.getElementById(id).style.display="block"}
return false }
// === конец функции к модулю 2 - Скрытие инфы под аватаром

// +++ Функция к модулю 5 - Замена слов под аватаром
function avtzam(paz,slo,zna) {
var k
if ((i=q.indexOf(paz))!=-1) { pos=q.indexOf(">",i)+1; i=q.indexOf("</li>",pos)
if ((k=str.substring(0,i).indexOf(slo,pos))!=-1) { i=k+slo.length
str=str.substring(0,k)+zna+str.substring(i); q=str.toLowerCase() }}}
// === конец функции к модулю 5 - Замена слов под аватаром


var arr=document.getElementsByTagName("ul")
for (j in arr) {
str=arr[j].innerHTML
if (str.indexOf("pa-author")!=-1) { q=str.toLowerCase(); pos=-1

// +++ модуль 1: { 1.1 - Аватар по умолчанию, 1.2 - Замена статуса картинкой}

if ((i=q.indexOf("pa-title"))!=-1) {pos=q.indexOf(">",i)+1; i=q.indexOf("</li>",pos); nstr=str.substring(pos,i)

// {+++ подмодуль 1.1 - Аватар по умолчанию
if (q.indexOf("pa-avatar")==-1){
if (nstr=="Гость"){defaultPict="адрес аватарки для гостя"}
// Если хотите добавить дополнительные аватарки по умолчанию, то добавляйте 
//строку ниже (убрав комменты '//') для каждой нужной группы пользователей
// else if (nstr=="Название статуса пользователя") {defaultPict="адрес аватарки пользователя"}
else {defaultPict="адрес аватарки для остальных пользователей"}
str =str.substring(0,i+5)+'<li class="pa-avatar item2"><img src='+ defaultPict +' alt="Аватар" /></li>'+str.substring(i+5) }
// }=== конец подмодуля 1.1 - Аватар по умолчанию

// {+++ Подмодуль 1.2 - Замена статуса картинкой
if (nstr=="Гость") { m="<img src='адрес картинки статуса для гостя' />"}
else if (nstr=="Статус пользователя") { m="<img src='адрес картинки статуса пользователя' />"}
// повторите вышележащую строку "else if..." для каждого статуса пользователя
else {m=nstr}
str=str.substring(0,pos)+m+str.substring(i)
// }=== конец подмодуля 1.2 - Замена статуса картинкой

q=str.toLowerCase() }
// === конец модуля 1

// +++ модуль 2 - Скрытие инфы под аватаром
pos=-1
if ((i=q.indexOf("pa-avatar"))!=-1) {pos=q.indexOf("</li>",i)+5 }
else if ((i=q.indexOf("pa-title"))!=-1) {pos=q.indexOf("</li>",i)+5 }
if (pos!=-1) { if ((i=q.indexOf("pa-online",pos))==-1) {i=str.length}
else { i=q.substring(0,i).lastIndexOf("<li class=") }
str=str.substring(0,pos)+"<input type='image' value='+' src='Ссылка на картинку открытия спойлера' onClick=\"return HideInfo('info"+j+"',this)\"><br><div id='info"+j+"' style='display:none'>"+str.substring(pos,i)+"</div>"+str.substring(i)
q=str.toLowerCase() }
// === конец модуля 2 - Скрытие инфы под аватаром

// +++ модуль 3 - Картинки для online/offline
if ((i=q.indexOf("pa-online"))!=-1) {pos=q.indexOf(">",i)+1; i=q.indexOf("</li>",pos)
str=str.substring(0,pos)+'<img src="адрес картинки online" />'+str.substring(i)
// ВНИМАНИЕ: Если вы хотите чтобы после картинки 'online' отображалась
//  стандартная надпись: "Активен NN минут" , замените в верхней строке
//  'str.substring(i)' на 'str.substring(pos)'
} else {str=str+'<li class="pa-online"><img src="адрес картинки offline" /></li>'}
q=str.toLowerCase()
// === конец модуля 3 - Картинка для online/offline

// +++ модуль 4 - Отражение аватара
if ((i=q.indexOf("pa-avatar"))!=-1) {pos=q.indexOf("<img ",i)+5; 
str=str.substring(0,pos)+"class=reflect "+str.substring(pos); q=str.toLowerCase() }
// === конец модуля 4 - Отражение аватара

// +++ модуль 5 - Замена слов под аватаром
// Скрипт тупо заменяет слово на другое слово или
// однострочную HTML-конструкцию (например рисунок)
// Повторяйте следующую строку для всех нужных замен
avtzam("Тег класса","Заменяемое слово","Слово или HTML-конструкция для замены")
//  Теги классов: pa-from, pa-reg, pa-posts...
// === конец модуля 5 - Замена слов под аватаром

// +++ модуль 6 - Скрытие ICQ от гостей 
if (GroupID==3) { if ((i=q.indexOf("pa-icq"))!=-1) {pos=q.indexOf(">",i)+1; i=q.indexOf("</li>",pos)
str=str.substring(0,pos)+" "+str.substring(i); q=str.toLowerCase() }}
// === конец модуля 6 - Скрытие ICQ от гостей

// +++ модуль 7 - Замена опиcания пола мужской/женский
if ((i=q.indexOf("pa-sex"))!=-1) { pos=q.indexOf(">",i)+1; i=q.indexOf("</li>",pos); m=str.substring(pos,i)
if (m.indexOf("Мужской")!=-1) { m="Полная строка замены для 'Пол: Мужской'"}
else if (m.indexOf("Женский")!=-1) {m="Подная строка замены для 'Пол: Женский'"}
str=str.substring(0,pos)+m+str.substring(i)
q=str.toLowerCase() }
// === конец модуля 7 - Замена описания пола

arr[j].innerHTML=str }}
</script>

Отредактировано Aleksandr (2010-10-19 03:02:56)

0

3

Примечания:

При подстановке адресов ссылок обратите внимание на тип кавычек или апострофов в сложных конструкциях. Рекомендуется не менять.  :D

Модуль 5 - Замена слов под аватаром - можно заменять слова: откуда, зарегистрирован и т.п.
если хотите использовать рисунок вставьте в качестве HTML-конструкции

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

Аналогично для модуля - Замена опиcания пола мужской/женский

Модуль 6 - Скрытие ICQ от гостей - очень легкая шторка для любопытных, при загрузке сайта icq все равно проскальзывает, и легко читается, при просмотре кода страницы.  :disappointed:

Отредактировано Aleksandr (2010-10-19 03:19:19)

0

4

это вопрос по скрипту или все таки что-то рабочее?

0

5

Рабочее...  :)

Отредактировано Aleksandr (2010-10-19 22:45:16)

0


Вы здесь » Форум поддержки пользователей ZeroParking » Вопросы по скриптам » Объединенный модульный скрипт изменений в области инфы автора поста


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