Birthday Caching Addon (RC3)

In diesem Forum können Mod-Autoren ihre Mods vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
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.
Benutzeravatar
AmigaLink
Mitglied
Beiträge: 1417
Registriert: 09.06.2003 21:56
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

KLAR!!! Haupsache ist immer das es funktioniert wie es soll. :grin:
Graceland
Mitglied
Beiträge: 32
Registriert: 24.03.2004 14:25

Beitrag von Graceland »

Also ich musste bei mir feststellen, dass auch andauernd Updates gemacht werden.

Ich hab einfach in die index.php ein ganz simples

Code: Alles auswählen

echo "Test";
vor dem SQL-Query eingefügt und erstmal ni schlecht geschaut, als Buchstabensalat erschien.

Aber nach späteren Testläufen hat sich erwiesen, dass es das macht was es soll: Einfach irgendetwas schreiben.
Was dabei rauskommt is ja erstmal egal.

Auf jeden Fall erscheint diese Ausgabe bei jedem Aufruf der index.php.
Was ja eigentlich nicht der Sinn dieses Addon's ist. ;)

Ich habe die index.php auch einfach einmal als Txt-File hochgeladen.
Vielleicht kann mir ja jemand einen Tipp geben, was da nicht so ganz funktioniert.

http://www.pmv4all.de/index.txt
Meine Signatur war zu groß und wurde deshalb gelöscht - Siehe phpBB.de-Knigge

??? Ich hatte meiner Meinung nach nie eine Signatur. :)
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Graceland hat geschrieben:Also ich musste bei mir feststellen, dass auch andauernd Updates gemacht werden.
Hi Graceland, das ist wirklich net Sinn der Sache. Also gehen wirs mal durch:

a) Welchen Birthday Code verwendest du in deiner portal.php?
Wie ich sehe, hast du dort auch nen Birthday Block.

Sollte sich da was überschneiden, dann erübrigt sich Punkt b) vielleicht.

b) In deiner index.php hab ich jetzt keine groben Schnitzer
entdeckt. Versuchs aber trotzdem mal mit der Datei...

http://www.net4seven.de/txt/index.txt

Geändert: Last Visit MOD vor Birthday MOD u.a.

c) Ist das alles so vorhanden bei dir?
easygo hat geschrieben:Wichtig! Falls nicht vorhanden, Verzeichnis cache/ mit Unterverzeichnis
cache/bday erstellen und für beide CHMOD 777 setzen.
d) Zum Testen bitte mal den folgenden Code verwenden...

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//Session management
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);

//Header
$page_title = 'Update Time Control';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

//Here we go
clearstatcache();
$cache_bday_file = $phpbb_root_path . "cache/bday/bday_" . $board_config['board_timezone'] . ".php";
$newest_userdata = get_db_stat('newestuser');
$newest_regdate = $newest_userdata['user_regdate'];
$time_now = time();

if (file_exists($cache_bday_file)) {
$last_update_time = @filemtime($cache_bday_file);
$zahl = date('Yz',$time_now) - date('Yz', $last_update_time);
echo "<center>";
echo "Test: " . date('Yz', $time_now) . " - " . date('Yz', $last_update_time);
echo "<br />";
echo "Ergebnis: " . $zahl;
echo "<br /> ---------------------------------------------- <br /></center>";
}
echo "<center>";
echo "Newest User Registration Date<br /><br />";
echo "UNIX Time: " . $newest_regdate;
echo "<br />";
echo "Time Format: " .date("d.m.Y, H:i:s", $newest_regdate);
echo "<br /></center>";

//Footer
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Speichern unter _test.php, hochladen ins Forum-Verzeichnis,
dort aufrufen und das Ergebnis einfach hierher posten.

easy
Graceland
Mitglied
Beiträge: 32
Registriert: 24.03.2004 14:25

Beitrag von Graceland »

Das Problem hat sich erledigt.
Es funktioniert jetzt hervorragend.

Vielen Dank

Im Portal werd ich das jetzt auch versuchen einzubauen.
Leider hab ich aber kein ezportal. Werd ich mir wohl selber was zusammenschustern müssen.

Bye

edit: Ist es möglich, dass die Variable für das letzte Register-Datum in Version 2.0.13 anders heißt?

Denn es kommt immer ein Datum 0 raus.
Die Ausgabe deiner Test-Datei lautet auch:
Test: 2005-123 - 2005-123
Ergebnis: 0
----------------------------------------------

Newest User Registration Date

UNIX Time:
Time Format: 01.01.1970, 01:00:00
Meine Signatur war zu groß und wurde deshalb gelöscht - Siehe phpBB.de-Knigge

??? Ich hatte meiner Meinung nach nie eine Signatur. :)
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Graceland hat geschrieben:Das Problem hat sich erledigt.
Es funktioniert jetzt hervorragend.


Jo das liest man gern.
Graceland hat geschrieben:Im Portal werd ich das jetzt auch versuchen einzubauen.
Leider hab ich aber kein ezportal. Werd ich mir wohl selber was zusammenschustern müssen.
Schustern? Ich denke, der Code funktioniert so auch in deinem IM Portal.
Du kannst ja mal den Teil für den Birthday Block hierher posten.
edit: Ist es möglich, dass die Variable für das letzte Register-Datum in Version 2.0.13 anders heißt?
Halb so wild... das war nur ein Test. :D

Was fehlt, ist die Erweiterung in der functions.php

Siehe dazu auch:

http://www.phpbb.de/viewtopic.php?p=480139#480139

However, der folgende Code holt sich das newest_regdate allein...

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

//Session management
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);

//Header
$page_title = 'Update Time Control';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

//Here we go
$newest_regdate = $newest_userdata['user_regdate'];
if (!isset($newest_regdate))
{
	$sql = "SELECT user_regdate FROM " . USERS_TABLE . " WHERE user_active = 1 ORDER BY user_id DESC LIMIT 0,1";
	$result = $db->sql_query($sql);
	while ($db->sql_fetchrow($result))
	{
		$newest_regdate = $row['user_regdate'];
	}
	$db->sql_freeresult($result);
}
echo "<center>";
echo "Newest User Registration Date<br /><br />";
echo "UNIX Time: " . $newest_regdate;
echo "<br />";
echo "Time Format: " .date("d.m.Y, H:i:s", $newest_regdate);
echo "<br /></center>";

//Footer
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Kannst du ja mal testen, wie du willst... easy
Graceland
Mitglied
Beiträge: 32
Registriert: 24.03.2004 14:25

Beitrag von Graceland »

Ok. Alle Probleme dank deiner Hilfe beseitigt.

Aber der Test war fies. Er setzt voraus, dass man den ganzen Thread schon durchgelesen hat. :oops:

Aber durch den Mod, hab ich wirklich ein klein wenig Geschwindigkeitszuwachs.
Super! :)

mfg
Meine Signatur war zu groß und wurde deshalb gelöscht - Siehe phpBB.de-Knigge

??? Ich hatte meiner Meinung nach nie eine Signatur. :)
Benutzeravatar
easygo
Mitglied
Beiträge: 2170
Registriert: 03.09.2004 13:45
Kontaktdaten:

Beitrag von easygo »

Hi, es gibt ein neues Update fürs B-day Caching Addon.

- den kompletten Code findet ihr auf Seite 1 -

Code: Alles auswählen

# 
#-----[ OPEN ]--------------------------------------------- 
# 
index.php

# 
#-----[ FIND ]--------------------------------------------- 
# 
	$sql = ($board_config['birthday_check_day']) ? "SELECT user_id, username, user_birthday,user_level FROM " . USERS_TABLE. " WHERE user_birthday!=999999 ORDER BY username" : "";


# 
#-----[ REPLACE WITH ]-------------------------------------- 
#
	$sql = ($board_config['birthday_check_day']) ? "SELECT user_id, username, user_birthday,user_level FROM " . USERS_TABLE. " WHERE user_birthday!=999999 AND user_active=1 ORDER BY username" : "";


# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM
Vielen Dank nochmal an dieser Stelle für den Hinweis von
doppeldecker, dass es keinen Sinn macht, wenn im Forum die
Geburtstage von deaktiven Benutzern aufgelistet werden.

:wink: easy
Benutzeravatar
dopppeldecker
Mitglied
Beiträge: 248
Registriert: 24.10.2004 10:40
Wohnort: Erndtebrück
Kontaktdaten:

Beitrag von dopppeldecker »

Auch wenn ich ganz unbeabsichtigt geholfen habe...habe noch eine kleine Änderung: Mein Name wird mit 3 p geschrieben. :D

Ansonsten eine tolle Sache. Habe das mal direkt bei mir eingebaut und es bringt schon ein bischen was....wenn mein Forum jetzt nur nicht mehr auf die Shoutbox warten müßte. *seufz* :wink:
benchfrooser
Mitglied
Beiträge: 75
Registriert: 21.06.2006 08:55

Beitrag von benchfrooser »

Wo kann ich den Mod downloaden?
benchfrooser
Mitglied
Beiträge: 75
Registriert: 21.06.2006 08:55

Beitrag von benchfrooser »

benchfrooser hat geschrieben:Wo kann ich den Mod downloaden?
ok habe es gesehen.
Antworten

Zurück zu „phpBB 2.0: Mods in Entwicklung“