archivanzeige

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
ahoibrause
Mitglied
Beiträge: 9
Registriert: 26.02.2004 10:31

archivanzeige

Beitrag von ahoibrause »

kennt jemand eine möglichkeit in der viewopic.php das jeweilige erstellungsdatum (Verfasst am:) ab einem bestimmten datum als "Archiv"
anzeigen zu lassen

habs mal schnell so probiert, geht leider nicht :(

Code: Alles auswählen

$tpost_date = mktime($post_date);
if ($tpost_date < 1077754405)
 {$post_date = 'Archiv!';}
makue
Mitglied
Beiträge: 282
Registriert: 18.07.2002 07:58
Wohnort: Böblingen
Kontaktdaten:

Beitrag von makue »

$post_date ist doch der Datums-String, oder? Und das mktime-Format sieht so aus:

Code: Alles auswählen

int mktime (int Stunde, int Minute, int Sekunde, int Monat, int Tag, int Jahr [, int is_dst])
Also entweder den Datumsstring in die einzelnen Felder aufsplitten oder gleich den Wert aus der mySQL-Tabelle ($postrow[$i]['post_time']) nehmen, der ist ja eh schon im Unix-Timestamp. Also etwa so:

Code: Alles auswählen

if ($postrow[$i]['post_time'] < 1077754405) $post_date = 'Archiv!'; 
Ich würde es aber nicht so "hart" codieren, sondern lieber aus einem Feld im ACP lesen. Ich habe keine Ahnung wie gut Du in PHP drinsteckst, kannst ja nochmal nachfragen wenn Du keine andere Lösung findest.
ahoibrause
Mitglied
Beiträge: 9
Registriert: 26.02.2004 10:31

danke passt (fast)

Beitrag von ahoibrause »

für die viewtopic.php passt es

für die viewforum.php bekomme ich mit

Code: Alles auswählen

if ($topic_rowset[$i]['topic_time'] < 1077716594) $last_post_time = 'Archiv-Beitrag!';
angezeigt was archivbeitrag ist und was aktuell (datum)

für die search.php bekomme ich mit

Code: Alles auswählen

 if ($searchset[$i]['post_time'] < 1077716594) $last_post_time = 'Archiv!';
nun auch angezeigt ob das suchergebniss archiv oder aktuell (datum) ist

jetzt hätte ich nur noch gerne in der index.php angezeigt ob sich im jeweiligen forum schon ein aktuelles thema befindet (datum) oder nur archivthemen. ich hab´s mal mit

Code: Alles auswählen

 if ($forum_data[$i]['post_time'] < 1077114730) $last_post = 'Kein Aktuelles Thema!';
probiert aber dann bekomme ich nur teilweise richtige ergebnisse???

vieleicht fällt jemanden noch was dazu ein ansonsten kann ich darauf sicher auch verzichten. wenn das forum online ist wird wohl ziemlich bald überall ein aktuelles thema vorhanden sein.

ansonsten nochmals danke für die gute und schnelle hilfe
makue
Mitglied
Beiträge: 282
Registriert: 18.07.2002 07:58
Wohnort: Böblingen
Kontaktdaten:

Beitrag von makue »

Du musst halt alle Foren-Einträge überprüfen und wenn nur ein einziger Aktuell ist, eine Zwischenvariable setzen. Und am Ende der Schleife über die Foreneinträge fragst Du diese Zwischenvariable ab. Etwa so hier:

in der Schleife:

Code: Alles auswählen

if ($forum_data[$i]['post_time'] >= 1077114730) $aktuell = true;
nach der Schleife:

Code: Alles auswählen

if (!$aktuell) $last_post = 'Kein Aktuelles Thema!';
Du kannst das aber auch mit einer einzigen SQL-Abfrage machen, kannst ja dort schon einschränken, dass nur aktuelle Einträge gesucht werden. Und wenn keine gefunden werden, sind halt keine da! :)
ahoibrause
Mitglied
Beiträge: 9
Registriert: 26.02.2004 10:31

so läuft´s, danke

Beitrag von ahoibrause »

ich hab´s einfach in die bestehende schleife eingbaut und es passt

Code: Alles auswählen

if ( $forum_data[$j]['forum_last_post_id'] )
                                                        {
                                                                $last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);

                                                                if ($forum_data[$i]['post_time'] < 1077869424)
                                                                {
                                                                $last_post = 'Kein Aktuelles Thema!<br />';
                                                                }
                                                                else
                                                                {
                                                                $last_post = $last_post_time . '<br />';
                                                                }
                                                                ...........
[/i]
makue
Mitglied
Beiträge: 282
Registriert: 18.07.2002 07:58
Wohnort: Böblingen
Kontaktdaten:

Beitrag von makue »

Na wenn es geht, dann ist es ja gut! :) Wie ich sehe, fragst Du die last_post_id und die zugehörige Zeit ab. Und die gibt es ja nur einmal pro Forum. Und wenn die zu alt ist, dann sind ja auch alle anderen zu alt. Ich bin da von einem falschen Standpunkt ausgegangen und wollte die last_post_time erst ermitteln!
Antworten

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