- Timestamp:
- 09/18/08 15:18:00 (16 years ago)
- Location:
- trunk/calendar_new
- Files:
-
- 1 added
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/calendar_new/inc/class.uicalendar.inc.php
r429 r437 129 129 } 130 130 function getViewMonth () { 131 $todayTime = strtotime(date('Y-m-d', time())); 132 $retorno = "<today>".date('Ydm', time())."</today>"; 131 $monthViewTime = isset ($_REQUEST["time"]) ? strtotime(substr($_REQUEST["time"],0,4)."-".substr($_REQUEST["time"],6,2)."-".substr($_REQUEST["time"],4,2)) : strtotime(date('Y-m-d', time())); 132 133 $todayTime = strtotime(date('Y-m', $monthViewTime)."-01"); 134 $retorno = "<today>".date('Ydm', $monthViewTime)."</today>"; 133 135 134 136 $fromBo = $this->db_obj->requestMonthCal($todayTime); 135 136 for ($i=1;$i<=date('t');$i+=7){ 137 $retorno.= "<workWeek>"; 138 $retorno.= "<workday><id>".date('Y').($i<10?"0":"").$i.date('m')."0000</id></workday>"; 139 $retorno.= "<workday><id>".date('Y').($i<9?"0":"").($i+1).date('m')."0000</id></workday>"; 140 $retorno.= "<workday><id>".date('Y').($i<8?"0":"").($i+2).date('m')."0000</id></workday>"; 141 $retorno.= "<workday><id>".date('Y').($i<7?"0":"").($i+3).date('m')."0000</id></workday>"; 142 $retorno.= "<workday><id>".date('Y').($i<6?"0":"").($i+4).date('m')."0000</id></workday>"; 143 $retorno.= "<workday><id>".date('Y').($i<5?"0":"").($i+5).date('m')."0000</id></workday>"; 144 $retorno.= "<workday><id>".(date('Y').($i<4?"0":"").$i+6).date('m')."0000</id></workday>"; 145 $retorno.= "</workWeek>"; 137 138 for ($i=1;$i<=date('t',$monthViewTime);$i++){ 139 if (($i % 7) == 1) 140 $retorno .= "<workWeek>"; 141 $retorno .= "<workday><id>".date('Y',$monthViewTime).($i<10?"0":"").$i.date('m',$monthViewTime)."0000</id></workday>"; 142 if (($i % 7) == 0) 143 $retorno .= "</workWeek>"; 146 144 } 147 148 for($i = $this->workweekstarts; $i <= $this->workweekends; $i++){ 145 if (($i % 7) <= 6) 146 $retorno .= "</workWeek>"; 147 148 $currentWeekDay = date('w', $monthViewTime); 149 150 for($i = $this->workweekstarts+$currentWeekDay; $i <= $this->workweekends+$currentWeekDay; $i++){ 149 151 // Dayid is year+month+dayofMonth (currentDay-(dayofWeek+$i)) 150 $retorno.= "<dayofweek><dayname>".$this->daysofweek[$i ]."</dayname></dayofweek>";152 $retorno.= "<dayofweek><dayname>".$this->daysofweek[$i%7]."</dayname></dayofweek>"; 151 153 } 152 154 -
trunk/calendar_new/js/calendar_functions.js
r429 r437 38 38 document.getElementById("div_main").filters.alpha.opacity=50; 39 39 } catch (e) {}; 40 40 41 41 var data = '<text><date>'+calendar.parseDate(id2timeStamp(_dragArea.initEvent))+'</date><time>'+ calendar.parseTime(_dragArea.initEvent,_dragArea.endEvent)+'</time></text>'; 42 42 var xsl = XMLTools.load('xsl/addDialog.xsl?'+ Date.parse(new Date)); … … 57 57 document.getElementById('dragEventSubject').focus(); 58 58 document.getElementById('addEventLink').innerHTML = get_lang("Add this event"); 59 60 var closeButton = document.getElementById('closeDialog'); 61 if (is_ie){ 62 closeButton.style.left = '285px'; 63 closeButton.style.top = '5px'; 64 }else{ 65 closeButton.style.left = '320px'; 66 closeButton.style.top = '25px'; 67 } 59 68 60 69 this.lastId = _dragArea.endEvent; … … 81 90 nextWeek.setDate(nextWeek.getDate()+7); 82 91 this.nextView = nextWeek.getYear()+1900+""+(nextWeek.getDate()<10?"0":"")+nextWeek.getDate()+""+(nextWeek.getMonth()+1<10?"0":"")+(nextWeek.getMonth()+1); 83 92 } 84 93 if (viewType == "Day"){ 85 94 var previousDay = new Date; … … 90 99 this.nextView = nextDay.getYear()+1900+""+(nextDay.getDate()<10?"0":"")+nextDay.getDate()+""+(nextDay.getMonth()+1<10?"0":"")+(nextDay.getMonth()+1); 91 100 } 101 if (viewType == 'Month'){ 102 var previousMonth = new Date; 103 previousMonth.setTime(id2timeStamp(document.getElementById('day').firstChild.id)); 104 previousMonth.setMonth(previousMonth.getMonth()-1); 105 this.previousView = previousMonth.getYear()+1900+""+(previousMonth.getDate()<10?"0":"")+previousMonth.getDate()+""+(previousMonth.getMonth()+1<10?"0":"")+(previousMonth.getMonth()+1); 106 var nextMonth = new Date; 107 nextMonth.setTime(id2timeStamp(document.getElementById('day').firstChild.id)); 108 nextMonth.setMonth(nextMonth.getMonth()+1); 109 this.nextView = nextMonth.getYear()+1900+""+(nextMonth.getDate()<10?"0":"")+nextMonth.getDate()+""+(nextMonth.getMonth()+1<10?"0":"")+(nextMonth.getMonth()+1); 110 } 92 111 document.getElementById("l_date").innerHTML = "<a href=\"javascript:calendar.getView('div_main','"+viewType+"','&time='+this.previousView);\">\<\< </a>"; 93 112 if (viewType == "Week") 94 113 document.getElementById("l_date").innerHTML += calendar.parseWeek(id2timeStamp(document.getElementById('day').firstChild.id)); 95 else114 if (viewType == "Day") 96 115 document.getElementById("l_date").innerHTML += calendar.parseDate(id2timeStamp(document.getElementById('day').firstChild.id)); 116 if (viewType == "Month") 117 document.getElementById("l_date").innerHTML += calendar.parseMonth(id2timeStamp(document.getElementById('day').firstChild.id)); 97 118 document.getElementById("l_date").innerHTML += "<a href=\"javascript:calendar.getView('div_main','"+viewType+"','&time='+this.nextView);\"> \>\></a>"; 98 119 99 }catch(e){ alert(e ); }120 }catch(e){ alert(e+"\n"+e.description); } 100 121 var events = document.getElementById('returnEvents'); 101 122 while(typeof(events.firstChild.id) == 'string'){ … … 167 188 return get_lang("Week Number %1 of %2",Week,Year); 168 189 } 190 Calendar.prototype.parseMonth = function (timeStamp) { 191 obj=new Date(); 192 obj.setTime(timeStamp); 193 switch(obj.getMonth()) { 194 case 0: month = "January"; break; 195 case 1: month = "February"; break; 196 case 2: month = "March"; break; 197 case 3: month = "April"; break; 198 case 4: month = "May"; break; 199 case 5: month = "June"; break; 200 case 6: month = "July"; break; 201 case 7: month = "August"; break; 202 case 8: month = "September"; break; 203 case 9: month = "October"; break; 204 case 10: month = "November"; break; 205 case 11: month = "December"; break; 206 default: month = ""; break; 207 } 208 return get_lang(month); 209 } 169 210 Calendar.prototype.parseDate = function (timeStamp) { 170 211 var obj = new Date(); 171 212 obj.setTime(timeStamp); 172 213 214 var day; 173 215 switch(obj.getDay()) { 174 216 case 0: day = "Sunday"; break; … … 180 222 case 6: day = "Saturday"; break; 181 223 default: day = ""; break; 182 } 183 224 } 225 226 var month; 184 227 switch(obj.getMonth()) { 185 228 case 0: month = "January"; break; … … 196 239 case 11: month = "December"; break; 197 240 default: month = ""; break; 198 } 199 year = parseInt(obj.getYear())+1900; 241 } 242 243 year = (is_ie?parseInt(obj.getYear()):parseInt(obj.getYear())+1900); 244 200 245 return get_lang(day)+", "+obj.getDate()+" "+get_lang("of")+" "+get_lang(month)+" "+get_lang("of")+" "+year; // FIXME USE FORMAT DATE AS PREFERENCE 201 246 } -
trunk/calendar_new/js/common_functions.js
r420 r437 21 21 var end_ = timeStamp2id(eventDiv.childNodes[2].id).substr(8); 22 22 var start_ = parseInt(timeStamp2id(eventDiv.childNodes[1].id).substr(8),10); 23 23 24 if (viewType == "Day"){ 24 25 if (!screenTable[weekDay]) … … 42 43 resizeDiv.id = "resize_" + eventDiv.id; 43 44 resizeDiv.className = 'resize_div'; 44 resizeDiv.style.right = ( parseInt(eventDiv.style.width)-10)*-1+"px;";45 resizeDiv.style.bottom = ((parseInt(eventDiv.style.height)-24)*-1)+"px ;";45 resizeDiv.style.right = ((parseInt(eventDiv.style.width)-10)*-1)+"px"; 46 resizeDiv.style.bottom = ((parseInt(eventDiv.style.height)-24)*-1)+"px"; 46 47 resizeDiv.onmousedown = function() { resizeEvent(eventDiv); }; 47 48 eventDiv.appendChild(resizeDiv); … … 69 70 eventDiv.style.height = "20px"; 70 71 eventDiv.style.cursor = "pointer"; 71 eventDiv.onmouseover = function () { this.style.height = (parseInt(this.style.height)+40)+"px"; };72 eventDiv.onmouseout = function () { this.style.height = (parseInt(this.style.height)-40)+"px"; };72 eventDiv.onmouseover = function () { this.style.height = (parseInt(this.style.height)+40)+"px"; this.style.zIndex = 2; }; 73 eventDiv.onmouseout = function () { this.style.height = (parseInt(this.style.height)-40)+"px"; this.style.zIndex = 1; }; 73 74 eventDiv.onclick = function () { calendar.getView('div_main','Day','&time='+timeStamp2id(eventDiv.childNodes[2].id).substr(0,8)); }; 74 75 } 76 75 77 var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[1].id)); 76 78 77 79 if (viewType == "Month"){ 78 eventDiv.style.width = "90px";79 eventDiv.style.heigth = "20px";80 80 var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)+'0000'); 81 } 82 83 eventDiv.style.top = (tdElement.offsetTop + 145) + "px" ; 81 eventDiv.style.width = "60px"; 82 eventDiv.style.height = "15px"; 83 eventDiv.onclick = function () { calendar.getView('div_main','Day','&time='+timeStamp2id(eventDiv.childNodes[2].id).substr(0,8)); }; 84 eventDiv.style.cursor = "pointer"; 85 86 tdElement.style.height = (tdElement.childNodes.length * 10) + "px"; 87 88 if (tdElement.childNodes.length > 3) 89 eventDiv.style.margin = "20 0 0 "+(20+(tdElement.childNodes.length-4)*25); 90 else 91 eventDiv.style.margin = "0 0 0 "+(20+(tdElement.childNodes.length-1)*25); 92 } 93 94 eventDiv.style.top = (tdElement.offsetTop + 145) + "px"; 84 95 tdElement.appendChild(eventDiv); 85 96 } … … 129 140 function removeEvent (id) { 130 141 var handler_removeEvent = function (data) { 131 var serverRet = data.firstChild.childNodes[0]; 132 var retStatus = serverRet.substringData(0,4); 142 var xsl = XMLTools.load('xsl/returnData.xsl?'+ Date.parse(new Date)); 143 var serverRet = XMLTools.transform(data, xsl); 144 serverRet = serverRet.substr(serverRet.indexOf('>')+1); 145 var retStatus = serverRet.substr(0,5); 133 146 if (retStatus == "false") 134 write_msg(get_lang("Error") + ": " + serverRet .data)147 write_msg(get_lang("Error") + ": " + serverRet) 135 148 else{ 136 149 var eventDiv = document.getElementById("event_"+id); … … 154 167 155 168 var handler_quickAdd = function (data) { 169 var xsl = XMLTools.load('xsl/returnData.xsl?'+ Date.parse(new Date)); 170 var serverRet = XMLTools.transform(data, xsl); 171 serverRet = serverRet.substr(serverRet.indexOf('>')+1); 156 172 calendar.dialog('infowindow'); 157 158 var serverRet = data.firstChild.childNodes[0]; 159 var retStatus = serverRet.substringData(0,5); 160 173 var retStatus = serverRet.substr(0,5); 161 174 if (retStatus == "false") 162 write_msg(get_lang("Error") + ": " + get_lang(serverRet.data.substr(6)));175 write_msg(get_lang("Error") + ": " +get_lang(serverRet.substr(6))); 163 176 else{ 164 177 var tdElement = document.getElementById(startTime); 165 178 var eventDiv = document.createElement('DIV'); 166 eventDiv.id = "event_" + serverRet.substr ingData(6,serverRet.data.length);179 eventDiv.id = "event_" + serverRet.substr(6,serverRet.length); 167 180 eventDiv.innerHTML = description; 168 181 var endDateDiv = document.createElement('DIV'); … … 186 199 187 200 var handler_changeEvent = function (data){ 188 var serverRet = data.firstChild.childNodes[0]; 189 var retStatus = serverRet.substringData(1,5); 201 var xsl = XMLTools.load('xsl/returnData.xsl?'+ Date.parse(new Date)); 202 var serverRet = XMLTools.transform(data, xsl); 203 serverRet = serverRet.substr(serverRet.indexOf('>')+1); 204 var retStatus = serverRet.substr(1,5); 190 205 if (retStatus == "false") 191 write_msg(get_lang("Error") + ": " + serverRet .data)206 write_msg(get_lang("Error") + ": " + serverRet) 192 207 else 193 208 switch (field) { … … 213 228 var tmpDate = new Date(); 214 229 tmpDate.setTime(timeStamp); 215 return (tmpDate.getYear()+ 1900)+""+230 return (tmpDate.getYear()+(is_ie?0:1900))+""+ 216 231 (tmpDate.getDate()<10?"0"+tmpDate.getDate():tmpDate.getDate())+ 217 232 (tmpDate.getMonth()<9?"0"+(tmpDate.getMonth()+1):(tmpDate.getMonth()+1))+ -
trunk/calendar_new/js/drag_area.js
r429 r437 39 39 } 40 40 catch(e) 41 { document.style.background = "#000 ;"; };41 { document.style.background = "#000"; }; 42 42 }; 43 43 … … 54 54 if (id <= this.endEvent) 55 55 for (var hour = parseInt(this.initEvent); hour >= parseInt(id);hour=incHour(hour,'-')) 56 colorCell(hour,"#EEE ;");56 colorCell(hour,"#EEE"); 57 57 else 58 58 for (var hour = parseInt(id); hour >= parseInt(this.endEvent);hour=incHour(hour,'-')) … … 64 64 else 65 65 for (var hour = parseInt(this.initEvent); hour <= parseInt(id);hour=incHour(hour,'+')) 66 colorCell(hour,"#EEE ;");66 colorCell(hour,"#EEE"); 67 67 this.endEvent=id; 68 68 return true; -
trunk/calendar_new/templates/default/index.tpl
r420 r437 9 9 <img id="yearLinkView" src="templates/default/images/year.png"></img></a> 10 10 <br> 11 <div style="width:100%;height:100%" id="div_main"></div> ";11 <div style="width:100%;height:100%" id="div_main"></div> 12 12 13 13 <!-- END index --> -
trunk/calendar_new/templates/default/main.css
r429 r437 70 70 background-color: rgb(239, 239, 231); 71 71 -moz-border-radius: 5px 5px 5px 5px; 72 width: 1 00px;72 width: 130px; 73 73 border: 2px #AAA solid; 74 74 color: #1111AA; -
trunk/calendar_new/xsl/addDialog.xsl
r420 r437 34 34 <br/> 35 35 <div id="addEventLink" class="buttontype" onclick="quickAddEvent(document.getElementById('dragEventSubject').value,_dragArea.initEvent,_dragArea.endEvent);">Add event</div> 36 <img onclick="calendar.dialog()" width="14" height="13" src="templates/default/images/close.gif" style="position: absolute; z-index: 184; cursor: pointer; left: 320px; top: 25px;"/>36 <img id="closeDialog" onclick="calendar.dialog()" src="templates/default/images/close.gif" style="position: absolute; z-index: 184; cursor: pointer;"/> 37 37 </div> 38 38 </td> -
trunk/calendar_new/xsl/viewMonth.xsl
r429 r437 7 7 </div> 8 8 <div width="100%" class="title" align="left" ><label id="l_date"></label><br/><br/> 9 <table class="table_common" width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">9 <table class="table_common" height="auto" width="100%" cellpadding="0" cellspacing="0"> 10 10 <tbody> 11 <tr class="td_common" width="1%"> 12 13 <table class="table_common" height="100%" width="100%" cellpadding="0" cellspacing="0"> 14 <tr id="tr_week"> 15 <xsl:for-each select="dayofweek"> 16 <xsl:variable name="dayName" select="dayname" /> 17 <td id="weekHeader_{$dayName}" class="td_header" height="1%"> 18 <xsl:value-of select='$dayName' /> 19 </td> 20 </xsl:for-each> 21 </tr> 22 <xsl:for-each select="/retorno/workWeek"> 23 <tr> 24 <xsl:for-each select="workday"> 25 <xsl:variable name="day" select="id" /> 26 <td class="td_day" id="{$day}"> 27 <xsl:value-of select='substring($day,5,2)' /> 28 </td> 29 </xsl:for-each> 30 </tr> 11 <tr id="tr_week"> 12 <xsl:for-each select="dayofweek"> 13 <xsl:variable name="dayName" select="dayname" /> 14 <td id="weekHeader_{$dayName}" class="td_header" height="1%"> 15 <xsl:value-of select='$dayName' /> 16 </td> 17 </xsl:for-each> 18 </tr> 19 <xsl:for-each select="/retorno/workWeek"> 20 <tr> 21 <xsl:for-each select="workday"> 22 <xsl:variable name="day" select="id" /> 23 <td class="td_day" id="{$day}"> 24 <xsl:value-of select='substring($day,5,2)' /> 25 </td> 31 26 </xsl:for-each> 32 33 </table> 34 </tr> 27 </tr> 28 </xsl:for-each> 35 29 </tbody> 36 </table> 30 </table> 37 31 </div> 38 32 <div id="returnEvents">
Note: See TracChangeset
for help on using the changeset viewer.