Automatische Umstellung Sommer / Winter -Zeit

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 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
YoshiOWL
Mitglied
Beiträge: 203
Registriert: 01.06.2006 21:28

Automatische Umstellung Sommer / Winter -Zeit

Beitrag von YoshiOWL »

das folgende Script sorgt für eine Automatische umstellung der Sommer / Winter Zeit.
Dabei werden zwei Punkte beachtet.
1.) Der User kommt aus einer Betroffenen Zeitzone (1.00)
2.) Das Board liegt in der Zeitzone (1)

Da das Script prüft, ob eine umstellung erfolgte, oder ob diese erwünscht ist, kann man es DIREKT in die index.php, portal.php, oder in dem man es zu einer function umschreibt, in die "/includes/function.php" einbauen.

Code: Alles auswählen

function auth_dst_switch()
{
	HIER HINN DER 2. CODE
	
	return true;
}

Code: Alles auswählen

<?php
/** 
*
* @package phpBB3
* @version $Id: magic_auth_dst_switch.php,v 1.0.0 2008/03/30 12:35:00 yoserv Exp $
* @copyright (c) 2008 phpbb3-magic.de
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/

/**
* @ignore
*/
if (date("m",strtotime("5 sunday", mktime(0,0,0,3,1,date("y")))) == 3)
{
	if (date("m") == date("n",strtotime("5 sunday", mktime(0,0,0,3,1,date("y"))))
	&& date("d") == date("j", strtotime("5 sunday", mktime(0,0,0,3,1,date("y"))))
	OR (date("m") == date("n",strtotime("4 sunday", mktime(0,0,0,3,1,date("y"))))
	&& date("d") == date("j", strtotime("4 sunday", mktime(0,0,0,3,1,date("y"))))))
	{
		if ($config['board_timezone'] == 1 && $config['board_dst'] == 0)
		{
			set_config('board_dst', '1');

			$sql = 'UPDATE ' . USERS_TABLE . "
				SET user_dst = '1'
				WHERE user_timezone = '1.00'";
			$db->sql_query($sql);

		}
	}
}
if (date("m",strtotime("5 sunday", mktime(0,0,0,10,1,date("y")))) == 3)
{
	if (date("m") == date("n",strtotime("5 sunday", mktime(0,0,0,10,1,date("y"))))
	&& date("d") == date("j", strtotime("5 sunday", mktime(0,0,0,10,1,date("y"))))
	OR (date("m") == date("n",strtotime("4 sunday", mktime(0,0,0,10,1,date("y"))))
	&& date("d") == date("j", strtotime("4 sunday", mktime(0,0,0,10,1,date("y"))))))
	{
		if ($config['board_timezone'] == 1 && $config['board_dst'] == 1)
		{
			set_config('board_dst', '0');

			$sql = 'UPDATE ' . USERS_TABLE . "
				SET user_dst = '0'
				WHERE user_timezone = '1.00'";
			$db->sql_query($sql);
		}
	}
}

?>
Ich bin mir sicher, das ich was übersehen habe.
Ich hab nur noch nicht gesehen wo.
YoshiOWL
Mitglied
Beiträge: 203
Registriert: 01.06.2006 21:28

Re: Automatische Umstellung Sommer / Winter -Zeit

Beitrag von YoshiOWL »

Zusatzinfo:
Da das Script ja nur am Umstellungstag, bez. dem Tag danach arbeitet,
bleibt es bis zur nächsten Umstellung Passiv.

Wer aber sein Board noch nicht umgestellt hat, und es nachholen will, der kommt mit der folgenden verkürzten version zum Erfolg.

Code: Alles auswählen

<?php
/** 
*
* @package phpBB3
* @version $Id: magic_auth_dst_switch.php,v 1.0.0 2008/03/30 12:35:00 yoserv Exp $
* @copyright (c) 2008 phpbb3-magic.de
* @license http://opensource.org/licenses/gpl-license.php GNU Public License 
*
*/

/**
* @ignore
*/
		if ($config['board_timezone'] == 1 && $config['board_dst'] == 0)
		{
			set_config('board_dst', '1');

			$sql = 'UPDATE ' . USERS_TABLE . "
				SET user_dst = '1'
				WHERE user_timezone = '1.00'";
			$db->sql_query($sql);

		}

?>
Ich bin mir sicher, das ich was übersehen habe.
Ich hab nur noch nicht gesehen wo.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Ein sehr wichtiger Mod :grin:

thx dafür :wink:
Benutzeravatar
BaerchenHH
Mitglied
Beiträge: 1067
Registriert: 29.02.2008 01:42
Wohnort: Hamburg

Beitrag von BaerchenHH »

finde ich auch...

aber sorry, wo genau soll jetzt der Code eigefügt werden?
Der DAU in mir hat heute etwas zur Begriffstutzigkeit beigetragen :oops:

Auch frage ich mich gerade, was mit "ob eine umstellung erfolgte, oder ob diese erwünscht ist" genau gemeint ist... Wird jeder User separat durch Frage & Antwort umgestellt?
Meistens sitzt der Fehler nicht im Computer, sondern davor... :D :D

Das Diskussionsforum für Schule und Bildung: http://www.SchulBildungsForum.de
YoshiOWL
Mitglied
Beiträge: 203
Registriert: 01.06.2006 21:28

Beitrag von YoshiOWL »

BaerchenHH hat geschrieben:finde ich auch...

aber sorry, wo genau soll jetzt der Code eigefügt werden?
Der DAU in mir hat heute etwas zur Begriffstutzigkeit beigetragen :oops:

Auch frage ich mich gerade, was mit "ob eine umstellung erfolgte, oder ob diese erwünscht ist" genau gemeint ist... Wird jeder User separat durch Frage & Antwort umgestellt?
Ich gehe mal vom Vollständigen Script aus (1.Posting)
Dieses Script (zweiter CODE-Block) fühgst du in die "index.php" ein
Dazu suche den Eintrag

Code: Alles auswählen

// Output page
Und davor fügst Du dann das Script ein.

Nun zur zweiten frage
Mit Erwünscht ist gemeind!

Wenn Du User hast, die z.B. aus England kommen, so möchte er ja nicht, das bei Umstellung der Sommer / Winter-Zeit sein Profil berücksichtigt wird. (In England gibt es ja keine Zeitumstellung)
Und genau das fragt der MOD ja ab.
Damit das MOD aber auch nicht JEDEN Tag erneut die Daten ändern soll, wird dazu noch Geprüft, ob das Board schon Umgestellt worden ist.
In diesem fall braucht es ja nicht noch einmal gemacht werden.
Na und dann wird auch noch geprüft, ob überhaupt der Letzte Sa im März (Sommerzeit) oder der Letzte Sa im Oktober (Winterzeit) erreicht ist.
Ist das nicht der fall, darf auf keinem fall umgestellt werden.

Ich hoffe einmal, das dir das nun Verständlich ist.
Ich bin mir sicher, das ich was übersehen habe.
Ich hab nur noch nicht gesehen wo.
Benutzeravatar
BaerchenHH
Mitglied
Beiträge: 1067
Registriert: 29.02.2008 01:42
Wohnort: Hamburg

Beitrag von BaerchenHH »

Jo, denke schon, wenn nicht ... ich schlaf da nochmal drüber :D

Ich habs jedenfalls mal eben eingefügt und hoffe, daß ich in Bezug auf die Umsetzung des Scriptes richtig denke :wink:

Danke
Meistens sitzt der Fehler nicht im Computer, sondern davor... :D :D

Das Diskussionsforum für Schule und Bildung: http://www.SchulBildungsForum.de
Benutzeravatar
Saber_Rider
Mitglied
Beiträge: 101
Registriert: 21.12.2003 18:27

Beitrag von Saber_Rider »

Was für eine Bedeutung hat

Code: Alles auswählen

/**
* @ignore
*/
Wird das von phpbb zu irgendwas ausgewertet oder was soll das?
YoshiOWL
Mitglied
Beiträge: 203
Registriert: 01.06.2006 21:28

Beitrag von YoshiOWL »

Da es nicht meine Erfindung ist, müsste man die Frage einmal an die phpBB-Group weiter reichen.

Ich kann mir aber vorstellen, das es ein ANKER ist.
So könnte z.B. ein php-script ein anderes öffnen, diesen Anker suchen um davor, oder dahinter, das script zu erweitern.
Ich bin mir sicher, das ich was übersehen habe.
Ich hab nur noch nicht gesehen wo.
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17405
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Beitrag von Dr.Death »

Der @ignore Block hat etwas mit dem phpDocumentor zu tun:

http://manual.phpdoc.org/HTMLSmartyConv ... e.pkg.html
Antworten

Zurück zu „[3.0.x] Mods in Entwicklung“