Seite 1 von 2

Link in overall-header.tpl zeitgesteuert

Verfasst: 09.01.2006 20:49
von Blazer
Ist es möglich einen gewissen Bereich in der overall_header.tpl zeitzusteuern?

Also das ein Link nur in einem bestimmten Zeitraum sichtbar ist?

Konkreter Fall. Ich habe mir den Casino-Mod eingebaut, und möchte da jetzt quasi Öffnungszeiten realisieren, das z.B. der Link zum Casino nur zwischen 22.00 Uhr Abends und 2.00 Uhr Nachts zu sehen ist.

mit diesen "switch"-Befehlen ist es ja möglcih gewisse Bereiche nur für bestimmte Gruppen sichtbar zu machen. Ist das auch mit Zeiten realisierbar?

Verfasst: 09.01.2006 23:20
von easygo
Versuchs mal so, ist aber ungetestet -->

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------------
#
includes/page_header.php

#
#-----[ FIND ]------------------------------------------------
#
//
// Login box?

#
#-----[ BEFORE, ADD ]-----------------------------------------
#
if ( $userdata['session_logged_in'] && ( date('G') >= 22 || date('G') <= 2) )
{
	$template->assign_block_vars('switch_enable_casino', array());
}

#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM
Damit ist der Switch in der overall_header.tpl scharf / Beispiel -->
<!-- BEGIN switch_enable_casino -->
<a href="{U_LINK}">{L_LINK}</a>
<!-- END switch_enable_casino -->
vars musst du halt noch anpassen, ich kenn die Casino MOD nicht. easy

Verfasst: 09.01.2006 23:49
von Blazer
also der Link verschwindet sobald ich in zwischen den Switch setze, aber er erscheint dann nicht um die eingestellte Zeit :(

Verfasst: 10.01.2006 00:02
von easygo
easygo hat geschrieben:Damit ist der Switch in der overall_header.tpl scharf / Beispiel -->
Login vorausgesetzt! :wink:

Wenns keine Rolle spielt, dann langts auch so -->

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------------
#
includes/page_header.php

#
#-----[ FIND ]------------------------------------------------
#
//
// Login box?

#
#-----[ BEFORE, ADD ]-----------------------------------------
#
if ( date('G') >= 22 || date('G') <= 2 )
{
	$template->assign_block_vars('switch_enable_casino', array());
}

#
#-----[ SAVE/CLOSE ALL FILES ]--------------------------------
#
# EoM
Habs grad mit was anderem getestet, scheint zu funktionieren. easy

Verfasst: 10.01.2006 00:06
von Blazer
wie gibt man denn das Zeitformat an?

habe eben getestet 2335 bis 2340
das klappt aber nicht :(

Verfasst: 10.01.2006 00:12
von easygo
Blazer hat geschrieben:habe eben getestet 2335 bis 2340
das klappt aber nicht :(
Wie auch? :roll: G steht nur für die Stunde (24h Format ohne führende 0)

http://de2.php.net/manual/de/function.date.php

Verfasst: 10.01.2006 00:16
von Blazer
und wie müsste ich das G ersetzen damit ich eine minutengenaue Zeit einstellen kann? z.B. 23:35 Uhr bis 23:40 Uhr

Wäre das dann Gi ?

Verfasst: 10.01.2006 00:24
von kolja

Code: Alles auswählen

if ( date('G') >= 22 || date('G') <= 2 ) 
bedeutet:

date(G) gibt die die aktuelle stunde in den zahlen von 0 (mitternacht) bis 23 aus

wenn die zahl grösser als 22 oder kleiner 2 ist dann:

Code: Alles auswählen

   $template->assign_block_vars('switch_enable_casino', array()); 
also bei dem code wie er beschrieben steht kannst du nur stunden auswählen


kolja

edit:
hab deinenletzten beitrag nicht gesehen...

versuche es doch mal so:

Code: Alles auswählen

if (( date('G') >= 22 || date('G') <= 2) && ( date('i') >= 35 || date('i') <= 40) )
{
   $template->assign_block_vars('switch_enable_casino', array());
}
oder klappt das wegen der führenden nullen nicht...

Verfasst: 10.01.2006 00:28
von Blazer
wie müsste den der Code lauten wenn ich das minutengenau machen wollte wie in meinem letzten Post beschrieben?

Verfasst: 10.01.2006 00:29
von easygo
Blazer hat geschrieben:und wie müsste ich das G ersetzen damit ich eine minutengenaue Zeit einstellen kann? z.B. 23:35 Uhr bis 23:40 Uhr
dann so -->

Code: Alles auswählen

if ( date('Gi') >= 2335 && date('Gi') <= 2340 )
Btw: Man kanns aber auch übertreiben, Kinners :wink: n8 easy