Reihenfolge der Beiträge - Usereinstellung

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
raphael
Mitglied
Beiträge: 213
Registriert: 04.05.2004 22:11
Wohnort: Nettersheim
Kontaktdaten:

Reihenfolge der Beiträge - Usereinstellung

Beitrag von raphael »

..stammt von diesem Thema (Acid)

Ich greife dieses Thema nochmal auf, weil ich keine Lösung für meine Idee gefunden habe.
Es wäre äußerst praktisch, wenn die Nutzer in ihrem Profil einstellen könnten, in welcher Reihenfolge Beiträge bei ihnen sortiert werden sollen.
Vom Prinzip her müsste das ja im Grunde so laufen:

In der Datenbank muss bei phpbb_users ein neues Feld erstellt werden, dass entweder auf 0 oder 1 springt. Über einen Punkt im Profil können die Nutzer dann einstellen wie die Beiträge sortiert werden sollen. Dadurch ändert sich ihr Wert in der DB auf 0 oder 1 (je nachdem halt).

In der viewtopic.php müsste dann halt abgefragt werden ob dieser Eintrag in der DB auf 0 oder 1 steht und dementsprechend entweder $post_time_order = 'ASC' oder $post_time_order = 'DESC' angewendet werden.

Würde dieses Prinzip funktionieren?
Könnte mir vielleicht jemand beschreiben, wie ich das dann genau machen muss? :oops:
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

Zunächst müsstest du das Profil der User um ein Feld erweitern (s. Datenbank für den MOD), wohl am besten ein Dropdownfeld.

Anschliessend müsste die viewtopic.php in diesem Bereich angepasst werden.

Code: Alles auswählen

if( Usereinstellung ) { sort = Usereinstellung } else { sort = Standard }
raphael
Mitglied
Beiträge: 213
Registriert: 04.05.2004 22:11
Wohnort: Nettersheim
Kontaktdaten:

Beitrag von raphael »

Ich habe das mit einer Radiobox gemacht.
Neuester Beitrag am Anfang: ja () nein ()
Standard auf nein
Datenbankfeld heißt user_sortposts
In der viewtopic.php habe ich dann
$sql = "SELECT user_sortposts
FROM " . USERS_TABLE . "
WHERE user_id = $user_id";

if ( $user_sortposts = '0' )
{
$post_order = 'asc';
$post_time_order = 'ASC';
}
else
{
$post_order = 'desc';
$post_time_order = 'DESC';
}
vor
if ( !empty($HTTP_POST_VARS['postorder']) || !empty($HTTP_GET_VARS['postorder']) )
{
$post_order = (!empty($HTTP_POST_VARS['postorder'])) ? htmlspecialchars($HTTP_POST_VARS['postorder']) : htmlspecialchars($HTTP_GET_VARS['postorder']);
$post_time_order = ($post_order == "asc") ? "ASC" : "DESC";
}
eingesetzt und den alten else-Teil der zuletzt genannten Funktion gelöscht.
Das funktioniert wunderbar.

Vielen Dank für den Denkanstoss und den Tip mit dem ModifyProfileMod!
raphael
Mitglied
Beiträge: 213
Registriert: 04.05.2004 22:11
Wohnort: Nettersheim
Kontaktdaten:

Beitrag von raphael »

Hm, irgendwie scheint das ganze doch nicht zu funktionieren.
Zuerst hat es geklappt, aber dann war alles wieder so sortiert, dass die neuen Beiträge oben waren. Egal, was man ausgewählt hat. In der Datenbank wird es auch so eingetragen, wie man es möchte.
Also scheint die viewtopic.php das irgendwie zu ignorieren.
Wo könnte da der Fehler liegen?
raphael
Mitglied
Beiträge: 213
Registriert: 04.05.2004 22:11
Wohnort: Nettersheim
Kontaktdaten:

Beitrag von raphael »

Hmm, ich habe nochwas experimentiert und bin noch immer nicht auf die Lösung gekommen.
--> *bump* :oops:

edit:
Mittlerweile weiß ich, dass die Abfrage irgendwie ignoriert, was in der Datenbank steht und immer so handelt, als ob dort eine 1 eingetragen wäre.
Denn wenn ich in der Abfrage die 0 lasse, wird der else Befehl ausgeführt (egal, was in der Datenbank steht).
Wenn ich eine 1 anstatt der 0 nehme wird der if Befehl ausgeführt (auch wieder egal, was in der Datenbank steht).
Ich kann jedoch nicht erkennen, wo da mein Fehler liegen könnte.
raphael
Mitglied
Beiträge: 213
Registriert: 04.05.2004 22:11
Wohnort: Nettersheim
Kontaktdaten:

Beitrag von raphael »

Hm, ich bringe das Thema nochmal nach oben.
Hat niemand eine Idee, woran es liegen könnte?
raphael
Mitglied
Beiträge: 213
Registriert: 04.05.2004 22:11
Wohnort: Nettersheim
Kontaktdaten:

Beitrag von raphael »

Weiß da niemand etwas?
Wieso liest er eine 1 aus der Tabelle aus auch wenn dort eine 0 vermerkt ist?
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“