Das "wer ist anwesend" würde ich anders machen. Das nachfolgende basiert auf dem von Liath angepassten Script und den Einstell-Möglichkeiten der originalen "wer ist hier" von Atrahor. Die Änderung beschränkt sich auf die output.lib.php, alles andere was Liath weiter oben dazu geschrieben hat wird nicht benötigt bzw stört sogar. Der Part in der prefs.php wurde nicht gelöscht, die User haben die Einstellmöglichkeit sobald die "wer ist hier" in den Spieleinstellungen freigegeben wurde. Wie man die Einstellung für den Chat-Status einbaut wurde schon weiter vorn erklärt. Sinnvollerweise nimmt man das Setting chat_who_is_here noch in die Spieleinstellungen auf, ansonsten erscheint das unter Unwichtiges. Und noch ein Tip für Liath: Die mail.php der DS3 kann mit acctid als Empfänger umgehen. Das wäre dem url-codierten Login vorzuziehen. Edit: Usermenü scheint auch zu funktionieren. Vermutlich darf man jslib_initmenu nicht 2x mit unterschiedlichen Parametern aufrufen. Durch die Beschränkung der Listenausgabe auf Chat-Seiten wird das umgangen. Wie man das Usermenü für die Shadowbox macht weiß ich aber auch nicht. Ich würde den Teil komplett entfernen (Inhalt, der sich über den Seiteninhalt legt ist für mich sowieso ein absolutes "nogo") Edit2: Für den sql-String nehmen wir chat_section, normalerweise wird man nicht wissen wollen wer z.b. in irgendeinem Haus ist sondern wer im selben Haus ist. Edit vom 2. Edit: restorepage wird trotzdem gebraucht weil chat_section nicht zuverlässig geleert wird.
$this->bbcode_second_pass_code('', ' Suche define('PLU_MI_AUTO_GET', -1337);
Füge danach ein (bzw ersetze die Funktion von Liath) // Wer ist Anwesend V.1.0 by Devilzimti geändert für DS3 von Liath und Salator function useronline(){ global $session,$SCRIPT_NAME;
$sql = "SELECT name,login,acctid,chat_status FROM accounts WHERE (restorepage LIKE '".$SCRIPT_NAME."%"."' AND chat_section = '".$session['user']['chat_section']."' OR acctid=".$session['user']['acctid'].") AND loggedin = 1 AND locked = 0 AND laston>'".date("Y-m-d H:i:s",strtotime("-".getsetting("LOGINTIMEOUT",900)." seconds"))."' AND chat_status NOT IN (6,7) ORDER BY login; "; $query = db_query($sql); $icon_status=array( 1 => array('visible','einfach nur anwesend') ,2 => array('warte','wartet auf Verabredung') ,3 => array('suche','sucht RPG-Partner') ,4 => array('rpg','Du darfst dich in das RPG einmischen') ,5 => array('rpgdnd','geschlossenes RPG, bitte nicht stören') ,6 => array('invisible','-') ); while($row = db_fetch_assoc($query)) { $useronline.='<img src="images/icons/'.$icon_status[$row['chat_status']][0].'.gif" alt="'.$icon_status[$row['chat_status']][1].'" title="'.$icon_status[$row['chat_status']][1].'"> '.jslib_getmenuuserlink( $row, $row, true ).'`0`n'; }
$useronline .= jslib_initmenu(); return $useronline; } // Ende Wer ist Anwesend
') $this->bbcode_second_pass_code('', ' Suche $charstat.=appoencode(templatereplace('statend'),true);
Füge DAVOR ein
if( $BOOL_COMMENTAREA && getsetting('chat_who_is_here',0) && !$session['user']['prefs']['hide_who_is_here']){//"wer ist hier"-liste $bit = plu_mi_get_val('show_online_on_location'); $charstat .= templatereplace('stathead',array('title'=>plu_mi('show_online_on_location',$bit).'Wer ist hier? <img id="jslib_ool_status" style="display:none;cursor: pointer;" src="./images/icons/visible.gif">')); $ool_id = plu_mi_unique_id('show_online_on_location'); $charstat.=appoencode(templatereplace('freedata',array('id'=>$ool_id,'free_data'=>useronline(),'style'=>($bit?'':'display:none;'))),true); } ')
_________________ if(date("ymmd")=="10050502") echo("Der alte Sack wird heute 40");
Zuletzt geändert von Salator am Fr 02 Okt, 2009 19:55, insgesamt 1-mal geändert.
|