30.03.2008, 18:16 (Dieser Beitrag wurde zuletzt bearbeitet: 30.03.2008, 18:59 von Jockl.)
Hallo zusammen,
ich würde dem angemeldeten User gerne die Möglichkeit geben, seine "Neuen Beiträge" nicht nur in Bezug auf seinen letzten Login anzubieten. Statt dessen würde ich ihm auf einer separaten Seite gerne die Möglichkeit geben, einen bestimmten Tag in der Vergangenheit auszuwählen (z.B. über DropDown), damit er alle Beiträge ab diesem Datum sehen kann.
Zunächst dachte ich, eine "eigene Seite" inkl. Template zu erstellen, mit deren Hilfe sich ein angemeldeter User seine letzte Login-Zeit um X Tage zurück setzen kann.
Wegen der notwendigen Änderung in der DB-Tabelle bin ich mir nicht sicher, ob ich "lastvisit" oder" "lastactive" bzw. beide ändern muss. Bezieht sich "lastactive" auf den Zeitpunkt, an dem der User seinen letzten Beitrag geschrieben hat? Und hat so eine Änderung ggf. auch Auswirkungen auf Beiträge, die der User nach zurück gesetzter Login-Zeit quasi erst später geschrieben hat?
Ich weiß nicht, ob das der richtige Weg ist oder ob es da etwas besseres gibt (vielleicht sogar ein Plugin?). Würde mich freuen, wenn mir jemand Tipps geben könnte.
Dank Euch schon mal im Voraus!
Edit:
oder kann ich evtl. diesen Code umschreiben (inkl. neuem action-Parameter) und statt $mybb->input['days'] eine $_POST-Variable übergeben?
Für das was du vorhast sind keine Codeänderungen nötig. Der Funktion zur Anzeige der Beiträge der letzten 24 Stunden kannst du die Tage einfach übergeben: search.php?action=getdaily&days=x
Gruß,
Michael Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
tja, warum kompliziert, wenn es auch einfach(er) geht....
Habe das nun über ein neues Template und eine eigene Seite umgesetzt (erreichbar über einen Link im Welcome-Block), damit die User per DropDown-Liste bei den Beiträgen und den Themen bis zu 30 Tage zurückblicken können. Kam richtig gut an!
11.04.2008, 10:50 (Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2008, 23:47 von Jockl.)
ich kann das die Tage mal hier reinsetzen, wie ich das bei mir gelöst habe.
Edit:
So, nachfolgend mal die Beschreibung und die notwendigen Dateien. Für mögliche Verbesserungsvorschläge
bin ich natürlich dankbar. Insbesondere, wenn es um das Thema Sicherheit gehen sollte....
Im root-Verzeichnis "/forum" werden die beiden Dateien searchcustom.php und searchcustom_do.php gespeichert.
Im ACP ist ein neues Template mit dem Namen "old_threads_themes" in dem jeweils genutzten Template zu erstellen. Darin ist
der u.a. Inhalt der "Ungl_Beitraege_Template.txt" einzufügen.
Den Link zu der nun neu erzeugten Seite habe ich unter anderem in dem Template "header_welcomeblock_member" wie folgt eingefügt:
Der Link kann natürlich auch an einer anderen Stelle eingesetzt werden. Ich wollte es nur so haben, dass Gäste diese Seite nicht aufrufen können. Deshalb übrigens auch die zusätzliche Abfrage in den beiden php-Dateien.
In der jeweiligen global.lang.php (deutsch_du und deutsch_sie) ist folgende Änderung notwendig:
15.01.2009, 19:15 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2009, 19:58 von FraGezeichen.)
Hallo,
sensationell, ich habe genau das gestern auf ideas.mybboard.com gepostet. Dabei gibt es das schon als "Hack". Hattest du nie Lust, das als Plugin zu veröffentlichen?
und denke, dass das hier auch ned so schwer wäre.
Ich hab das selbst einmal in Perl für mein altes Ikonboard programmiert, das ist allerdings schon sechs Jahre her.
Gibt es Neuigkeiten zu dieser Modifikation?
EDIT: seh ich das flasch, oder gibt es die Funktion "getdailythreads" ned?
if(!empty($fids)) { $where_sql .= " AND t.fid IN (".implode(',', $fids).")"; } }
$unsearchforums = get_unsearchable_forums(); if($unsearchforums) { $where_sql .= " AND t.fid NOT IN ($unsearchforums)"; } $inactiveforums = get_inactive_forums(); if($inactiveforums) { $where_sql .= " AND t.fid NOT IN ($inactiveforums)"; }
if(!empty($fids)) { $where_sql .= " AND t.fid IN (".implode(',', $fids).")"; } }
$unsearchforums = get_unsearchable_forums(); if($unsearchforums) { $where_sql .= " AND t.fid NOT IN ($unsearchforums)"; } $inactiveforums = get_inactive_forums(); if($inactiveforums) { $where_sql .= " AND t.fid NOT IN ($inactiveforums)"; }
if($mybb->input['fid']) { $where_sql .= " AND t.fid='".intval($mybb->input['fid'])."'"; }
$unsearchforums = get_unsearchable_forums(); if($unsearchforums) { $where_sql .= " AND t.fid NOT IN ($unsearchforums)"; } $inactiveforums = get_inactive_forums(); if($inactiveforums) { $where_sql .= " AND t.fid NOT IN ($inactiveforums)"; }
Ähm, sicher?
Ich möcht aber nicht gerne die getdaily Funktion an sich verlieren, sollte ich da nicht eher Deinen Code Schnipsel hinzufügen, statt das Andere zu ersetzen?
Danke auf alle Fälle für das Teil, gefällt mir gut!
15.01.2009, 21:14 (Dieser Beitrag wurde zuletzt bearbeitet: 15.01.2009, 21:15 von FraGezeichen.)
Hihi, jetzt hab ich das aber ned wirklich verstanden, was Firefox da gemacht hat, der hat Deine Codebox live aktualisiert oder so, denn während ich den Code noch durchgesucht habe, hat er sich verändert und hat gestimmt. Ich dacht, ich seh Stimmen
Aso, und noch eine Frage, natürlich ohne es probiert zu haben: worin besteht der unterschied zwischen den letzten Themen und den letzten Beiträgen? Kommen da ned die gleichen Ergebnisse?