Dieses Plugin verwendet keine setlocal - Einstellung und kann zudem leicht auf andere Sprachen geändert werden.
Eigentlich ist es ein Abfallprodukt aus dem Kalender - Modul.
Code: Select all
<?php
function smarty_cms_function_aktuelles_datum($params, &$smarty) {
$kls['m1'] ='Januar';
$kls['m2'] ='Februar';
$kls['m3'] ='März';
$kls['m4'] ='April';
$kls['m5'] ='Mai';
$kls['m6'] ='Juni';
$kls['m7'] ='Juli';
$kls['m8'] ='August';
$kls['m9'] ='September';
$kls['m10'] ='Oktober';
$kls['m11'] ='November';
$kls['m12'] ='Dezember';
$kls['ms1'] ='Jan';
$kls['ms2'] ='Feb';
$kls['ms3'] ='Mär';
$kls['ms4'] ='Apr';
$kls['ms5'] ='Mai';
$kls['ms6'] ='Jun';
$kls['ms7'] ='Jul';
$kls['ms8'] ='Aug';
$kls['ms9'] ='Sep';
$kls['ms10'] ='Okt';
$kls['ms11'] ='Nov';
$kls['ms12'] ='Dez';
$kls['d0'] ='Sonntag';
$kls['d1'] ='Montag';
$kls['d2'] ='Dienstag';
$kls['d3'] ='Mittwoch';
$kls['d4'] ='Donnerstag';
$kls['d5'] ='Freitag';
$kls['d6'] ='Samstag';
$kls['ds0'] ='So';
$kls['ds1'] ='Mo';
$kls['ds2'] ='Di';
$kls['ds3'] ='Mi';
$kls['ds4'] ='Do';
$kls['ds5'] ='Fr';
$kls['ds6'] ='Sa';
$kls['datumsformat'] ='%l , der %j.%F %Y %G:%i';
if(empty($params['format']))
$f = $kls['datumsformat'];
else
$f = $params['format'];
// Zugelassene Parameter im Formatstring aus der Sprachdatei
// % D Tag der Woche als Wort mit zwei Buchstaben Mo bis So
// %l (kleines 'L') Ausgeschriebener Tag der Woche Sonntag bis Sonnabend
// % F Monat als ganzes Wort, wie Januar oder März Januar bis Dezember
// %M Monatsname in Kurzform
// %n Monatszahl, ohne führende Nullen 1 bis 12
// %j Tag des Monats ohne führende Nullen 1 bis 31
// %Y Vierstellige Jahreszahl Beispiel: 1999 oder 2003
// %G Die Stunde der Uhrzeit (24 Std . Format)
// %i Die Minute der Uhrzeit
$d=time();
$day = date('j', $d);
$month = date('n', $d);
$year = date('Y', $d);
$daynumber= date ('w', $d);
$hour= date('G', $d);
$minute= date('i', $d);
$Prozent_D= $kls['ds'.$daynumber];
$Prozent_l=$kls['d'.$daynumber];
$Prozent_F=$kls['m'.$month];
$Prozent_M=$kls['ms'.$month];
$f=str_replace('%D',$Prozent_D,$f);
$f=str_replace('%l',$Prozent_l,$f);
$f=str_replace('%F',$Prozent_F,$f);
$f=str_replace('%M',$Prozent_M,$f);
$f=str_replace('%n',$month,$f);
$f=str_replace('%j',$day,$f);
$f=str_replace('%Y',$year,$f);
$f=str_replace('%G',$hour,$f);
$f=str_replace('%i',$minute,$f);
return $f;
}
function smarty_cms_help_function_aktuelles_datum() {
?>
<h3>Was macht dieses Plugin?</h3>
<p>Es gibt das aktuelle Datum und die Zeit in deutsch aus. Wird keine Format angegeben, dann erfolgt die Ausgabe nach diesem Muster :Samstag , der 28.Mai 2005 15:33 </p>
<p>Das besondere ist, das die Setlocal-Einstellung des Webservers keine Rolle spielt und die Werte auf jeden Fall in deutsch ausgegeben werden.</p>
<h3>Wie wird es eingesetzt?</h3>
<p>Den Tag in eine Seite oder in das Template einsetzen, wie hier: <code>{aktuelles_datum format='%l , der %j.%F %Y %G:%i'}</code></p>
<h3>Welche Parameter gibt es?</h3>
<p> format='%l , der %j.%F %Y %G:%i'</p>
<p>Es können folgende Werte eingesetzt werden:</p>
<ul><li> %D Tag der Woche als Wort mit zwei Buchstaben Mo bis So</li>
<li> %l (kleines 'L') Ausgeschriebener Tag der Woche Sonntag bis Sonnabend</li>
<li> %F Monat als ganzes Wort, wie Januar oder März Januar bis Dezember</li>
<li> %M Monatsname in Kurzform</li>
<li> %n Monatszahl, ohne führende Nullen 1 bis 12</li>
<li> %j Tag des Monats ohne führende Nullen 1 bis 31</li>
<li> %Y Vierstellige Jahreszahl Beispiel: 1999 oder 2003</li>
<li> %G Die Stunde der Uhrzeit (24 Std . Format)</li>
<li> %i Die Minute der Uhrzeit</li></ul>
<p>Die Texte zwischen den Platzhaltern %Platzhalter spielen keine Rolle.</p>
<p>Wer die Ausgabe in einer anderen Sprache haben möchte, der muss die Werte der Variablen $kls im Script ändern.</p>
<?php
}
function smarty_cms_about_function_aktuelles_datum() {
?>
<p>Autor: Jan Czarnowski<piratos@coftware.de></p>
<p>Version: 1.0</p>
<p>
Change History:<br/>
Nichts vorhanden
</p>
<?php
}
?>