Hier ein Code-Schnipsel, den ich so schon verwendet habe:
Code: Alles auswählen
$sql = "SELECT username, user_id, user_birthday
FROM " . USERS_TABLE . "
WHERE user_birthday <> '999999'
ORDER BY username";
if( ($result = $db->sql_query($sql)) )
{
$i = 0;
while ( $row = $db->sql_fetchrow($result))
{
$username[$i] = $row['username'];
$user_id[$i] = $row['user_id'];
$user_birthday[$i] = realdate($cal_config['cal_dateformat'], $row['user_birthday']);
$birthday[$i] = realdate('m d', $row['user_birthday']);
$i++;
}
Und die Funktion realdate (ist im calendar mod enthalten):
Code: Alles auswählen
function realdate($date_syntax="Ymd",$date=0)
{
global $lang;
$i=2;
if ($date>=0)
{
return create_date($date_syntax,$date*86400+1,0);
} else
{
$year= -(date%1461);
$days = $date + $year*1461;
while ($days<0)
{
$year--;
$days+=365;
if ($i++==3)
{
$i=0;
$days++;
}
}
}
$leap_year = ($i==0) ? TRUE : FALSE;
$months_array = ($i==0) ?
array (0,31,60,91,121,152,182,213,244,274,305,335,366) :
array (0,31,59,90,120,151,181,212,243,273,304,334,365);
for ($month=1;$month<12;$month++)
{
if ($days<$months_array[$month]) break;
}
$day=$days-$months_array[$month-1]+1;
//you may gain speed performance by remove som of the below entry's if they are not needed/used
return strtr ($date_syntax, array(
'a' => '',
'A' => '',
'\\d' => 'd',
'd' => ($day>9) ? $day : '0'.$day,
'\\D' => 'D',
'D' => $lang['day_short'][($date-3)%7],
'\\F' => 'F',
'F' => $lang['month_long'][$month-1],
'g' => '',
'G' => '',
'H' => '',
'h' => '',
'i' => '',
'I' => '',
'\\j' => 'j',
'j' => $day,
'\\l' => 'l',
'l' => $lang['day_long'][($date-3)%7],
'\\L' => 'L',
'L' => $leap_year,
'\\m' => 'm',
'm' => ($month>9) ? $month : '0'.$month,
'\\M' => 'M',
'M' => $lang['month_short'][$month-1],
'\\n' => 'n',
'n' => $month,
'O' => '',
's' => '',
'S' => '',
'\\t' => 't',
't' => $months_array[$month]-$months_array[$month-1],
'w' => '',
'\\y' => 'y',
'y' => ($year>29) ? $year-30 : $year+70,
'\\Y' => 'Y',
'Y' => $year+1970,
'\\z' => 'z',
'z' => $days,
'\\W' => '',
'W' => '') );
}
Das kann beliebig eingebaut werden. Die Funktion habe ich in includes/function.php untergebracht, das Auslesen der Geburtstage kann irgendwo anders eingebaut werden.
Poste mal einen Link zu Kalender-Datei als Textfile. Dann kann ich mal sehen, wo ich das reinbasteln kann.
OXPUS