Xstatus

VOC++ BSE Xstatus 4.0

Нет прав для скачивания
status-jpg.1444
В чем отличие от предыдущих версий:
1. Не дергает профили пользователи, создает отдельные файлы для работы со статусами. (за это отдельное спасибо Bort222)
2. В общий канал пишется сообщение, что пользователь сменил хстатус.
3. Оптимизирован код. Исправлены ошибки.
4. У модератора появилась возможность удалить статус у пользователя.
5. Убран главные недостаток: мерцание всплывающих окон в Opera, FireFox
--------------------------------
Инструкция по установке мода:
---------------------------------------
1. сделать копию редактируемых файлов.
---------------------------------------
2. скопировать папку powmod из дистриба в /chat (если у вас уже есть папка powmod, то в нее нужно скопировать папку xstatus)
---------------------------------------
3. отредактировать файл /chat/inc_user_class.php
после строки:
PHP:
class User {
добавить:
PHP:
//Xstatus Addon
var $status_pic = 0;
var $statmess = "";
var $statmess2 = "";
var $status_time="";
---------------------------------------
4. в папке с дизайном отредактировать файл sender_visible.php
после строк:
PHP:
echo "<option value=\"$i\""; if ($i == $user_color) echo " selected"; echo " style=\"background:".$registered_colors[$i][1]."; color:".$registered_colors[$i][1]."\">".$registered_colors[$i][0]."</option>\n";
}?>
</select>
добавить:
PHP:
<? include ("../../powmod/xstatus/insender.php");?>
---------------------------------------
5. Вывод статус в профили. В profile_content.php (в папке с дизайном) поставьте этот код куда вам будет удобно:
PHP:
<? if ($current_user->status_pic==0 or $current_user->status_pic=="") {
echo "";
} else { ?>
<br>
<table><tr><td valign=center><img src=../../powmod/xstatus/img/<? echo $current_user->status_pic;?>.gif></td><td valign=center><font color=#D50000 size=2><b><? echo $current_user->statmess;?></b>&nbsp;<? echo $current_user->statmess2;?> <?php if($IsModer) { ?><a href=<? echo $chat_url;?>powmod/xstatus/insender.php?session=<? echo $session;?>&user_id=<? echo $user_id;?>&mode=delstatus class=jsnavi2>(Удалить статус)</a><? }?><br></td></tr></table></font>
<? } ?>
--------------------------------------
6. заменяем файл chat/who.php на тот, что находиться в архиве.
--------------------------------------
7. заменяем файл chat/designes/ваш_диз/who.php на тот, что находиться в архиве в папке designes.
--------------------------------------
8. Теперь добавляем картинки статусов в список пользователей. Для этого нужно отредактировать файл voc.php, который находиться в папке с дизайном.
Настоятельно рекомендуется сделать КОПИЮ этого файла.
Итак, если у вас voc.php оригинальный из папки дизайна rozmova4 и вы его не редактировали, то вам всего лишь нужно заменить его файлом, который находится в архиве в папке designes.
Если же вы не можете заменить его, то тогда открываем voc.php] из папки с дизайном и редактируем:
Находим:
PHP:
function AddUser(uNick, uState, uGender, uInvis, uMarr, NickColor, uUID, uStatus, uIgn, uAvatar, uPhoto, uDamneds, uRewards, uClanAvatar, uEnc, uMem, uDealer, uSilence, uChaos, uVideo) {
меняем на:
PHP:
function AddUser(uNick, uState, uGender, uInvis, uMarr, NickColor, uUID, uStatus, uIgn, uAvatar, uPhoto, uStatus_pic, uStatmess, uStatmess2, uFirstname, uSurname, uCity, uIcq, uEmail, uB_day, uB_month, uB_year, uUrl_Photo, uDamneds, uRewards, uClanAvatar, uEnc, uMem, uDealer, uSilence, uChaos, uVideo) {
ниже вы увидите строки:
PHP:
 if(uState == 'm' || uState == 'a') {
arrAdmins[arrAdminsSize] = {Nick:uNick,
находим в списке аргументов строку:
PHP:
Photo: uPhoto,
после этой строки добавляем:
PHP:
Status_pic: uStatus_pic, Statmess: uStatmess, Statmess2: uStatmess2, Firstname: uFirstname, Surname: uSurname, City: uCity, Icq: uIcq, Email: uEmail, B_day: uB_day, B_month: uB_month, B_year: uB_year, Url_Photo: uUrl_Photo,
Так нужно повторить для всех четырех классов. Ниже вы увидете все тоже самое.
Итак. Аргументы мы добавили. Теперь выводим картинку около ника пользователя.
Находим строки:
PHP:
if(User.Photo == '1') write('<td><a href="<?php echo $chat_url;?>fullinfo.php?session=<?php echo $session;?>&user_id='+ User.UID +'" target="_blank"><img src="<?php echo $current_design; ?>img/have_photo.jpg" border=0></a></td>'); else write('<td><a href="<?php echo $chat_url;?>fullinfo.php?session=<?php echo $session;?>&user_id='+ User.UID +'" target="_blank"><img src="<?php echo $current_design; ?>images/no_photo.jpg" border=0></a></td><td>'); <?php } ?>
заменяем на:
PHP:
if(User.Photo == '1') write('<td><a href="<?php echo $chat_url;?>fullinfo.php?session=<?php echo $session;?>&user_id='+ User.UID +'" target="_blank"><img src="<?php echo $current_design; ?>img/have_photo.jpg" help="<img width=120 src=<? echo $chat_url;?>photos/'+ User.Url_Photo +' border=1><br><font size=1 face=tahoma color=#000000><b>Имя:</b> '+ User.Firstname +'<br><b>Фамилия:</b> '+ User.Surname +'<br><b>Город:</b> '+ User.City +'<br><b>Дата рождения:</b> '+ User.B_day +'.'+ User.B_month +'.'+ User.B_year +'<br><b>ICQ:</b> '+ User.Icq +'<br><b>Email:</b> '+ User.Email +'</font>" border=0></a></td>'); else write('<td><a href="<?php echo $chat_url;?>fullinfo.php?session=<?php echo $session;?>&user_id='+ User.UID +'" target="_blank"><img src="<?php echo $current_design; ?>images/no_photo.jpg" help="<font size=1 color=#000000 face=tahoma><b>Имя:</b> '+ User.Firstname +'<br><b>Фамилия:</b> '+ User.Surname +'<br><b>Город:</b> '+ User.City +'<br><b>Дата рождения:</b> '+ User.B_day +'.'+ User.B_month +'.'+ User.B_year +'<br><b>ICQ:</b> '+ User.Icq +'<br><b>Email:</b> '+ User.Email +'</font>" border=0></a></td>'); <?php } ?>
if(User.Status_pic>0) write ('<td><img width=18 src="<?php echo $chat_url;?>powmod/xstatus/img/'+ User.Status_pic +'.gif" help="<table width=140><tr><td align=left valign=center width=24><img src=<?php echo $chat_url;?>powmod/xstatus/img/'+ User.Status_pic +'.gif></td><td align=left valign=center><font color=#FF0000><b>'+ User.Statmess +'</b> '+ User.Statmess2 +'</font></td></tr></table>" border=0></td>');
Так как мод использует Tooltip нам нужно добавить java скрипт.
Находим:
PHP:
with (window.frames['voc_who_visible'].document) {
open("text/html", "");
write('<html><head><title>Userlist</title>\n');
после добавляем большой код:
PHP:
writeln('<body onload="initToolTips(\'SPAN\',\'IMG\', \'DIV\');">');
writeln('<style>');
writeln('.tool_status {');
writeln('position: absolute;');
writeln('visibility: hidden;');
writeln('border: #FDA93C 1px solid;');
writeln('padding: 3px 3px 3px 3px;');
writeln('background-color: #FFF09A;');
writeln('}');
writeln('</style>');
writeln('<script type="text/javascript">');
writeln('ToolTip.offsetX = 10; //смещения подсказки от курсора');
writeln('ToolTip.offsetY = 10; //');
writeln('function ToolTip(obj, text) {'); writeln('if(!obj||obj.nodeType!=1) throw "Illigal argument exception"; //обьект к кому привязываем подсказку'); writeln('//-- Разметка подсказки ---'); writeln('var tip=document.createElement("DIV");'); writeln('tip.className="tool_status";'); writeln('tip.innerHTML=text;'); writeln('document.body.appendChild(tip);'); writeln('//-- события --'); writeln('// old = obj.onmouseout;'); writeln('obj.onmouseout=function (ev) {'); writeln('tip.style.visibility="hidden";'); writeln('// old();'); writeln('};'); writeln('obj.onmousemove=function(ev) { //если не нужно что бы подскасзка бегала, то onmouseover'); writeln('tip.style.visibility="visible";'); writeln('if(window.event) ev=window.event;');
writeln('if(tip.offsetWidth+ev.clientX+10>document.body.clientWidth) //если подсказка выходит за видимую'); writeln('ToolTip.offsetX=-tip.offsetWidth; //облать, то поворачиваем её');
writeln('else'); writeln('ToolTip.offsetX=20;');
writeln('if(tip.offsetHeight+ev.clientY+15>document.body.clientHeight)// тоже самое, но по вертикали'); writeln('ToolTip.offsetY=-tip.offsetHeight;');
writeln('else'); writeln('ToolTip.offsetY=10;'); writeln('tip.style.left=ev.clientX + document.body.scrollLeft + ToolTip.offsetX;'); writeln('tip.style.top=ev.clientY + document.body.scrollTop + ToolTip.offsetY;'); writeln('};');
writeln('}');
writeln('//переберем заданные элементы, дадим подказку тем у кого есть аттрибут tooltip');
writeln('//В аргументах передаем имена рассматриваемых тегов, * все теги');
writeln('function initToolTips() {');
writeln('// return;'); writeln('var tags, tooltext;'); writeln('for(var i=0; i<arguments.length; i++) {'); writeln('tags=document.body.getElementsByTagName(arguments[i]);'); writeln('for(var j=0; j<tags.length; j++)'); writeln('if((tooltext=tags[j].getAttribute("help"))) ToolTip(tags[j], tooltext);'); writeln('}');
writeln('}');
writeln('</script>');
----------------------------------
P.S.Как вы видите мы добавили сам скрипт tooltip, объясню почему мы не добавили его типа "<script src=tooltip.js></script>", потому что если в voc.php содержиться такая строка, то в IE чат жутко виснет и неработает.
----------------------------------
P.S. Цвет и бордюр подсказки можно изменить, кто понимает тот найдет где.
На этом установка мода закончена.
Автор
Майор
Скачивания
6
Первый выпуск
Обновление
Оценка
0,00 звёзд 0 оценок

Другие ресурсы пользователя Майор

Поделиться ресурсом