Seite 1 von 2

Die Aktualität der Beiträge hervorheben

Verfasst: 11.04.2008 17:06
von Rosenheimer
Gibt es eine Möglichkeit die Aktualität der Beiträge hervorzuheben, indem man das Datum des Beitrags, wenn es das aktuelle Datum von heute ist, diesen in Rot darzustellen, und wenn der Beitrag von gestern ist, das Datum in grün darzustellen. Wenn der Beitrag älter als gestern ist, dann Darstellung ganz normal. Hat jemand einen deratigen Hack für phpBB3.0 gemacht ?

Das macht die Übersichtlichkeit echt um 1000% besser. Ich habe das in einem WBB Forum.

Franz

Verfasst: 11.04.2008 22:48
von Balint
Hallo!

Könntest du bitte einen Link zu dem besagten Forum geben, ich würde mir das gerne anschauen und dann evtl. entwickeln.


Viele Grüße,
Bálint

Verfasst: 14.04.2008 08:09
von Rosenheimer
Hi Bálint,
danke für deine Antwort. Hier habe ich den Link zu meinem WBB Forum.

http://www.aibling-info.de

Danke einstweilen
Franz

Verfasst: 14.04.2008 16:11
von Huchinotte
Rosenheimer hat geschrieben: Hier habe ich den Link zu meinem WBB Forum.

http://www.aibling-info.de

Danke einstweilen
Franz

Du weisst aber das das hier ein phpbb forum ist?

Verfasst: 14.04.2008 16:15
von Balint
Hallo!

Bitte Beitrag lesen vor dem Posten @Huchinotte.

Schaue mir die Sache nachher mal an @Rosenheimer.


Viele Grüße,
Bálint

Verfasst: 14.04.2008 17:48
von Rosenheimer
Danke einstweilen :grin:

LG
Franz

Verfasst: 14.04.2008 22:36
von Balint
Hallo!

Sämtliche Götter des phpBB mögen mir für meine grobe Mißachtung aller Coding-Guidlines gnädig sein:

Öffne includes/functions_display.php + Finde:

Code: Alles auswählen

         $last_post_time = $user->format_date($row['forum_last_post_time']);


Ersetze mit:

Code: Alles auswählen

         $last_post_time = $user->format_date($row['forum_last_post_time'], false, false, true);



Öffne includes/sessions.php + Finde:

Code: Alles auswählen

   function format_date($gmepoch, $format = false, $forcedate = false)


Ersetze mit:

Code: Alles auswählen

   function format_date($gmepoch, $format = false, $forcedate = false, $colored = false)


Finde:

Code: Alles auswählen

      else if ($gmepoch > $midnight && !$forcedate)
      {
         $format = substr($format, 0, strpos($format, '|')) . '||' . substr(strrchr($format, '|'), 1);
         return str_replace('||', $this->lang['datetime']['TODAY'], strtr(@gmdate($format, $gmepoch + $this->timezone + $this->dst), $lang_dates));
      }
      else if ($gmepoch > $midnight - 86400 && !$forcedate)
      {
         $format = substr($format, 0, strpos($format, '|')) . '||' . substr(strrchr($format, '|'), 1);
         return str_replace('||', $this->lang['datetime']['YESTERDAY'], strtr(@gmdate($format, $gmepoch + $this->timezone + $this->dst), $lang_dates));
      }


Ersetze mit:

Code: Alles auswählen

      else if ($gmepoch > $midnight && !$forcedate)
      {
         $format = substr($format, 0, strpos($format, '|')) . '||' . substr(strrchr($format, '|'), 1);
         $colorcode = $colored ? '<span style="color: #ff0000;display: inline; font-weight: bold; padding: 0;">'.$this->lang['datetime']['TODAY'].'</span>' : $this->lang['datetime']['TODAY'];
         return str_replace('||', $colorcode, strtr(@gmdate($format, $gmepoch + $this->timezone + $this->dst), $lang_dates));
      }
      else if ($gmepoch > $midnight - 86400 && !$forcedate)
      {
         $format = substr($format, 0, strpos($format, '|')) . '||' . substr(strrchr($format, '|'), 1);
         $colorcode = $colored ? '<span style="color: #32CD32;display: inline; font-weight: bold; padding: 0;">'.$this->lang['datetime']['YESTERDAY'].'</span>' : $this->lang['datetime']['YESTERDAY'];
         return str_replace('||', $colorcode, strtr(@gmdate($format, $gmepoch + $this->timezone + $this->dst), $lang_dates));
      }



Das könnte man jetzt hübsch in einen MOD verpacken. Bitte gib erstmal Bescheid, ob es tut, ich konnte es nur mit "Heute" testen. Der ganze Kram ist nur notwenid, weil ja nicht alle Datums-Vorkommen von "Heute" und Gestern ersetzt werden sollen, sondern nur das im Index.

EDIT: Im viewforum habe ich es auch gesehen. Wo brauchst du die Färberei überall?



Viele Grüße,
Bálint

Verfasst: 15.04.2008 17:21
von Rosenheimer
Das ist in der Forumsübersicht interessant, und in der Themenübersicht in den einzelnen Unterforen.

Du kannst dich gerne mal in dem Forum www.Aibling-info.de testweise einloggen. Ich habe dort den User "Test" mit Passwort "Test" für Testzwecke in Benutzung. Der Testuser kommt nur an die Häfte der einegerichtenen Unterforen, aber das tut´s ja. Da kannst du auch mal Testweise was schreiben als dieser Testuser, ich lösche es dann wieder wenn du gesehen hast wie´s funktioniert. Da gibts auch eine gute Lösung zum erkennen der Gäste, User und Robots. Wenn du unten auf "Zur Zeit sind XX Benutzer im Forum" klickst. Der Admin bekommt zusätzlich noch die Namen der "GeistUser" und die ganzen IP-Adressen angezeigt. Aber diese WBB Foren kosten halt auch ganz schön was. Wenn man das Forum nur zum Spass einrichtet ist es ein teurer Spass :D

Danke für die Mühe, ich werde das morgen mal testen. :D

Franz

Verfasst: 19.04.2008 18:06
von Rosenheimer
Ich habe die Änderungen eingetragen, aber es ändert sich nicht :-?

Hier der Link von dem Testforum wo die Änderung gemacht ist.

http://disunddas.de/CGI-BIN/Jobsuche/index.php

Vielleicht hat in der Anweisung was gefehlt ?

Franz

Verfasst: 21.04.2008 12:37
von Balint
Hallo!

Neben den vorgenommenen Änderungen ist es natürlich zwingend notwendig, für Gäste und Benutzer das Datumsformat einzustellen, welches in der Auswahl etwas von "Heute, ..." anzeigt. Wahrscheinlich ist standardmäßig nur das Datum eingestellt.


Viele Grüße,
Bálint