Юзер-панель со своим контентом на основе скрипта инфо-панели с данными пользователей от Duka

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

http://s2.uploads.ru/t/tGxlC.jpg
http://s3.uploads.ru/t/AL2T6.jpg
http://s3.uploads.ru/t/JiVzP.jpg

Юзер-панель с данными пользователей и своим контентом

http://s2.uploads.ru/t/0cbls.jpghttp://s3.uploads.ru/t/rI95y.jpg

Скрипт
Для начала необходимо вставить в то место, где должна отображаться ваша панель код:

Код:
<div id="u-panel"></div>

Затем вставляем в html-низ или прямо под с этим сам скрипт:

<script type="text/javascript">
var arr=document.getElementsByTagName("div")
i=0
while(arr ){
if(arr[i].id=="u-panel") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div id=option>тут будет наше содержимое</div>"+name
}i++}
</script>

Заполнение контента

Для заполнения скрипта нужно пользоваться двумя правилами:

1. никаких двойных кавычек в вашем HTML коде!
Обычные кавычки (") заменяйте апострофом (') или просто пишите без них, например:

<table border='0'>
<table boder=0>

2. код контента должен быть в одну строчку!
Не жмите enter, не переносите коды на новую строку. Если слодно из-за этого ориентироваться, то просто сначала делайте код в блокноте, а потом убирайте переносы и вставляйте в скрипт

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

Данные пользователей

Общие данные

"+UserLogin+" - отображает ник пользователя
"+UserName+" - отображает имя пользователя, которое он вписал в Профиль
"+UserAvatar+" - отображает аватарку пользователя
"+UserTitle+" - отображает статус пользователя
"+GroupTitle+" - отображает группу пользователя
"+UserPosts+" - отображает количество сообщений пользователя
"+UserAge+" - отображает возраст пользователя
"+UserBirthDate+" - отображает день рождения пользователя
"+UserRespectPlus+" - отображает количество плюсов в уважении
"+UserRespectMinus+" - отображает количество минусов в уважении
"+UserPositivePlus+" - отображает количество плюсов, которые поставил юзер
"+UserPositiveMinus+" - отображает количество минусов которые поставил юзер
"+BoardStyle+" - отображает стиль, который использует пользователь (если вы разрешили им в настройках выбрать стандартный скин)

Персональные ссылки

большинство ссылок можно получить с помощью кода "+UserID+" - он отображает идентификатор пользователя, который вы можете увидеть, зайдя на страницу своего профиля:

http://адрес форума/profile.php?id=2

Ниже приведен список самых распространенных ссылок:

<a href='/profile.php?id="+UserID+"'>Профиль</a>
<a href='/profile.php?section=personal&id="+UserID+"'>Профиль > Персональный</a>
<a href='/profile.php?section=messaging&id="+UserID+"'>Профиль > Общения</a>
<a href='/profile.php?section=avatar&id="+UserID+"'>Профиль > Аватар</a>
<a href='/profile.php?section=signature&id="+UserID+"'>Профиль > Подпись</a>
<a href='/profile.php?section=display&id="+UserID+"'>Профиль > Отображения</a>
<a href='/profile.php?section=privacy&id="+UserID+"'>Профиль > Приватность</a>
<a href='/profile.php?section=fields&id="+UserID+"'>Профиль > Дополнительно</a>
<a href='/profile.php?section=fields&id="+UserID+"&p=auth_methods'>Профиль > Методы авторизации</a> (QuadroBoards)
<a href='/profile.php?section=fields&id="+UserID+"&p=ucp'>Профиль > Лицевой счет</a> (QuadroBoards)
<a href='/profile.php?section=invites&id="+UserID+"'>Профиль > Приглашения</a>
<a href='/respect.php?id="+UserID+"'>Уважение</a>
<a href='/positive.php?id="+UserID+"'>Позитив</a>

Условия для скрипта

в этой части описаны небольшие приемы, которые помогут скрипту работать лучше.

пользователь не заполнил данные и они не отображаются

Решение:

Прописываем в скрипте условие, что будет отображаться вместо данных

<script type="text/javascript">
if (UserBirthDate == ""){UserBirthDate = "Когда же нам тебя поздравлять?"}
var arr=document.getElementsByTagName("div")
i=0
while(arr[i] ){
if(arr[i].id=="u-panel") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div id=option>Ваш день рождения "+UserBirthDate+"</div>"+name
}i++}
</script>

В условия можно добавить ссылки на заполнение данных:

<script type="text/javascript">
if (UserAge == "0"){UserAge = "Наш форум предназначен для лиц старше 18 лет. Быстро заполни<a href='/profile.php?section=personal&id="+UserID+"'>Профиль</a>, пока не прогнали!"}
var arr=document.getElementsByTagName("div")
i=0
while(arr[i] ){
if(arr[i].id=="u-panel") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div id=option>Ваш возраст: "+UserAge+"</div>"+name
}i++}
</script>

Как поставить пользователю аватарку по умолчанию

Решение

прописываем в скрипте ссылку на картинку:
<script type="text/javascript">
if (UserAvatar == ""){UserAvatar = "http://forumavatars.ru/img/avatars/0003/ac/ce/1409-1308139497.jpg"}
var arr=document.getElementsByTagName("div")
i=0
while(arr[i] ){
if(arr[i].id=="u-panel") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div id=option><a href='/profile.php?section=avatar&id="+UserID+"' title='Изменить аватарку'><img src="+UserAvatar+"></a></div>"+name
}i++}
</script>

Как отображать настоящее имя пользователя, но если оно не заполнено, то логин

Решение

<script type="text/javascript">
var myopt="<strong>"+UserName+"</strong>";
if (myopt == "<strong></strong>"){user = "<strong>"+UserLogin+"</strong>"}
var arr=document.getElementsByTagName("div")
i=0
while(arr[i] ){
if(arr[i].id=="u-panel") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div id=option>Добро пожаловать, "+myopt+"!</div>"+name
}i++}
</script>

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

<script type="text/javascript">
var arr=document.getElementsByTagName("div")
i=0
str=document.URL
while(arr[i] ){
if(arr[i].id=="u-panel" && GroupID == "3") {
name=arr[i].innerHTML
name=name.substring(0)
arr[i].innerHTML="<div id=option>тут будет наше содержимое</div>"+name
}
i++
}

вместо красного настройте код для отображения гостям.
скорее всего, вам пригодятся ссылки:

<a href='login.php'>Вход</a>
<a href='register.php'>Регистрация</a>

Оформление скрипта

Делается с помощью CSS:

Код:
#option {тут ваши коды}

вы можете и сами прописывать новый классы и id в коде, чтоб можно было настраивать буквально каждую строчку.
или добавляйте атрибут [i]style="" в сам html-код

как закрепить панель где-то в шапке
один из частных вопросов.
вставьте самый первый html-код (<div id="u-panel"></div>) в администрирование > настройки > html-верх

затем пропишите в html-верх:

<style>
#option {
position:absolute;
top:300px;
margin-left: 500px;
}
</style>

синее - отступ сверху
красное - отступ влево

как перенести строку статуса (Привет, Герда. Ваш последний визит: Сегодня 02:35:39.) в панель?

http://s3.uploads.ru/t/GIbmZ.jpg
http://s3.uploads.ru/t/evml4.jpg

сначала закрепите панель в шапке (см.выше)
затем сделайте в скрипте пустое место (с помощью тегов <br/>)
теперь добавьте в html-верх

<style>
#pun-status {
    position: absolute;
    margin-left: 500px;
    top: 300px;
    width: 350px;
}
</style>

красное - отступ влево
синее - отступ сверху
зеленое - ширина