diese nachfolgende Funktion habe ich im Internet gefunden, mit der man einen ganz netten Kalender erzeugen kann... Leider stehe ich nach mehreren Versuchen, das Script umzubauen ziemlich auf dem Schlauch und hoffe, dass sich dem jemand annimmt...
- Durch die ECHO-Verwendungen im Code erfolgt die Ausgabe immer unterhalb des phpBB Headers. Dies ist natürlich für die Verwendung innerhalb von Tabellen nicht sehr sinnvoll und ich würde dies gern so ändern, dass die Ausgabe in einer 'calendar_body.tpl' an beliebiger Stelle erfolgt...
- Des weiteren würde ich gern die Monatsnamen und Namen der Tage aus der lang_main.php entnehmen, aber dies erfolgt nicht, wenn ich die $lang['.... im nachfolgenden Code angebe...
Vielleicht ist ja hier jemand so nett und baut den Calender entsprechend um, so dass man ihn in anderen phpBB Dateien nutzen kann und er so Verwendung in einigen MODs finden kann....

Danke vorab!<?php
// phpBB START
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
$page_title = "Calendar";
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
/*
$template->set_filenames(array(
'body' => 'calendar_body.tpl')
);
*/
// phpBB END
// calendar function START
function ShowMonth ($month, $year)
{
// Monatsnamen
$months = array ();
$months[0] = "Dezember";
$months[1] = "Januar";
$months[2] = "Februar";
$months[3] = "März";
$months[4] = "April";
$months[5] = "Mai";
$months[6] = "Juni";
$months[7] = "Juli";
$months[8] = "August";
$months[9] = "September";
$months[10] = "Oktober";
$months[11] = "November";
$months[12] = "Dezember";
// Tagnamen
$days = array ();
$days[0] = "So";
$days[1] = "Mo";
$days[2] = "Di";
$days[3] = "Mi";
$days[4] = "Do";
$days[5] = "Fr";
$days[6] = "Sa";
$days[7] = "So";
$now = time ();
$today = getdate ($now);
if (! $month)
{
$month = $today[mon];
}
if (! $year)
{
$year = $today[year];
}
$data[month] = $month;
$data[year] = $year;
echo '<center><TABLE border="1" cellspacing="0">';
echo '<TR><TH colspan="7" align="center">';
echo "$months[$month] $year";
echo '</TH></TR>';
echo '<TR>';
for ($i = 1; $i <= 7; $i ++)
{
echo "<TH>$days[$i]</TH>";
}
echo '</TR>';
$first = mktime (12, 0, 0, $month, 1, $year);
$date = getdate ($first);
if ($date[wday] == 0) { $date[wday] = 7; }
$offset = $date[wday] - 1;
echo "<TR>";
for ($i = 1; $i <= 7; $i ++)
{
if ($i > $offset)
{
$day = $i - $offset;
echo "<TD align=center>$day</TD>";
}
else
{
// Tage aus vorherigem Monat nicht anzeigen
echo "<TD> </TD>";
}
}
echo "</TR>";
for ($i = 8; $i <= 42; $i ++)
{
echo "<TR>";
$n = $i + 7;
for ($i; $i < $n; $i++)
{
$day = $i - $offset;
if ($day < 29)
{
echo "<TD align=center>$day</TD>";
}
else
{
$current = mktime (12, 0, 0, $month, $day, $year);
$date = getdate ($current);
if ($date[mon] == $month)
{
echo "<TD align=center>$date[mday]</TD>";
}
else
{
// Restliche Tage des Monats auffüllen
echo "<TD> </TD>";
}
}
}
$i --;
echo "</TR>";
}
echo '</TABLE></center>';
$data[month] = $month;
$data[year] = $year;
return $data;
}
// Ausgabe:
ShowMonth (0,0);
// calendar function END
// phpBB START
/*
$template->pparse('body');
*/
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
// phpBB END
?>