Statistik |
Beiträge: 144.531 (Täglich: 19,19 )
Themen: 16.700
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 165%
Ausl. d. letzten 5 Minuten: 159%
Ausl. d. letzten 15 Minuten: 178%
Aktulle Uhrzeit: 21:43
Freier Webspace: 4.04 TB
PHP-Version: 7.4.33
|
|
|
Begrüßung aller angemeldeten Onlineuser in der Signatur fürs Lite 1.02 |
Steinadler
Administrator
Dabei seit: 02.09.2008
Beiträge: 725
12 Filebase-Einträge
Alter: 68 Jahre
Herkunft: Essen wBB-Version: wBB1.x PHP-Version: 5.3.3-7 MySQL-Version: 5.1.61-0 Wo bist du gehostet?: Papa Viktor =)
Bewertung:
Level: 44 [?]
Erfahrungspunkte: 4.122.455
Nächster Level: 4.297.834
|
|
Begrüßung aller angemeldeten Onlineuser in der Signatur fürs Lite 1.02 |
|
Hier mal eine kleine Anpassung von mir für das wbb-Lite 1.02
Der Original Hack stammt von Snoopy und wurde fürs 2.3.6 gecodet.
Wie immer gilt:
Die zu ändernde thread.php vorher sichern, falls was schief läuft.
Los gehts!
Suche in der thread.php:
code: |
1:
|
eval ("\$posts['username'] = \"".$tpl->get("thread_username")."\";"); |
|
füge darunter ein:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Anfang **//
global $db,$n;
$begruessung = "";
$oncount = 0;
$result = $db->unbuffered_query("SELECT s.userid, username, useronlinemarking, invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) 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)) {
if ($row[invisible]) continue; if ($row[userid] == $posts[userid] || $row[userid] == 0) continue;
if ($begruessung) $begruessung.= ", "; $begruessung= "<a href='profile.php?userid=".$row['userid']."'>".$row['username']."</a>"; $oncount++;
}
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Ende **//
|
|
suche ein paar Zeilen tiefer:
code: |
1:
|
eval ("\$signature = \"".$tpl->get("thread_signature")."\";"); |
|
füge darüber ein:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
|
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Anfang **//
$found = strpos ($posts['signature'], "{begruessung}");
if ($found === false) {
} else {
if (!$oncount) {
$posts['signature'] = str_replace("{begruessung}", "", $posts['signature']);
} else {
$posts['signature'] = str_replace("{begruessung}", "<div align=\"center\"><b>$wbbuserdata[username] grüßt:</b> <br />".$begruessung, $posts['signature']);
}
}
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Ende **//
|
|
Jetzt nur noch in Deiner persönlichen Signatur (im usercp) an geeigneter Stelle folgendes einfügen:
Das wars schon
Man kann das jetzt noch beliebig erweitern......also noch in die Signatur der PN's einbinden, oder die Namen farbig in den entsprechenden Gruppenfarben darstellen.
Das kommt wenn es denn gewünscht wird später dazu.
So siehts aus:
__________________
Mit freundlichen Grüßen Ralf
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Steinadler: 08.08.2010 11:30.
|
|
08.08.2010 11:25 |
|
|
|
Hi Steinadler,
habe die änderungen gemacht aber danach wird im thread nur noch das erste posting gezeigt. die andren postings sind alle weg.
irgendwas stimmt da noch nicht. Habe es im hauptboard und im testboard probiert geht bei keinen boards.
|
|
08.08.2010 14:59 |
|
|
|
ok alles klar
|
|
08.08.2010 15:03 |
|
|
|
schon erledigt Steinadler.
Ok muß auch langsam aufhören frau schaut auch schön böse. hehe
|
|
08.08.2010 16:06 |
|
|
Viktor
Administrator
Zeige Viktor auf Karte
Dabei seit: 15.08.2003
Beiträge: 31.570
363 Filebase-Einträge
Alter: 66 Jahre
Herkunft: NRW wBB-Version: wBB2.3 PHP-Version: 7.4.33 MySQL-Version: 10.5.19-MariaDB Wo bist du gehostet?: eigener Server
Bewertung:
Level: 71 [?]
Erfahrungspunkte: 237.758.169
Nächster Level: 266.777.854
|
|
|
Zitat: Original von golf3look
Hi Steinadler,
habe die änderungen gemacht aber danach wird im thread nur noch das erste posting gezeigt. die andren postings sind alle weg.
irgendwas stimmt da noch nicht. Habe es im hauptboard und im testboard probiert geht bei keinen boards. |
|
|
Hallo,
jo du kannst mal das versuchen.
Suche den Code:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Anfang **//
global $db,$n;
$begruessung = "";
$oncount = 0;
$result = $db->unbuffered_query("SELECT s.userid, username, useronlinemarking, invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) 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)) {
if ($row[invisible]) continue; if ($row[userid] == $posts[userid] || $row[userid] == 0) continue;
if ($begruessung) $begruessung.= ", "; $begruessung= "<a href='profile.php?userid=".$row['userid']."'>".$row['username']."</a>"; $oncount++;
}
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Ende **//
|
|
Ersetze mit:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
|
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Anfang **//
$begruessung = "";
$oncount = 0;
$result_st = $db->unbuffered_query("SELECT s.userid, username, invisible FROM bb".$n."_sessions s LEFT JOIN bb".$n."_users u USING (userid) 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_st)) {
if ($row[invisible]) continue;
if ($row[userid] == $posts[userid] || $row[userid] == 0) continue;
if ($begruessung) $begruessung.= ", ";
$begruessung= "<a href='profile.php?userid=".$row['userid']."'>".$row['username']."</a>";
$oncount++;
}
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Ende **//
|
|
Gruß
Viktor
__________________
Ein kluger Mann widerspricht keiner Frau. Er wartet, bis sie es selbst tut.
... beim Käfer (WBB2) konnte man noch selber schrauben,
beim neuen Golf (WBB3) muß man fast schon in die Werkstatt wenn man das "Wischwasser" nachfüllen muss!
Da fast keiner mehr hier Postet gibt es ab sofort keinen Support mehr per PN.
|
|
08.08.2010 20:19 |
|
|
|
@Viktor
jetzt kommt zwar keine fehlermeldung mehr aber unter der sig kommt nichts.
|
|
08.08.2010 20:28 |
|
|
|
stimmt geht doch. Es ging nur nicht da keiner außer mir online war.
Funzt jetzt einwandfrei.
Danke euch beiden.
|
|
08.08.2010 20:29 |
|
|
|
geht immer noch nicht richtig. Es wird immer nur ein user begrüsst obwohl 4 leute online sind.
|
|
08.08.2010 20:40 |
|
|
Steinadler
Administrator
Dabei seit: 02.09.2008
Beiträge: 725
12 Filebase-Einträge
Alter: 68 Jahre
Herkunft: Essen wBB-Version: wBB1.x PHP-Version: 5.3.3-7 MySQL-Version: 5.1.61-0 Wo bist du gehostet?: Papa Viktor =)
Bewertung:
Level: 44 [?]
Erfahrungspunkte: 4.122.455
Nächster Level: 4.297.834
Themenstarter
|
|
Nachdem meine 1. Version doch einige Fehler enthalten hatte folgt jetzt die Version 1.1
Fixes:
Das Query wurde optimiert und an die originale index.php angepasst.
Fehler in der Beitragsauflistung beseitigt
Fehler in Useronlineauflistung beseitigt
Getestet mit einem originalen wbb-Lite 1.02pl3 und mit einer erweiterten thread.php, also mit diversen eingebauten Hacks (quickreply, Beitragszähler, Alter, Wer ist ist im Board/Thread aktiv)
Bitte vorher die thread.php sichern, falls beim Einbau was schief läuft!
Los gehts:
Suche in der thread.php
code: |
1:
|
eval ("\$posts['username'] = \"".$tpl->get("thread_username")."\";"); |
|
füge darunter ein:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
|
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Anfang **//
$begruessung = "";
$oncount = 0;
$result_st = $db->unbuffered_query("SELECT bb".$n."_sessions.userid, username, invisible FROM bb".$n."_sessions LEFT JOIN bb".$n."_users USING (userid) WHERE bb".$n."_sessions.lastactivity >= '".(time()-60*$useronlinetimeout)."'".(($wbbuserdata['ignorelist']) ? (" AND s.userid NOT IN (".str_replace(" ",",",$wbbuserdata['ignorelist']).")") : (""))." ORDER BY username ASC");
while($row = $db->fetch_array($result_st)) {
if ($row[invisible]) continue;
if ($row[userid] == $posts[userid] || $row[userid] == 0) continue;
if ($begruessung) $begruessung.= " ";
$begruessung.= "<a href='profile.php?userid=".$row['userid']."'>".$row['username']."</a>";
$oncount++;
}
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Ende **//
|
|
suche 2 Zeilen tiefer:
code: |
1:
|
$posts['signature']=$parse->doparse($posts['signature'],$posts['allowsmilies']*$allowsigsmilies,$allowsightml,$allowsigbbcode,$maxsigimage); |
|
füge darunter ein:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
|
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Anfang **//
$found = strpos ($posts['signature'], "{begruessung}");
if ($found === false) {
} else {
if (!$oncount) {
$posts['signature'] = str_replace("{begruessung}", "", $posts['signature']);
} else {
$posts['signature'] = str_replace("{begruessung}", "<div align=\"center\"><b>Ich begrüße ganz herzlich hier im Forum:</b> <br />".$begruessung, $posts['signature']);
}
}
//** Signaturbegrüssung by Snoopy für 2.3.xx angepasst by Steinadler für das wbb-Lite 1.02 Ende **//
|
|
Jetzt nur noch in Deiner persönlichen Signatur (im usercp) an geeigneter Stelle folgendes einfügen:
Das wars schon
Und so siehts aus (Bild1):
Wer den Hack Benutzeronlinemarkierung von Spitzi&Schrimm eingebaut hat, kann folgendes machen, um die Benutzernamen in der entsprechenden Gruppenfarbe anzuzeigen:
suche:
code: |
1:
|
if ($begruessung) $begruessung.= " "; |
|
füge darunter ein:
code: |
1:
2:
3:
4:
5:
6:
7:
|
//* Groupcolor by Steinadler Anfang *//
$format = $db->query_first("SELECT u.useronlinemarking AS marking, g.useronlinemarking FROM bb".$n."_users u LEFT JOIN bb".$n."_groups g ON (g.groupid=u.groupid) WHERE u.userid='".$row[userid]."'");
if($format['marking']!="%s") $row['username'] = sprintf($format['marking'],$row['username']);
else $row['username'] = sprintf($format['useronlinemarking'],$row['username']);
//* Groupcolor by Steinadler Ende *//
|
|
So siehts dann aus (Bild2):
Anmerkung:
Der Text in der Zeile:
code: |
1:
|
<b>Ich begrüße ganz herzlich hier im Forum:</b> |
|
kann selbstverständlich nach eigenen Wünschen angepasst werden.
Die Anzeige der Onlineuser in der Signatur ist abgängig davon, welche Zeitangabe im ACP eingestellt ist.
Läuft also synchron zur Useronlineanzeige auf der Startseite.
Siehe Bild3
Viel Spass damit!
Feedback ist erwünscht!
__________________
Mit freundlichen Grüßen Ralf
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Steinadler: 09.08.2010 12:24.
|
|
09.08.2010 12:19 |
|
|
|
Jetzt klappt es einwandfrei Steinadler.
Auch das mit den Benutzeronlinemarkierung funzt prima.
vielen dank.
|
|
09.08.2010 19:34 |
|
|
|
Habs auch eingebaut bei mir kommt das
SQL-DATABASE ERROR
Database error in WoltLab Burning Board: Invalid SQL: SELECT s.userid, username, useronlinemarking, invisible FROM bb1_sessions s LEFT JOIN bb1_users u USING (userid) WHERE s.lastactivity >= '1304510758' ORDER BY u.username ASC
mysql error: Unknown column 'useronlinemarking' in 'field list'
mysql error number: 1054
Date: 04.05.2011 @ 14:20
Script: /wbblite/thread.php?threadid=63&sid=
Referer: http://adminundwerbepalast.ciy.de/wbblit...boardid=58&sid=
|
|
04.05.2011 14:23 |
|
|
|
|
|
|