Аналогии вы видели на форумных движках ipb
Возможности:
• Неограниченное количество наград пользователям.
• Всплывающее окно для каждого пользвоателя
• Количество наград под аватарой
• Окошко в стиле форума (свой стиль не сработает)
Скрипт, ставим в низ
<script type="text/javascript"> function awardsOpen(str) { var awardsn = new Array(); awardsn["moder"] = new Array("Лучший модератор", "http://www.iconsearch.ru/uploads/iconlib/linspireclear/128x128/filesystems/trashcan_empty.png", "За модераторскую помощь") awardsn["helper"] = new Array("Помощник месяца", "http://www.iconsearch.ru/uploads/iconlib/crystalclear/128x128/apps/khelpcenter.png", "Неоценимая помощь форуму") awardsn["money"] = new Array("Банкир форума", "http://www.iconsearch.ru/uploads/iconlib/crystalclear/128x128/actions/db_add.png", "За материальную помощь форуму") str = str.split(",") if(str[str.length-1].substring(str[str.length-1].length-1, str[str.length-1].length)==" "){str[str.length-1]=str[str.length-1].substring(0, str[str.length-1].length-1)} var msg = new String(""); msg = "<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" /><link rel=\"stylesheet\" type=\"text/css\" href=\"http://forum.mybb.ru/style/"+BoardStyle+"/"+BoardStyle+".css\" /><title>Награды пользователя</title>" msg+= "<style type=\"text/css\">html, body, #pun, #pun-main {background-image: none; margin: 2px 2px; width: 99%;}</style><body>" msg+="<div id=\"pun\" class=\"punbb\"><div id=\"pun-main\" class=\"main\">" msg+="<table class=\"container\"><tr><th width=\"25%\">Название</th><th width=\"25%\">Иконка</th><th>За что</th></tr>"; for(i=0;i<str.length;i++){ msg+="<tr><td align=\"center\"><span>"+awardsn[str[i]][0]+"</span></td><td align=\"center\"><img width=\"100px\" height=\"100px\" src=\""+awardsn[str[i]][1]+"\" /></td><td align=\"center\"><span>"+awardsn[str[i]][2]+"</span></td></tr>"; } msg+="</table>"; msg+="</div></div></body></html>"; popup = window.open("", "", "height=300, width=700, top=300, left=300, scrollbars=1") popup.document.write(msg) popup.document.close() return false } var li = document.getElementsByTagName("li"); for(z=0;z<li.length;z++){ if(li[z].className=="pa-fld2"){ nag = li[z].innerHTML.substring(li[z].innerHTML.indexOf(": ")+2) nag1 = nag.split(","); nag1 = nag1.length; li[z].innerHTML = "Награды: <a href=\"javascript: //\" onclick=\"awardsOpen('"+nag+"');\" title=\"Показать награды пользователя\">"+nag1+"</a>" } } </script>
Чтобы добавить свою награду, после
var awardsn = new Array();
добавьте
awardsn["Ключ"] = new Array("Название", "Ссылка_на_иконку", "Описание")
где Ключ - уникальное название всей награды(латиницей), а Название, Ссылка_на_иконку и Описание - детали награды.
Как настроить награды?
Создаем в Администрирование - Поля новое поле
Обзываем его как Награды
Регистрация Нет
Сообщения Да
Профиль Да
Заполнение Нет
В скрипте ищем "pa-fld2" и вместо 2 пишем номер поля
Как выдавать награды?
Идем в профиль любому пользователю и пишем через запятую (без пробелов и любых других символов) ключи наград.
В данном случае, из скрипта выше, можно написать следующее: moder,money
Тогда на странице сообщений у пользователя отобразится Награды: 2. По клику на "2" откроется окно с табличкой его 2х наград.