Seite 1 von 2

Heute/Gestern-Mod

Verfasst: 31.08.2006 15:42
von LuLa
Hallo,

ich wollte endlich mal eine Heute/Gestern-Mod einbauen und habe mir dazu das "Original" und andere Sachen durchgelesen, u. a. auch das hier. Im Endeffekt war mir das alles viel zu umständlich, daher entwickelte ich selber etwas und bin in der Lösung einen ganz anderen Weg gegangen. Es funktioniert (zumindest bei mir :D) fehlerfrei und ist leicht einzubauen. Für eine EM-kompatible Einbauanleitung mit phpbb-Versionsangaben bin ich allerdings zu faul, da bin ich ganz ehrlich. Es geht ja auch so.

Code: Alles auswählen

# 
#-----[ OPEN ]------------------------------------------ 
# 
viewforum.php

# 
#-----[ FIND ]------------------------------------------ 
#
		$last_post_time = create_date($board_config['default_dateformat'], $topic_rowset[$i]['post_time'], $board_config['board_timezone']);

# 
#-----[REPLACE WITH ]------------------------------------------ 
#
		$systime = time();
		$todaytime = create_date('H:i', $systime, $board_config['board_timezone']);
		$todaytime = intval(substr($todaytime, 0, 2)) * 3600 + intval(substr($todaytime, 3, 2)) * 60;
		if ( $systime - $topic_rowset[$i]['post_time'] < $todaytime + 86400 )
		{
			$last_post_time = create_date('H:i', $topic_rowset[$i]['post_time'], $board_config['board_timezone']);
			if ( $systime - $topic_rowset[$i]['post_time'] < $todaytime )
			{
				$last_post_time = $lang['Today'] . ' ' . $last_post_time;
			}
			else
			{
				$last_post_time = $lang['Yesterday'] . ' ' . $last_post_time;
			}
		}
		else
		{
			$last_post_time = create_date($board_config['default_dateformat'], $topic_rowset[$i]['post_time'], $board_config['board_timezone']);
		}

Sinngemäß das Ganze dann noch in viewtopic.php, search.php und ggf. auch in includes/functions_categories_hierarchy.php anwenden. Dort nach

Code: Alles auswählen

$last_post_time = create_date(
suchen. An dieser Stelle muß der Code ersetzt werden.
Die Variable $topic_rowset[$i]['post_time'] des REPLACE-Teils muß dann lediglich durch
  • $postrow[$i]['post_time'] (in viewtopic.php)
  • $searchset[$i]['post_time'] (in search.php) sowie
  • $data['tree.post_time'] (in includes/functions_categories_hierarchy.php)
ersetzt werden.


Ist doch schön, wenn man der phpbb-Gemeinde auch mal etwas zurückgeben kann.
Hoffentlich funktioniert diese Mod bei Euch genauso gut wie bei mir.


LG
LuLa

Verfasst: 31.08.2006 17:55
von HUGOOO
Schade, bei mir kommt ein syntax-Fehler!

In dieser zeile soll er stecken

Code: Alles auswählen

if ( ($systime - [color=blue]$topic_rowset[$i]['post_time'][/color] < $todaytime + 86400) AND ($userdata['user_time_today_yesterday'] == 1) )

Verfasst: 31.08.2006 18:10
von MagMo
Hi,
HUGOOO hat geschrieben:Schade, bei mir kommt ein syntax-Fehler!

In dieser zeile soll er stecken

Code: Alles auswählen

if ( ($systime - [color=blue]$topic_rowset[$i]['post_time'][/color] < $todaytime + 86400) AND ($userdata['user_time_today_yesterday'] == 1) )
Kein Wunder das ist auch absoluter Humbug. Wenn, dann muss es so lauten:

Code: Alles auswählen

if ( ($systime - $topic_rowset[$i]['post_time'] < $todaytime + 86400) AND ($userdata['user_time_today_yesterday'] == 1) )
Grüße
MagMo

Verfasst: 31.08.2006 18:15
von HUGOOO
OK, das stimmte, nur der nächste Fehler sitzt hier:

Code: Alles auswählen

$last_post_time = create_date('H:i', [color=blue]$topic_rowset[$i]['post_time'][/color], $board_config['board_timezone']); 

Verfasst: 31.08.2006 18:15
von LuLa
MagMo hat geschrieben:Humbug
Harte Worte...


Entschuldigung, die color-Tags waren natürlich verkehrt.
Ich wollte den auszuwechselnden Variablemnamen blau hervorheben, aber das code-Tag stellt ja alles brav dar ... :lol:

Habe mein Posting von oben korrigiert. Sollte jetzt funktionieren.
Probiert es mal aus!


LG
LuLa

Re: Heute/Gestern-Mod

Verfasst: 31.08.2006 23:48
von easygo
LuLa hat geschrieben:Für eine EM-kompatible Einbauanleitung mit phpbb-Versionsangaben bin ich allerdings zu faul, da bin ich ganz ehrlich. Es geht ja auch so.
Ehrlich ist immer gut, Faules weniger..

Also mal ganz ehrlich! Irgendwelche Zeilen aus nem anderen MOD zusammenkopieren,
paar Vars umbenennen und die Hälfte vergessen, weil zu umständlich (?)

Da dran ist so einiges faul! Hier nur ein Beispiel -->
if ( ($systime - $topic_rowset[$i]['post_time'] < $todaytime + 86400) AND ($userdata['user_time_today_yesterday'] == 1) )
Wie kann der Wert 1 sein, wenns die Spalte dort überhaupt nicht gibt?

Oder wolltest du den Rest "irgendwann" mal nachreichen?

Verfasst: 01.09.2006 00:47
von SoLo1905
HUGOOO hat geschrieben:OK, das stimmte, nur der nächste Fehler sitzt hier:

Code: Alles auswählen

$last_post_time = create_date('H:i', [color=blue]$topic_rowset[$i]['post_time'][/color], $board_config['board_timezone']); 
versuch es mal mit

Code: Alles auswählen

$last_post_time = create_date('H:i', $topic_rowset[$i]['post_time'], $board_config['board_timezone']); 


gehört den

Code: Alles auswählen

[color=blue][/color]
dazu?

Verfasst: 01.09.2006 07:04
von HUGOOO
Ich habe mir nun ein funktionsfähiges MOD eingebaut.

Gefunden habe ich es auf phpbb.com

Today At/Yesterday At

Re: Heute/Gestern-Mod

Verfasst: 01.09.2006 12:40
von LuLa
SoLo1905 hat geschrieben:gehört den

Code: Alles auswählen

[color=blue][/color]
dazu?
Vergiß das mit "color" und "color=blue". Nimm einfach den Code aus dem ersten Posting.

easygo hat geschrieben:Da dran ist so einiges faul! Hier nur ein Beispiel -->
if ( ($systime - $topic_rowset[$i]['post_time'] < $todaytime + 86400) AND ($userdata['user_time_today_yesterday'] == 1) )
Wie kann der Wert 1 sein, wenns die Spalte dort überhaupt nicht gibt?
Das stimmt. Ich ging aber davon aus, daß jeder, der ab und zu mit phpbb-Code zu tun hat erkennt, daß $userdata['user_time_today_yesterday'] kein phpbb-Standard ist. Sind doch alles Programmierer hier, oder? Nimm diese Variablenabfrage und das "AND" aus der if-Anweisung raus und es läuft. Meine Güte.

easygo hat geschrieben:Also mal ganz ehrlich! Irgendwelche Zeilen aus nem anderen MOD zusammenkopieren,
paar Vars umbenennen(?)
Das ist gelogen.

easygo hat geschrieben:Oder wolltest du den Rest "irgendwann" mal nachreichen?
Würdest DU das tun, wenn Dir vorgeworfen wird, daß Du Code aus einem anderen Mod geklaut hast?

Habe mein Posting von oben jetzt nochmal korrigiert. Entschuldigt bitte die Fehler, aber ich habe es bloß gutgemeint und dachte, daß es vielleicht jemandem nützen könnte. Bei mir läuft es jedenfalls wunderbar.

Re: Heute/Gestern-Mod

Verfasst: 01.09.2006 13:59
von easygo
LuLa hat geschrieben:
easygo hat geschrieben:Oder wolltest du den Rest "irgendwann" mal nachreichen?
Würdest DU das tun, wenn Dir vorgeworfen wird, daß Du Code aus einem anderen Mod geklaut hast?
Mh? Wenn überhaupt, dann hab ich dir Faulheit+Vergesslichkeit vorgeworfen @ LuLa
easygo hat geschrieben:Ehrlich ist immer gut, Faules weniger..

Also mal ganz ehrlich! Irgendwelche Zeilen aus nem anderen MOD zusammenkopieren,
paar Vars umbenennen und die Hälfte vergessen, weil zu umständlich (?)
Von geklaut steht da nix und sry, aber Faulheit entschuldigt NIX (im Gegenteil)

Was du so alles zwischen den Zeilen liest, ist zwar interessant, aber so
stehts nun mal nicht da! Gestern nicht und heute auch nicht.
LuLa hat geschrieben:Das stimmt. Ich ging aber davon aus, daß jeder, der ab und zu mit phpbb-Code zu tun hat erkennt, daß $userdata['user_time_today_yesterday'] kein phpbb-Standard ist. Sind doch alles Programmierer hier, oder? Nimm diese Variablenabfrage und das "AND" aus der if-Anweisung raus und es läuft. Meine Güte.
Güte mh? Was ich von solchen Antworten halte, kannst du dir vllt denken. :roll:

Mich musst du nicht aufklären. Erzähl das den Leuten, die auf solche Aussagen was geben -->
LuLa hat geschrieben:Bei mir läuft es jedenfalls wunderbar.
Schön für dich. Weiter so / easy