Example #1
0
 public function getCalendar()
 {
     date_default_timezone_set("Europe/Madrid");
     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=utf-8");
     $xml = '<?xml version="1.0" ?><response><content><![CDATA[';
     if (Request::getGetParam("event") != '') {
         //TODO: Write in a future some element to get events from the database
     } else {
         $month = 0;
         $year = 0;
         $event = 0;
         $params = Request::getParameters();
         if (isset($params["month"])) {
             $month = $params["month"]["value"];
         }
         if (isset($params["year"])) {
             $year = $params["year"]["value"];
         }
         if (isset($params["event"])) {
             $event = $params["event"]["value"];
         }
         if ($month == "1") {
             $time = time();
             $month = date("n", $time);
         }
         if ($year == "1") {
             $time = time();
             $year = date('Y', $time);
         }
         $month = intval($month);
         $year = intval($year);
         $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'];
         $name = $date['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;
         }
         switch ($name) {
             case "January":
                 $aname = _("Enero");
                 break;
             case "February":
                 $aname = _("Febrero");
                 break;
             case "March":
                 $aname = _("Marzo");
                 break;
             case "April":
                 $aname = _("Abril");
                 break;
             case "May":
                 $aname = _("Mayo");
                 break;
             case "June":
                 $aname = _("Junio");
                 break;
             case "July":
                 $aname = _("Julio");
                 break;
             case "August":
                 $aname = _("Agosto");
                 break;
             case "September":
                 $aname = _("Septiembre");
                 break;
             case "October":
                 $aname = _("Octubre");
                 break;
             case "November":
                 $aname = _("Noviembre");
                 break;
             case "December":
                 $aname = _("Diciembre");
                 break;
         }
         $xml .= "<table class='cal' cellpadding='0' cellspacing='1'>\n                    <tr>\n                        <td colspan='7' class='calhead'>\n                            <table>\n                            <tr>\n                                <td>\n                                    <a href='javascript:navigate({$prev},{$prevy},\"\")' style='border:none'><img src='" . BASE_URL . "style/default/images/calLeft.gif' alt='prev' /></a> <a href='javascript:navigate(\"\",\"\",\"\")' style='border:none'><img src='" . BASE_URL . "style/default/images/calCenter.gif' alt='current' /></a> <a href='javascript:navigate({$next},{$nexty},\"\")' style='border:none'><img src='" . BASE_URL . "style/default/images/calRight.gif' alt='next' /></a> <a href='javascript:void(0)' onClick='showJump(this)' style='border:none'><img src='" . BASE_URL . "style/default/images/calDown.gif' alt='jump' /></a>\n                                </td>\n                                <td align='right' class='monthHead'>\n                                    {$aname} {$year2}\n                                </td>\n                            </tr>\n                            </table>\n                        </td>\n                    </tr>\n                    <tr class='dayhead'>\n                        <td>" . _("L") . "</td>\n                        <td>" . _("M") . "</td>\n                        <td>" . _("X") . "</td>\n                        <td>" . _("J") . "</td>\n                        <td>" . _("V") . "</td>\n                        <td>" . _("S") . "</td>\n                        <td>" . _("D") . "</td>\n                    </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) {
                 if ($cur == $today["mday"] && $name == $today["month"] && $year2 == $today["year"]) {
                     $xml .= "<div class='day'><b style='color:#C00'>{$cur}</b></div>";
                 } else {
                     $xml .= "<div class='day'><b";
                     $xml .= ">{$cur}</b></div>";
                 }
                 //$xml.="<div class='calevent'><a href='javascript:navigate(\"\",\"\",\"".$row[0]."\")'>Event</a></div>";
                 $xml .= "\n\t</td>\n";
                 $cur++;
                 $col++;
             } else {
                 $xml .= "&nbsp;\n\t</td>\n";
                 $col++;
             }
             if ($col == 8) {
                 $xml .= "\n</tr>\n";
                 $col = 1;
             }
         }
         $xml .= "</table>";
     }
     $xml .= "]]></content></response>";
     print $xml;
 }