Persönliche Box global einbinden |
|
Zitat: |
Original von haumi
Wenn die CSS-Klassen im Template eingebaut sind die sich korrekt an die Usergruppe halten
(siehe hier) dann ist die Anzeige wie gewünscht.
Schau hier im Board!
Wie gesagt es muss nur der Eintrag im Template css gemacht werden und den bei den Gruppen bearbeiten.
|
|
Ist diese Vorgehensweise in diesem Fall nicht etwas kompliziert, weil die Klassen doch schon vorhanden sind. Ich habe mir da mal die jgs_portal_online.php als Grundlage der Portalanzeige angeschaut. Zwar steige ich da nicht durch alles durch, aber die Klassen werden dort doch auch abgefragt, und zwar durch
php: |
1:
|
$result = $db->unbuffered_query("SELECT s.userid, username, useronlinegroupid, useronlinemarking, invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid WHERE s.lastactivity >= '".(time()-60*$useronlinetimeout)."'".(($wbbuserdata['ignorelist']) ? (" AND s.userid NOT IN (".str_replace(" ",",",$wbbuserdata['ignorelist']).")") : (""))." ORDER BY u.username ASC"); |
|
Also quasi den gleichen Abfragesatz, nur ergänzt durch useronlinegroupid, useronlinemarking,
Allerdings wenn ich die beiden Punkte zur Abfrage hinzufüge ändert sich die Anzeige selbst noch nicht, ich scheine also etwas mehr dazu packen zu müßen
PS: Im ACP habe ich ja für alle Benutzergruppen eine Markierung hinterlegt, nach dem Schema Markierung in der »Useronline Anzeige«: <font color=#BE0104><b>%s</b></font><img src="zzteam/t001.gif" border="0">
__________________
Bis auf weiteres nur eingeschränkter Support
|
|
23.05.2013 12:01 |
|
|
haumi
Boardbetreiber
[meine Galerie]
Dabei seit: 06.06.2009
Beiträge: 3.442
Herkunft: NRW
Postid: 13670
|
|
Zitat: |
PS: Im ACP habe ich ja für alle Benutzergruppen eine Markierung hinterlegt, nach dem Schema Markierung in der »Useronline Anzeige«: <font color=#BE0104><b>%s</b></font><img src="zzteam/t001.gif" border="0"> |
|
Da wird die Useronlinemarkierung per html gemacht, während meine Erweiterung auf eine css-Klasse zugreift:
Ich spiele hier mal das Beispiel anhand des Moderators durch.
Gruppename: Moderatoren (MUSS identisch sein mit dem css-Klassennane!)
css-Klasse:
.Moderatoren {
color: #458B00;
font-size:1.5em;
font-weight:bold;
font-style:italic;
font-family: "monotype corsiva";
}
Eintrag bei Gruppen bearbeiten, Moderatoren
Markierung in der »Useronline Anzeige«: = <span class="Moderatoren">%s</span>
<span class="Moderatoren">%s</span> ist auch der Eintrag in der Tabelle bb1_groups.
in meiner Erweiterung werden hier die anwesenden Mitglieder ermittelt:
code: |
1:
2:
3:
|
$result = $db->unbuffered_query("SELECT s.userid, username, invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) LEFT JOIN bb".$n."_groups g ON g.groupid=u.useronlinegroupid WHERE s.lastactivity >= '".(time() - 60 * $useronlinetimeout)."'".(($wbbuserdata['ignorelist']) ? (" AND s.userid NOT IN (".str_replace(" ", ",", $wbbuserdata['ignorelist']).")") : (""))." ORDER BY u.username ASC");
while ($row = $db->fetch_array($result)) {
$anwesend = $row['username']." "; |
|
Die Benutzergruppe je Mitglied erhält man durch
code: |
1:
|
$erg=$db->query_first("SELECT g.title FROM bb".$n."_groups g LEFT JOIN bb".$n."_users u ON (u.rankgroupid= g.groupid) WHERE u.username = '$anwesend'"); |
|
Und hier wird die zugeordnete css-Klasse als Markierung aufgeschlagen:
code: |
1:
|
$anwesend ='<span class="'.($erg['title']).'">'.($anwesend)."</span>"; |
|
$erg['title'] enthält im Beispiel den Wert Moderatoren so das die Beispielzeile lautet:
$anwesend =<span class="Moderatoren">haumi</span>;
der Name haumi wird mit der Formatierung der Klasse Moderatoren angezeigt.
Diese Klasse kann man in allen Seiten anwenden!
LG
haumi
__________________
Gelassen das hinnehmen, was nicht zu ändern ist,
engagiert angehen was man gestalten kann.
|
|
23.05.2013 15:14 |
|
|
|