Hi,
I use this calendar in french.
For this :
Super_Calendar.js
function showJump(obj) {
var curleft = curtop = 0;
if (obj.offsetParent) {
curleft = obj.offsetLeft
curtop = obj.offsetTop
while (obj = obj.offsetParent) {
curleft += obj.offsetLeft
curtop += obj.offsetTop
}
}
var jump = document.createElement("div");
jump.setAttribute("id","jump");
jump.style.position = "absolute";
jump.style.top = curtop+15+"px";
jump.style.left = curleft+"px";
var output = '<select id="month">\n';
var months = new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
var n;
for(var i=0;i<12;i++) {
n = ((i+1)<10)? '0'+(i+1):i+1;
n = i+1;
output += '<option value="'+n+'">'+months[i]+' </option>\n';
}
output += '</select> \n<select id="year">\n';
madate=new Date();
deb=madate.getFullYear()-5;
fin=madate.getFullYear()+5;
for(var i=deb;i<=fin;i++) {
n = (i<10)? '0'+i:i;
output += '<option value="'+n+'"';
if (n==madate.getFullYear()) {
output +=' SELECTED ';
}
output +='>'+n+' </option>\n';
}
output += '</select> <a href="javascript:jumpTo()"><img src="/calendar/images/calGo.gif" alt="go" /></a> <a href="javascript:hideJump()"><img src="/calendar/images/calStop.gif" alt="close" /></a>';
jump.innerHTML = output;
document.body.appendChild(jump);
}
Super_Calendar.php
<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT" );
header("Cache-Control: no-cache, must-revalidate" );
header("Pragma: no-cache" );
header("Content-Type: text/xml; charset=ISO-8859-1");
header("Content-Language content='fr'");
//////////////////////////////////////
// set these variables for your MySQL
$dbhost = 'localhost'; // usually localhost
$dbuser = 'root'; // database username
$dbpass = ''; // database password
//////////////////////////////////////
$db = @mysql_connect($dbhost, $dbuser, $dbpass) or die ("<?xml version=\"1.0\" ?><response><content><![CDATA[<span class='error'>Database connection failed.</span>]]></content></response>");
mysql_select_db('calendar');
$xml = '<?xml version="1.0" ?><response><content><![CDATA[';
if($_GET['event'] != '') {
$fields = explode("-",$_GET['event']);
$result = mysql_query("SELECT *,DATE_FORMAT(`date`,'%b %e, %Y at %l:%i%p') as thedate,DATE_FORMAT(`date`,'%c') as themonth,DATE_FORMAT(`date`,'%Y') as theyear FROM `events` WHERE YEAR(`date`) = ".$fields[0]." AND MONTH(`date`) = ".$fields[1]." AND DAYOFMONTH(`date`) = ".$fields[2]." ORDER BY `num` ASC");
$i = 0;
while($row = mysql_fetch_array($result)) {
$xml .= "<div id='event'";
if($i < (mysql_num_rows($result)-1)) $xml .= " style='border-bottom:none'";
$xml .= "><div class='heading'><div class='title'>".$row['heading']."</div><div class='posted'>".$row['thedate']."</div>";
if($i == 0) $xml .= "<div class='back'><a href='javascript:navigate(".$row['themonth'].",".$row['theyear'].",\"\")'>Return to calendar</a></div>";
$xml .= "</div><div class='line'>".$row['body']."</div><br /></div><br />";
$i++;
}
} else {
$month = $_GET['month'];
$year = $_GET['year'];
if($month == '' && $year == '') {
$time = time();
$month = date('n',$time);
$year = date('Y',$time);
}
$date = getdate(mktime(0,0,0,$month,1,$year));
$today = getdate();
$hours = $today['hours'];
$mins = $today['minutes'];
$secs = $today['seconds'];
if(strlen($hours)<2) $hours="0".$hours;
if(strlen($mins)<2) $mins="0".$mins;
if(strlen($secs)<2) $secs="0".$secs;
$days=date("t",mktime(0,0,0,$month,1,$year));
$start = $date['wday'];
if ($start==0) {$start=7;}
$tab_mois = array("","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
$name = $tab_mois[$month];
$year2 = $date['year'];
$offset = $days + $start - 1;
if($month==12) {
$next=1;
$nexty=$year + 1;
} else {
$next=$month + 1;
$nexty=$year;
}
if($month==1) {
$prev=12;
$prevy=$year - 1;
} else {
$prev=$month - 1;
$prevy=$year;
}
if($offset <= 28) $weeks=28;
elseif($offset > 35) $weeks = 42;
else $weeks = 35;
$xml .= "<table class='cal' cellpadding='0' cellspacing='1'>
<tr>
<td colspan='7' class='calhead'>
<table>
<tr>
<td>
<a href='javascript:navigate($prev,$prevy,\"\")' style='border:none'><img src='/calendar/images/calLeft.gif' alt='prev' /></a> <a href='javascript:navigate(\"\",\"\",\"\")' style='border:none'><img src='/calendar/images/calCenter.gif' alt='current' /></a> <a href='javascript:navigate($next,$nexty,\"\")' style='border:none'><img src='/calendar/images/calRight.gif' alt='next' /></a> <a href='javascript:void(0)' onClick='showJump(this)' style='border:none'><img src='/calendar/images/calDown.gif' alt='jump' /></a>
</td>
<td align='right'>
$name $year2
</td>
</tr>
</table>
</td>
</tr>
<tr class='dayhead'>
<td>Lun</td>
<td>Mar</td>
<td>Mer</td>
<td>Jeu</td>
<td>Ven</td>
<td>Sam</td>
<td>Dim</td>
</tr>";
$col=1;
$cur=1;
$next=0;
for($i=1;$i<=$weeks;$i++) {
if($next==3) $next=0;
if($col==1) $xml.="\n<tr class='dayrow'>";
$xml.="\t<td valign='top' onMouseOver=\"this.className='dayover'\" onMouseOut=\"this.className='dayout'\">";
if($i <= ($days+($start-1)) && $i >= $start) {
$xml.="<div class='day'><b";
if(($cur==$today['mday']) && ($month==$today['mon']) && ($year2==$today['year'])) $xml.=" style='color:#C00'";
$xml.=">$cur</b></div>";
$result = mysql_query("SELECT DATE_FORMAT(`date`,'%Y-%m-%e') FROM `events` WHERE MONTH(`date`)=".$month." AND DAYOFMONTH(`date`)=$cur AND YEAR(`date`)=$year2");
if(mysql_num_rows($result) > 0) {
$row = mysql_fetch_row($result);
$xml.="<div class='calevent'><a href='javascript:navigate(\"\",\"\",\"".$row[0]."\")'>Event</a></div>";
}
$xml.="\n\t</td>\n";
$cur++;
$col++;
} else {
$xml.=" \n\t</td>\n";
$col++;
}
if($col==8) {
$xml.="\n</tr>\n";
$col=1;
}
}
$xml.="</table>";
}
$xml .= "]]></content></response>";
echo $xml;
?>
Bye