|
Dieses Thema wurde als erledigt markiert.  |
Geschlechterabhängige Threadüberschriften |
MikeHH
Administrator
    

Dabei seit: 13.05.2006
Beiträge: 6.323
Herkunft: Glinde
Teilnehmer des EM-Tippspiels
|
Level: 52 [?]
Erfahrungspunkte: 13.897.130
Nächster Level: 16.259.327
 |
|
| Geschlechterabhängige Threadüberschriften |
|
Im Standard dieses Hacks sehen die Threadüberschriften i.d.R. so aus:
| Quellcode |
1:
|
{username} feiert seinen {years} Jahrestag im {boardname} |
|
Mit diesem Workaround wird anstelle des Wörtchens seinen abhängig vom im Profil eingegebenen Geschlecht des Users die richtige Formulierung angezeigt.
Nach "Umbau" sollte im ACP die Eintragung für Thread-Topic so aussehen:
| Quellcode |
1:
|
{username} feiert {gender} {years} Jahrestag im {boardname} |
|
Dieses Workaround geht von den Änderungen in der user_anniversary_install.txt aus.
Suche in der Anleitung nach:
| php: |
1:
|
$result = $db->unbuffered_query("SELECT u.userid, u.username, u.useronlinegroupid, u.email, u.regdate_date, u.lastactivity, u.blocked, g.useronlinemarking FROM bb".$n."_users u LEFT JOIN bb".$n."_groups g ON (u.useronlinegroupid=g.groupid) WHERE regdate_date LIKE '%-$currentdate' AND regdate_date NOT LIKE '$currentyear-%' ORDER BY username ASC"); |
|
ERSETZE es mit:
| php: |
1:
|
$result = $db->unbuffered_query("SELECT u.userid, u.username, u.useronlinegroupid, u.email, u.regdate_date, u.lastactivity, u.blocked, u.gender, g.useronlinemarking FROM bb".$n."_users u LEFT JOIN bb".$n."_groups g ON (u.useronlinegroupid=g.groupid) WHERE regdate_date LIKE '%-$currentdate' AND regdate_date NOT LIKE '$currentyear-%' ORDER BY username ASC"); |
|
Suche in der Anleitung nach:
| php: |
1:
|
$user_name = htmlconverter($row['username']); |
|
DARUNTER einfügen:
| php: |
1:
2:
3:
|
if ($row['gender'] == 1) $gender_text = "seinen";
elseif ($row['gender'] == 2) $gender_text = "ihren";
else $gender_text = "ihren/seinen"; |
|
Suche in der Anleitung nach:
| php: |
1:
|
$code_content = array($user_name, $master_board_name, $years); |
|
ERSETZE es mit:
| php: |
1:
|
$code_content = array($user_name, $master_board_name, $years, $gender_text); |
|
Suche in der Anleitung nach:
| php: |
1:
|
$code = array("{username}", "{boardname}", "{years}"); |
|
ERSETZE es mit:
| php: |
1:
|
$code = array("{username}", "{boardname}", "{years}", "{gender}"); |
|
Wie testet man den Hack, ohne auf das nächste Jubiläum zu warten?
Dazu sucht man sich einen "Testuser" heraus und notiert dessen/deren Userid und Registrierungsdatum (Mitgliederliste / Profil).
Wir gehen hier mal davon aus, die Userid ist 3, das Registrierungsdatum ist 20.07.2009 und wir wollen den Hack am 21. November 2009 testen.
Es werden über das ACP ([SQL Abfragen] - [SQL-Abfrage(n) eingeben
) zwei SQL-Statements ausgeführt.
Statement 1:
| MySQL-Abfrage(n) |
1:
|
DELETE FROM bb1_user_anniversary_table WHERE userID = 3 |
|
Statement 2:
| MySQL-Abfrage(n) |
1:
|
UPDATE bb1_users SET regdate_date = '2008-11-21' WHERE userid = 3 |
|
Wird jetzt die Startseite des Forums aufgerufen, sollte
der Thread erstellt werden.
Ist alles so, wie es sein sollte (und wer zweifelt daran???
), wird der Eintrag für diesen User wieder zurückgesetzt mit den folgenden zwei SQL-Statements:
Statment 3:
| MySQL-Abfrage(n) |
1:
|
DELETE FROM bb1_user_anniversary_table WHERE userID = 3 |
|
Statement 4:
| MySQL-Abfrage(n) |
1:
|
UPDATE bb1_users SET regdate_date = '2009-07-20' WHERE userid = 3 |
|
In diesem Falle '2009-07-20', weil das für den User mit der Userid 3 das richtige Registrierungsdatum ist.
Das sollte es gewesen sein.
Ich habe das Ganze eben auf meiner Testumgebung durchgezogen, es klappt.
Über Feedback von Euch freue ich mich
Gruß Mike
|
|
21.11.2009 09:42 |
|
|
|
Views heute: 8.860 | Views gestern: 22.601 | Views gesamt: 11.225.236 |
|