PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [BIETE] erweiterte Buddyliste


MrZeropage
24.07.2004, 17:55
Ich habe die Buddyliste ein wenig erweitert, so dass man zu jeden Kontakt zusätzlich zur Online-/Offline-Anzeige auch sehen kann, wann der Kontakt seine letzte Aktivität im Board hatte, was IMHO gerade bei Offline-Kontakten sehr interessant ist :)

Zusätzlich wird für Administratoren in der Buddyliste angezeigt, wo die Online-Kontakte sich gerade befinden, ähnlich wie in der "Wer ist online"-Liste.


Beispiel siehe angehängten Screenshot.


Der Einbau des Hacks ist recht einfach:

Öffne die Datei misc.php

Finde:$phrasegroups = array('fronthelp');
und ERSETZE dies mit
$phrasegroups = array('fronthelp', 'wol');

Finde: while ($buddy = $DB_site->fetch_array($buddys))
und füge DARÜBER folgendes ein
// erweiterte Buddyliste by MrZeropage
require_once('./includes/functions_user.php');
$show['currentlocation'] = iif($permissions['wolpermissions'] & CANWHOSONLINE, true, false);
// Ende erweiterte Buddyliste

Finde $doneuser["$buddy[userid]"] = true;
und füge DARUNTER folgendes ein
// erweiterte Buddyliste by MrZeropage
$userinfo = verify_id('user', $buddy[userid], 1, 1, 15);
if (!$userinfo['invisible'] OR ($permissions['genericpermissions'] & CANSEEHIDDEN) OR $userinfo['userid'] == $bbuserinfo['userid'])
{
$show['lastactivity'] = true;
$userinfo['lastactivitydate'] = vbdate($vboptions['dateformat'], $userinfo['lastactivity'], true);
$userinfo['lastactivitytime'] = vbdate($vboptions['timeformat'], $userinfo['lastactivity'], true);
}
else
{
$show['lastactivity'] = false;
$userinfo['lastactivitydate'] = '';
$userinfo['lastactivitytime'] = '';
}
// Ende erweiterte Buddyliste

Speichere die modifizierte misc.php.


Anschliessend das Template buddylistbit öffnen und den kompletten Inhalt mit folgendem ERSETZEN:
<tr>
<td class="alt1"><a href="member.php?$session[sessionurl]u=$buddy[userid]" target="_blank"><img src="$stylevar[imgdir_statusicon]/user_$buddy[statusicon].gif" alt="" title="<phrase 1="$buddy[username]" 2="$buddy[statusicon]">$vbphrase[x_is_y]</phrase>" border="0" /></a></td>

<td class="alt2"><input type="checkbox" name="userid[]" id="buddy_$buddy[userid]" value="$buddy[userid]" /></td>

<td class="alt1" width="100%"><label class="smallfont" for="buddy_$buddy[userid]"><if condition="$show['highlightuser']"><span class="highlight"><b>$buddy[username]</b></span><else /><b>$buddy[username]</b></if>

<br>
<if condition="$bbuserinfo['usergroupid']==6">
<if condition="$show['currentlocation']"><div><if condition="$userinfo['action']">$userinfo[action] ($userinfo[where])</if></div></if>
</if>
<if condition="$show['lastactivity']"><div>$vbphrase[last_activity]: $userinfo[lastactivitydate] <span class="time">$userinfo[lastactivitytime]</span>&nbsp;</div></if>

</label></td>
</tr>

Template speichern.

Wer die erweiterten Informationen (wer sich gerade wo aufhält) allen Benutzern anbieten möchte statt nur den Administratoren entfernt aus dem Template die beiden rot hervorgehobenen Zeilen.
Ich empfehle dies jedoch nicht, da ich nicht geprüft habe, ob die Benutzer dann ggf. Aufenthaltsorte von privaten Foren usw. angezeigt bekommen. Wenn das jemand mal ausprobiert und Rückinfo gibt, wäre sehr nett ;)



Nun noch das Template navbar öffnen und die Breite des Buddylisten-Popups auf 325 (meine Empfehlung) erweitern:

<a href="#" onclick="window.open('misc.php?$session[sessionurl]do=buddylist&amp;focus=1','buddylist','statusbar=no,menubar=no,toolbar=no,scrollbars=yes,resizable=yes,w idth=250,height=300'); return false;">$vbphrase[open_buddy_list]</a>

Dieser Code kommt zweimal im Template vor, bitte an beiden Stellen die Breite ändern.





Viel Spass damit :cool:

Gandalf2003
24.07.2004, 22:48
eingebaut und funzt:)

nettes addon^^

Metro Man
23.10.2004, 20:52
gefällt mir gleich mal einbasteln

Dede1
23.10.2004, 22:34
Eingebaut gefällt mir

mikepmm
09.11.2004, 22:17
einfach klasse !!! :)

Johannes
02.01.2005, 15:24
Hallo.

Super Sache, würde ich auch gerne einbauen...

Dumme Frage: Wie / mit was öffne ich misc.php?

Mit dem Editor wirkt es ziemlich unübersichtlich! Müsste doch eine andere Möglichkeit geben, oder?

Grüsse
Johannes

h75
02.01.2005, 17:17
jA der Windoof Microschlamm Editor kann das nicht immer. Hier probier mal einen dieser. Ich benutze www.edit4win.de (einmalig 10 euro)

http://www.phpforum.de/tools/space2_Proton_2.html
http://www.sonium-portal.de/index.php?folder=plugins/7_Editoren

Anke123
06.03.2005, 19:05
Ich empfehle für sowas ConTEXT (http://context.cx/content/view/18/41/), da kostenlos, auf deutsch um zu stellen (für viele wichtig) und der Code Farbig dargestellt wird für schnelle Erkennung.