Statistik |
Beiträge: 144.530 (Täglich: 19,19 )
Themen: 16.700
Mitglieder: 13.209
Neuestes Mitglied: zitronentee.
Ausl. d. letzten Minute: 130%
Ausl. d. letzten 5 Minuten: 195%
Ausl. d. letzten 15 Minuten: 249%
Aktulle Uhrzeit: 12:17
Freier Webspace: 4.03 TB
PHP-Version: 7.4.33
|
|
|
|
|
Username im Beitrag markieren |
|
Username im Beitrag markieren |
|
Hallo,
meine User wünschen sich, dass wenn man @username schreibt, die betreffende Person dann benachrichtigt wird, also dass man User so markieren kann.
Schön wäre es auch, wenn das dann als Link ausgegeben wird, der zum Profil des Nutzers führt.
Gibt es da bereits einen passenden Hack?
Konnte bisher nichts finden.
Falls nicht, wie muss ich da vorgehen?
Habe mir bereits die class_parse.php angesehen (glaube die war es), aber wie kann ich da User als Link umwandeln?
Vielen Dank schon einmal.
|
|
28.11.2016 10:08 |
|
|
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.745.768
Nächster Level: 266.777.854
|
|
RE: Username im Beitrag markieren |
|
|
Zitat: Original von Basti89
Hallo,
meine User wünschen sich, dass wenn man @username schreibt, die betreffende Person dann benachrichtigt wird, also dass man User so markieren kann.
Schön wäre es auch, wenn das dann als Link ausgegeben wird, der zum Profil des Nutzers führt.
Gibt es da bereits einen passenden Hack?
Konnte bisher nichts finden.
Falls nicht, wie muss ich da vorgehen?
Habe mir bereits die class_parse.php angesehen (glaube die war es), aber wie kann ich da User als Link umwandeln?
Vielen Dank schon einmal.
|
|
|
Hallo,
schaue mal hier: Vgpn@me
Vielleicht ist es das was du suchst.
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.
|
|
28.11.2016 20:02 |
|
|
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.745.768
Nächster Level: 266.777.854
|
|
|
09.12.2016 20:42 |
|
|
|
Eine Idee würde mir evtl. auch reichen, dann kann ich auch selbst mal schauen.
Nur mir fehlt der Ansatz.
|
|
09.12.2016 21:33 |
|
|
|
Hallo Viktor,
Das kannst du ganz einfach mit der "preg_replace"-Funktion umsetzen.
Du müsstest dir im Grunde nur die "Umwandlung der boardinterenen Links" des "WoltLab Burning Board 2" ansehen.
Das kannst du im Grunde ganz einfach auf die "Benutzernamen" umkopieren.
__________________
|
|
09.12.2016 21:36 |
|
|
|
Also ich habe mal ein bisschen getestet.
In der class_parse.php habe ich nun stehen:
php: |
1:
|
$post = preg_replace("/@(.*?) /","@<a href='profile.php'>$1</a>: ", $post); |
|
(Nur um das mal zu testen)
Das funktioniert soweit auch, also es wird ersetzt, sobald ich @XYZ schreibe.
Nur sehe ich den kompletten html Code und nicht einen Hyperlink.
Außerdem müsste natürlich vorher noch überprüft werden, ob $1 überhaupt ein Username ist, und falls ja, wie seine ID ist, damit ich auf ihn verlinken kann.
Wie kann ich das denn vorher überprüfen?
Und wie mache ich es, dass der Link dargestellt wird und nicht der html-Code?
|
|
11.12.2016 18:09 |
|
|
|
|
Zitat: Original von Basti89
Also ich habe mal ein bisschen getestet.
In der class_parse.php habe ich nun stehen:
php: |
1:
|
$post = preg_replace("/@(.*?) /","@<a href='profile.php'>$1</a>: ", $post); |
|
(Nur um das mal zu testen)
Das funktioniert soweit auch, also es wird ersetzt, sobald ich @XYZ schreibe.
Nur sehe ich den kompletten html Code und nicht einen Hyperlink.
Außerdem müsste natürlich vorher noch überprüft werden, ob $1 überhaupt ein Username ist, und falls ja, wie seine ID ist, damit ich auf ihn verlinken kann.
Wie kann ich das denn vorher überprüfen?
Und wie mache ich es, dass der Link dargestellt wird und nicht der html-Code? |
|
|
Hallo,
Auf den Benutzernamen beziehungsweise dessen "ID" müsstest du wohl dem Ganzen eine "preg_match"-Funktion mit einer "Capture-Gruppe" voranstellen.
Daraus holst du dir den Benutzernamen, den du in eine Datenbankabfrage packst.
Bei Ersetzung musst du dann die "Parse"-Funktion des Forums beachten, damit Links auch umgewandelt werden, da das "WoltLab Burning Board" standardmäßig HTML-Code nicht umwandelt.
Der Trick dabei ist also im Grunde nur das richtige Einbinden der Ersetzung.
__________________
|
|
11.12.2016 18:15 |
|
|
|
Ok, das mit der vorherigen Überprüfung habe ich.
Wie mache ich das nun mit der parse-Funktion?
|
|
11.12.2016 18:56 |
|
|
|
Hallo,
Im "WoltLab Burning Board" ist die "acp/lib/class_parse.php" dafür zuständig.
Diese ist auch dafür zuständig, dass der "HTML-Code" nicht direkt angezeigt, sondern "HTML-Entities" erzeugt werden, wenn im Beitrag HTML nicht erlaubt ist.
Du hast nun die Möglichkeit, dass du diese Funktion einfach suchst und deine Ersetzung erst danach durchführst.
Alternative:
Im "WoltLab Burning Board" werden sogenannte "BBCodes" verwendet und erst später mit der Hilfe der "/acp/lib/class_parse.php" in den eigentlichen "HTML-Code" umgewandelt.
Dies könntest du verwenden, dass du statt "echte"-Links einen "BBCode"-Link einfügst.
Dies muss natürlich vor der Ersetzung von "BBCode" zu "echten HTML-Code" durchgeführt werden.
__________________
|
|
12.12.2016 08:19 |
|
|
|
Jo, hab es mit BBcode gelöst!
Vielen vielen Dank!!!
|
|
12.12.2016 13:52 |
|
|
|
|
|
|