source: sandbox/calendar/ajax_calendar/expressoCalendar/inc/class.uixmlcalendar.inc.php @ 632

Revision 632, 3.6 KB checked in by niltonneto, 12 years ago (diff)

Modulo calendar_new renomeado para expressoCalendar

Line 
1<?php
2
3
4 class UIXMLCalendar{
5       
6        function UIXMLCalendar(){
7                // Domingo = 0 -> Sabado = 6           
8                $this -> daysofweek     = array ("Dom ", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado");
9                $this -> workweekstarts = 0;
10                $this -> workweekends   = 6;
11                $this -> workdaystarts  = 8;
12                $this -> workdayends    = 19;
13                $this -> weekDate = array();
14               
15               
16        }
17        function getUserCalendar($type,$date, $userId){                 
18                $calendarUser = array  (
19                        "20071008" => array(
20                                "0900" => "Cafe da Manha",
21                                "1100" => "Lanche da Manhã",
22                                "1600" => "Almoco Executivo",
23                                "1500" => "Cafe da Tarde"                               
24                        ),
25                        "20071009" => array(),
26                        "20071126" => array(
27                                "0800" => "Cafe da Manha",
28                                "1000" => "Lanche da Manhã",
29                                "1200" => "Almoco Executivo",
30                                "1530" => "Cafe da Tarde",
31                                "1800" => "Hora de ir embora"                           
32                        ),             
33                        "20071011" => array(),
34                        "20071012" => array(),
35                        "20071013" => array(
36                                "1000" => "Cafe da Manha",                             
37                                "1400" => "Almoco Executivo",
38                                "1700" => "Cafe da Tarde",
39                        ),
40                        "20071014" => array()   
41                );
42                if($type == 'week')                             
43                        return $calendarUser;
44                elseif($type == 'day')
45                        return $calendarUser[$date];
46        }
47                                       
48        function getWorkDay($date){     
49                $workday = '';         
50                for($i = $this->workdaystarts; $i <= $this->workdayends; $i = $i + 0.5){
51                        if($i == intval($i))                   
52                                $workday.= "<workday><timeid>".($i < 10 ? "0" : "").intval($i)."00</timeid><hour>".($i < 10 ? "0" : "").intval($i).":00</hour></workday>";
53                        else   
54                                $workday.= "<workday><timeid>".($i < 10 ? "0" : "").intval($i)."30</timeid><hour>".($i < 10 ? "0" : "").intval($i).":30</hour></workday>";
55                }               
56                return $workday;
57        }
58       
59        function getWorkWeek(){                                                 
60                $workweek = '';
61                for($i = $this->workweekstarts; $i <= $this->workweekends; $i++){                       
62                        $workweek.= "<workweek><dayid>".$this -> weekDate[$i]."</dayid><dayofweek>".$this->daysofweek[$i]."</dayofweek></workweek>";
63                }               
64                return $workweek;
65        }       
66       
67        function getViewDay($params){
68                $userId = $params['userId'];
69                $date = $params['date'];
70                $calendarUser = $this->getUserCalendar('day',$date, $userId);                           
71                $return = "<today>$date</today>";
72               
73                if($calendarUser) {
74                        foreach($calendarUser as $time => $title) {
75                                $return.= "<hourofday><timeid>$date$time</timeid><title>$title</title></hourofday>";
76                        }                       
77                }   
78                               
79                return $return.$this->getWorkDay($date);
80        }       
81       
82        function getViewWeek($params){
83                $userId = $params['userId'];
84                $date = $params['date'];                       
85                $tstamp=mktime(0,0,0,substr($date,4,2),substr($date,6,2),substr($date,0,4));
86            $Tdate = getdate($tstamp);
87                $calendarUser = $this->getUserCalendar('week',$date, $userId);
88                $return = "<today>$date</today>";                               
89                   
90            for ($dayofweek = 0; $dayofweek < 7; $dayofweek++){                 
91                        $offset = $Tdate['wday'] - $dayofweek;
92                        $weekday = getdate($tstamp - ($offset*86400));
93                        $this -> weekDate[$dayofweek] = $weekday['year'].($weekday['mon'] < 10 ? "0" : "" ).$weekday['mon'].($weekday['mday'] < 10 ? "0" : "" ).$weekday['mday'];
94                        if($calendarUser[$this -> weekDate[$dayofweek]]) {
95                                foreach($calendarUser[$this -> weekDate[$dayofweek]] as $time => $title) {
96                                        $return.= "<hourofday><datetime>".$this -> weekDate[$dayofweek]."$time</datetime><title>$title</title></hourofday>";
97                                }                       
98                        }                               
99            }
100                return $return.$this->getWorkDay($date).$this->getWorkWeek($date);
101        }       
102       
103        function getViewMonth($params){
104                $userId = $params['userId'];           
105                return '';
106        }
107        function getViewYear($params){
108                $userId = $params['userId'];                   
109                return '';
110        }
111 }
112?>
Note: See TracBrowser for help on using the repository browser.