- Timestamp:
- 02/06/09 08:41:18 (15 years ago)
- Location:
- trunk/expressoCalendar
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoCalendar/inc/class.uicalendar.inc.php
r656 r665 98 98 99 99 $retorno = "<today>".date('Ydm',$dayViewTime)."</today>"; 100 101 $fromBo = $this->db_obj->requestDayCal($dayViewTime);102 100 // Printing results in XML 103 101 for($i = $this->workdaystarts; $i <= $this->workdayends; $i = $i + 0.5) … … 109 107 110 108 $retorno .= "</workday>"; 111 } 112 if (is_array($fromBo)) 113 foreach ($fromBo as $line){ 114 $retorno .= "<calEvent>"; 115 $retorno .= "<id>".$line['cal_id']."</id>"; 116 $retorno .= "<title>".htmlspecialchars($line['title'])."</title>"; 117 $retorno .= "<description>".htmlspecialchars($line['description'])."</description>"; 118 $retorno .= "<edatetime>".($line['edatetime']*1000)."</edatetime>"; 119 $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>"; 120 $retorno .= "</calEvent>"; 121 } 122 123 return $retorno; 124 } 109 } 110 return $retorno; 111 } 112 function getEventsDay () { 113 $dayTime = 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())); 114 if (isset ($_REQUEST["uid"])) 115 $this->db_obj->user_id = $_REQUEST["uid"]; 116 $fromBo = $this->db_obj->requestDayCal($dayTime); 117 118 if (is_array($fromBo)) 119 foreach ($fromBo as $line){ 120 $retorno .= "<calevent>"; 121 $retorno .= "<id>".$line['cal_id']."</id>"; 122 $retorno .= "<title>".htmlspecialchars($line['title'])."</title>"; 123 $retorno .= "<description>".htmlspecialchars($line['description'])."</description>"; 124 $retorno .= "<edatetime>".($line['edatetime']*1000)."</edatetime>"; 125 $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>"; 126 $retorno .= "</calevent>"; 127 } 128 return $retorno; 129 } 130 125 131 function getViewWeek () { 126 132 $dayViewTime = 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())); … … 129 135 if (isset ($_REQUEST["uid"])) 130 136 $this->db_obj->user_id = $_REQUEST["uid"]; 131 132 133 $fromBo = $this->db_obj->requestWeekCal($dayViewTime);134 137 135 138 for($i = $this->workdaystarts; $i <= $this->workdayends; $i = $i + 0.5){ … … 146 149 } 147 150 151 return $retorno; 152 } 153 function getEventsWeek () { 154 $dayViewTime = 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())); 155 if (isset($_REQUEST["uid"])) 156 $this->db_obj->user_id = $_REQUEST["uid"]; 157 158 $dayViewTime -= (date('N', $dayViewTime)%7)*86400; 159 $retorno = "<today>".date('Ydm', $dayViewTime)."</today>"; 160 if (isset ($_REQUEST["uid"])) 161 $this->db_obj->user_id = $_REQUEST["uid"]; 162 163 164 $fromBo = $this->db_obj->requestWeekCal($dayViewTime); 165 148 166 149 167 // Printing results in XML … … 151 169 foreach ($fromBo as $line) { 152 170 if ($line['datetime'] > 0){ 153 $retorno .= "<cal Event>";171 $retorno .= "<calevent>"; 154 172 $retorno .= "<id>".$line['cal_id']."</id>"; 155 173 $retorno .= "<title>".htmlspecialchars($line['title'])."</title>"; … … 157 175 $retorno .= "<edatetime>".($line['edatetime']*1000)."</edatetime>"; 158 176 $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>"; 159 $retorno .= "</cal Event>";177 $retorno .= "</calevent>"; 160 178 } 161 179 } 162 180 return $retorno; 163 181 } 182 164 183 165 184 function getDetails (){ … … 171 190 return $buff; 172 191 } 173 192 function getEventsMonth () { 193 $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())); 194 $todayTime = strtotime(date('Y-m', $monthViewTime)."-01"); 195 if (isset($_REQUEST["uid"])) 196 $this->db_obj->user_id = $_REQUEST["uid"]; 197 198 $fromBo = $this->db_obj->requestMonthCal($todayTime); 199 200 // Printing results in XML 201 if (is_array($fromBo)) 202 foreach ($fromBo as $line) { 203 if ($line['datetime'] > 0){ 204 $retorno .= "<calevent>"; 205 $retorno .= "<id>".$line['cal_id']."</id>"; 206 $retorno .= "<title>".htmlspecialchars($line['title'])."</title>"; 207 $retorno .= "<edatetime>".($line['edatetime']*1000)."</edatetime>"; 208 $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>"; 209 $retorno .= "</calevent>"; 210 } 211 } 212 return $retorno; 213 } 214 174 215 function getViewMonth () { 175 216 $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())); … … 179 220 $todayTime = strtotime(date('Y-m', $monthViewTime)."-01"); 180 221 $retorno = "<today>".date('Ydm', $monthViewTime)."</today>"; 181 $fromBo = $this->db_obj->requestMonthCal($todayTime);182 222 183 223 for ($i=1;$i<=date('t',$monthViewTime);$i++){ … … 199 239 } 200 240 201 241 return $retorno; 242 } 243 function getViewYear () { 244 $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())); 245 246 $todayTime = strtotime(date('Y-m', $monthViewTime)."-01"); 247 $retorno = "<today>".date('Ydm', $monthViewTime)."</today>"; 248 249 $fromBo = $this->db_obj->requestYearCal($todayTime); 202 250 // Printing results in XML 203 251 if (is_array($fromBo)) 204 252 foreach ($fromBo as $line) { 205 253 if ($line['datetime'] > 0){ 206 $retorno .= "<calEvent>"; 207 $retorno .= "<id>".$line['cal_id']."</id>"; 208 $retorno .= "<title>".htmlspecialchars($line['title'])."</title>"; 209 $retorno .= "<edatetime>".($line['edatetime']*1000)."</edatetime>"; 210 $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>"; 211 $retorno .= "</calEvent>"; 212 } 213 } 214 return $retorno; 215 } 216 function getViewYear () { 217 $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())); 218 219 $todayTime = strtotime(date('Y-m', $monthViewTime)."-01"); 220 $retorno = "<today>".date('Ydm', $monthViewTime)."</today>"; 221 222 $fromBo = $this->db_obj->requestYearCal($todayTime); 223 // Printing results in XML 224 if (is_array($fromBo)) 225 foreach ($fromBo as $line) { 226 if ($line['datetime'] > 0){ 227 $retorno .= "<calEvent>"; 254 $retorno .= "<calevent>"; 228 255 $retorno .= "<id>".$line['cal_id']."</id>"; 229 256 $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>"; 230 $retorno .= "</cal Event>";257 $retorno .= "</calevent>"; 231 258 } 232 259 } -
trunk/expressoCalendar/js/calendar_functions.js
r656 r665 29 29 document.getElementById("div_main").style.opacity = 1; 30 30 document.getElementById("div_main").filters.alpha.opacity=100; 31 } catch (e) { }31 } catch (e) {}; 32 32 return true; 33 33 } … … 55 55 divAddDialog.innerHTML = xtools.parse(data, xsl); 56 56 var closeButton = document.getElementById('closeDialog'); 57 if (is_ie){ 57 if (is_ie) 58 { 58 59 closeButton.style.left = '285px'; 59 60 closeButton.style.top = '5px'; 60 }else{ 61 } 62 else 63 { 61 64 closeButton.style.left = '320px'; 62 65 closeButton.style.top = '25px'; … … 112 115 document.getElementById("l_date").innerHTML += "<a href=\"javascript:calendar.getView('div_main','"+viewType+"','&time='+this.nextView);\"> \>\></a>"; 113 116 114 var events = document.getElementById('returnEvents'); 115 while(typeof(events.firstChild.id) == 'string'){ 116 createEventDiv(events.firstChild); 117 var getEventsDay = function (data) 118 { 119 var xsl = XMLTools.load('xsl/events'+type+'.xsl'); 120 var div = document.getElementById('div_main'); 121 div.innerHTML += xtools.parse(data, xsl); 122 var events = document.getElementById('returnEvents'); 123 while(typeof(events.firstChild.id) == 'string') 124 createEventDiv(events.firstChild); 117 125 } 126 XMLTools.__RETURN_MODE__ = 'XML'; 127 XMLTools.request('$this.uicalendar.getEvents'+type+(data?data:'')+'&uid='+calendar.uid, 'GET', getEventsDay); 118 128 119 129 }; … … 137 147 var div = document.getElementById(this.idEl); 138 148 div.innerHTML = xtools.parse(data, xsl); 149 document.getElementById('divAppbox').style.height = "100%"; 139 150 } 140 151 catch(e){ … … 142 153 } 143 154 144 if (type == 'Week' || type == 'Month'){ 155 if (type == 'Week' || type == 'Month') 156 { 145 157 var trWeek = document.getElementById('tr_week'); 146 158 for (var i=0; i < trWeek.childNodes.length; i++) … … 202 214 default: month = ""; break; 203 215 } 204 return get_lang( month);216 return get_lang("%1 of %2",get_lang(month),(obj.getYear()+1900)); 205 217 } 206 218 Calendar.prototype.parseDate = function (timeStamp) { … … 242 254 } 243 255 var calendar = new Calendar(); 256 257 // This array stores the events in table to avoid conflict in screen 258 var screenTable = new Array(); 259 var today = new Date(); 260 var weekDay = today.getDay(); 261 function createEventDiv(eventDiv){ 262 eventDiv.className = "event_div"; 263 eventDiv.style.height = parseInt(eventDiv.childNodes[1].id-eventDiv.childNodes[0].id)/120000+"px"; 264 var end_ = timeStamp2id(eventDiv.childNodes[1].id).substr(8); 265 var start_ = parseInt(timeStamp2id(eventDiv.childNodes[0].id).substr(8),10); 266 if (viewType == "Day"){ 267 if (!screenTable[weekDay]) 268 screenTable[weekDay] = new Array(); 269 eventDiv.style.width = "190px"; 270 271 currentPos = 1; 272 for (var hour = parseInt(start_,10); hour < parseInt(end_,10);(hour%100 == 30)?hour+=70:hour+=30){ 273 if (!screenTable[weekDay][hour]) 274 screenTable[weekDay][hour] = 0; 275 276 if (currentPos <= screenTable[weekDay][hour]) 277 currentPos = screenTable[weekDay][hour]+1; 278 } 279 for (var hour = parseInt(start_,10); hour < parseInt(end_,10);(hour%100 == 30)?hour+=70:hour+=30) 280 screenTable[weekDay][hour] = currentPos; 281 eventDiv.style.left = 90+(205*(currentPos-1)) + "px" ; 282 eventDiv.onmouseover = function(){ createButtons(eventDiv); }; 283 eventDiv.onmouseout = function(){ removeButtons(eventDiv); }; 284 var resizeDiv = document.createElement('DIV'); 285 resizeDiv.id = "resize_" + eventDiv.id; 286 resizeDiv.className = 'resize_div'; 287 resizeDiv.onmousedown = function() { resizeEvent(eventDiv); }; 288 eventDiv.appendChild(resizeDiv); 289 } 290 if (viewType == "Week"){ 291 var tempDate = new Date; 292 tempDate.setTime(eventDiv.childNodes[1].id); 293 if (!screenTable[tempDate.getDay()]) 294 screenTable[tempDate.getDay()] = new Array(); 295 currentPos = 1; 296 if (!screenTable[tempDate.getDay()][start_]) 297 screenTable[tempDate.getDay()][start_] = 0; 298 299 if (currentPos <= screenTable[tempDate.getDay()][start_]) 300 currentPos = screenTable[tempDate.getDay()][start_]+1; 301 screenTable[tempDate.getDay()][start_] = currentPos; 302 303 var widthValue = 100; 304 eventDiv.style.width = widthValue+"px"; 305 306 var headerElement = document.getElementById('weekHeader_'+timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)); 307 if (currentPos > 1) 308 eventDiv.style.left = (10+(tempDate.getDay()*122)+(widthValue*currentPos))+"px"; 309 headerElement.style.width = (widthValue*currentPos)+"px"; 310 eventDiv.style.height = "20px"; 311 eventDiv.style.cursor = "pointer"; 312 eventDiv.onmouseover = function () { this.style.height = "auto"; this.style.zIndex = 2;}; 313 eventDiv.onmouseout = function () { this.style.height = "20px"; this.style.zIndex = 1; }; 314 eventDiv.onclick = function () { calendar.getView('div_main','Day','&time='+timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)); }; 315 } 316 317 var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[0].id)); 318 319 if (viewType == "Month"){ 320 var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[0].id).substr(0,8)+'0000'); 321 eventDiv.style.width = "60px"; 322 eventDiv.style.height = "15px"; 323 eventDiv.onmouseover = function () { if (this.childNodes[2].length > 9) this.style.width = "auto"; this.style.zIndex = 2; }; 324 eventDiv.onmouseout = function () { this.style.width = "60px"; this.style.zIndex = 1; }; 325 eventDiv.onclick = function () { calendar.getView('div_main','Day','&time='+timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)); }; 326 eventDiv.style.cursor = "pointer"; 327 328 tdElement.style.height = (tdElement.childNodes.length * 10) + "px"; 329 330 if (tdElement.childNodes.length > 3) 331 eventDiv.style.margin = "20 0 0 "+(20+(tdElement.childNodes.length-4)*25); 332 else 333 eventDiv.style.margin = "0 0 0 "+(20+(tdElement.childNodes.length-1)*25); 334 } 335 336 eventDiv.style.top = (tdElement.offsetTop + 160) + "px"; 337 tdElement.appendChild(eventDiv); 338 } 339 340 -
trunk/expressoCalendar/js/common_functions.js
r632 r665 12 12 } 13 13 14 // This array stores the events in table to avoid conflict in screen 15 var screenTable = new Array(); 16 var today = new Date(); 17 var weekDay = today.getDay(); 18 function createEventDiv(eventDiv){ 19 eventDiv.className = "event_div"; 20 eventDiv.style.height = parseInt(eventDiv.childNodes[1].id-eventDiv.childNodes[0].id)/120000+"px"; 21 var end_ = timeStamp2id(eventDiv.childNodes[1].id).substr(8); 22 var start_ = parseInt(timeStamp2id(eventDiv.childNodes[0].id).substr(8),10); 23 if (viewType == "Day"){ 24 if (!screenTable[weekDay]) 25 screenTable[weekDay] = new Array(); 26 eventDiv.style.width = "190px"; 27 28 currentPos = 1; 29 for (var hour = parseInt(start_,10); hour < parseInt(end_,10);(hour%100 == 30)?hour+=70:hour+=30){ 30 if (!screenTable[weekDay][hour]) 31 screenTable[weekDay][hour] = 0; 32 33 if (currentPos <= screenTable[weekDay][hour]) 34 currentPos = screenTable[weekDay][hour]+1; 35 } 36 for (var hour = parseInt(start_,10); hour < parseInt(end_,10);(hour%100 == 30)?hour+=70:hour+=30) 37 screenTable[weekDay][hour] = currentPos; 38 eventDiv.style.left = 90+(205*(currentPos-1)) + "px" ; 39 eventDiv.onmouseover = function(){ createButtons(eventDiv); }; 40 eventDiv.onmouseout = function(){ removeButtons(eventDiv); }; 41 var resizeDiv = document.createElement('DIV'); 42 resizeDiv.id = "resize_" + eventDiv.id; 43 resizeDiv.className = 'resize_div'; 44 resizeDiv.onmousedown = function() { resizeEvent(eventDiv); }; 45 eventDiv.appendChild(resizeDiv); 46 } 47 if (viewType == "Week"){ 48 var tempDate = new Date; 49 tempDate.setTime(eventDiv.childNodes[1].id); 50 if (!screenTable[tempDate.getDay()]) 51 screenTable[tempDate.getDay()] = new Array(); 52 currentPos = 1; 53 if (!screenTable[tempDate.getDay()][start_]) 54 screenTable[tempDate.getDay()][start_] = 0; 55 56 if (currentPos <= screenTable[tempDate.getDay()][start_]) 57 currentPos = screenTable[tempDate.getDay()][start_]+1; 58 screenTable[tempDate.getDay()][start_] = currentPos; 59 60 var widthValue = 100; 61 eventDiv.style.width = widthValue+"px"; 62 63 var headerElement = document.getElementById('weekHeader_'+timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)); 64 if (currentPos > 1) 65 eventDiv.style.left = (10+(tempDate.getDay()*122)+(widthValue*currentPos))+"px"; 66 headerElement.style.width = (widthValue*currentPos)+"px"; 67 eventDiv.style.height = "20px"; 68 eventDiv.style.cursor = "pointer"; 69 eventDiv.onmouseover = function () { this.style.height = "auto"; this.style.zIndex = 2;}; 70 eventDiv.onmouseout = function () { this.style.height = "20px"; this.style.zIndex = 1; }; 71 eventDiv.onclick = function () { calendar.getView('div_main','Day','&time='+timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)); }; 72 } 73 74 var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[0].id)); 75 76 if (viewType == "Month"){ 77 var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[0].id).substr(0,8)+'0000'); 78 eventDiv.style.width = "60px"; 79 eventDiv.style.height = "15px"; 80 eventDiv.onmouseover = function () { if (this.childNodes[2].length > 9) this.style.width = "auto"; this.style.zIndex = 2; }; 81 eventDiv.onmouseout = function () { this.style.width = "60px"; this.style.zIndex = 1; }; 82 eventDiv.onclick = function () { calendar.getView('div_main','Day','&time='+timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)); }; 83 eventDiv.style.cursor = "pointer"; 84 85 tdElement.style.height = (tdElement.childNodes.length * 10) + "px"; 86 87 if (tdElement.childNodes.length > 3) 88 eventDiv.style.margin = "20 0 0 "+(20+(tdElement.childNodes.length-4)*25); 89 else 90 eventDiv.style.margin = "0 0 0 "+(20+(tdElement.childNodes.length-1)*25); 91 } 92 93 eventDiv.style.top = (tdElement.offsetTop + 145) + "px"; 94 tdElement.appendChild(eventDiv); 14 function write_error (message){ 15 if (headerMsgLock){ 16 setTimeout('write_error("'+message+'");', 300); 17 return; 18 } 19 headerMsgLock = true; 20 headerDiv = document.getElementById("divAppboxHeader"); 21 var labelBefore = headerDiv.innerHTML; 22 headerDiv.innerHTML = '<table width=100% cellspacing="0" cellpadding="0" border="0"><tbody><tr><th width="40%"></th><th noWrap class="action_error_th">'+message+'</th><th width="40%"></th></tr></tbody></table>'; 23 setTimeout('headerMsgLock = false; document.getElementById("divAppboxHeader").innerHTML = \"'+labelBefore+'\";', 2000); 95 24 } 96 25 … … 128 57 } 129 58 } 130 131 function addDetails(title,description,datetime,edatetime){ 132 if (!edatetime) 133 edatetime = ""; 134 if (!datetime || datetime.length == 0) 135 datetime = edatetime; 136 data="<retorno>"+ 137 "<title>"+title+"</title>"+ 138 "<description>"+description+"</description>"+ 139 "<datetime>"+datetime.substr(4,2)+"/"+datetime.substr(6,2)+"/"+datetime.substr(0,4)+"</datetime>"+ 140 "<datehour>"+datetime.substr(8,2)+"</datehour>"+ 141 "<dateminute>"+datetime.substr(10,2)+"</dateminute>"+ 142 "<edatetime>"+edatetime.substr(4,2)+"/"+edatetime.substr(6,2)+"/"+edatetime.substr(0,4)+"</edatetime>"+ 143 "<edatehour>"+edatetime.substr(8,2)+"</edatehour>"+ 144 "<edateminute>"+edatetime.substr(10,2)+"</edateminute>"+ 145 "</retorno>"; 146 147 var divAddDialog = document.getElementById("divAddDialog"); 148 var xsl = XMLTools.load('xsl/detailsDialog.xsl?'+ Date.parse(new Date)); 149 if(!divAddDialog) { 150 divAddDialog = document.createElement("DIV"); 151 divAddDialog.id = 'divAddDialog'; 152 divAddDialog.style.zIndex = "10"; 153 divAddDialog.style.position = "absolute"; 154 divAddDialog.style.display = "none"; 155 document.body.appendChild(divAddDialog); 156 } 157 divAddDialog.style.left = "300px"; 158 divAddDialog.style.top = "200px"; 159 divAddDialog.innerHTML = xtools.parse(data, xsl); 160 divAddDialog.style.display = "block"; 161 } 59 function submitDetailsHandler () { 60 var iframe = document.getElementById('nullFrame'); 61 var Fdoc = iframe.contentDocument || iframe.contentWindow; 62 statusSpan = Fdoc.getElementById('formStatus'); 63 if (statusSpan) 64 { 65 var ErMessage = statusSpan.innerHTML.replace(/<[^>]*>/,''); 66 write_error(ErMessage); 67 divAddDialog = document.getElementById("divAddDialog"); 68 divAddDialog.appendChild(Fdoc.getElementsByName('app_form')[0]); 69 divAddDialog.style.display = "block"; 70 } 71 else 72 { 73 if (Fdoc.getElementById('calendar_overlap_table')){ 74 write_error(get_lang('scheduling conflict')); 75 divAddDialog = document.getElementById("divAddDialog"); 76 document.getElementsByName('app_form')[0].innerHTML = Fdoc.getElementById('divAppbox').innerHTML; 77 document.getElementById('ignore_button').style.display = "none"; 78 document.getElementById('redit_button').style.display = "none"; // TODO: Update the action to submit in background 79 divAddDialog.style.display = "block"; 80 } 81 else 82 write_msg(get_lang('Event updated successfully')); 83 } 84 connector.hideProgressBar(); 85 } 86 87 function addDetails(title,description,datetime,edatetime){ 88 if (!edatetime) 89 edatetime = ""; 90 if (!datetime || datetime.length == 0) 91 datetime = edatetime; 92 var handler_embeddedHTML = function (data) { 93 var divAddDialog = document.getElementById("divAddDialog"); 94 if(!divAddDialog) 95 { 96 divAddDialog = document.createElement("DIV"); 97 divAddDialog.id = 'divAddDialog'; 98 divAddDialog.style.zIndex = "10"; 99 divAddDialog.style.position = "absolute"; 100 divAddDialog.style.display = "none"; 101 document.body.appendChild(divAddDialog); 102 } 103 divAddDialog.style.left = "100px"; 104 divAddDialog.style.top = "100px"; 105 var xsl = XMLTools.load('xsl/windowDialog.xsl'); 106 xml = "<return></return>"; 107 divAddDialog.innerHTML = xtools.parse(xml, xsl); 108 document.getElementById('form_content').innerHTML = data; 109 submitButton = document.getElementById('submit_button'); 110 submitButton.onclick = function () { cExecuteForm('/index.php?menuaction=calendar.bocalendar.update',document.getElementsByName('app_form')[0],'submitDetailsHandler'); return false; } 111 cancelButton = document.getElementById('cancel_button'); 112 cancelButton.onclick = function () { calendar.dialog(); return false; } 113 deleteButton = document.getElementById('delete_button'); 114 deleteButton.onclick = function () { removeEvent(eventId.id.substr(6)); calendar.dialog(); return false; } 115 divAddDialog.style.display = "block"; 116 } 117 cExecute('../index.php?menuaction=calendar.uicalendar.add&plain=True&date='+datetime.substr(0,4)+datetime.substr(6,2)+datetime.substr(4,2)+'&hour='+datetime.substr(8,2)+'&minute='+datetime.substr(10,2),handler_embeddedHTML); 118 } 162 119 163 120 function showDetails(eventId){ 164 var handler_getDetails = function (data) 165 { 121 var handler_embeddedHTML = function (data) { 166 122 var divAddDialog = document.getElementById("divAddDialog"); 167 var xsl = XMLTools.load('xsl/detailsDialog.xsl?'+ Date.parse(new Date)); 168 if(!divAddDialog) { 123 var xsl = XMLTools.load('xsl/windowDialog.xsl'); 124 if(!divAddDialog) 125 { 169 126 divAddDialog = document.createElement("DIV"); 170 127 divAddDialog.id = 'divAddDialog'; … … 174 131 document.body.appendChild(divAddDialog); 175 132 } 176 divAddDialog.style.left = "300px"; 177 divAddDialog.style.top = "200px"; 178 divAddDialog.innerHTML = xtools.parse(data, xsl); 133 divAddDialog.style.left = "100px"; 134 divAddDialog.style.top = "100px"; 135 xml = "<return></return>"; 136 divAddDialog.innerHTML = xtools.parse(xml, xsl); 137 document.getElementById('form_content').innerHTML = data; 138 submitButton = document.getElementById('submit_button'); 139 submitButton.onclick = function () { cExecuteForm('/index.php?menuaction=calendar.bocalendar.update',document.getElementsByName('app_form')[0],'submitDetailsHandler'); calendar.dialog(); return false; } 140 try 141 { 142 cancelButton = document.getElementById('cancel_button'); 143 cancelButton.onclick = function () { calendar.dialog(); return false; } 144 } 145 catch (e) 146 { 147 cancelButton = document.createElement('INPUT'); 148 cancelButton.type = "submit"; 149 cancelButton.value = get_lang('cancel'); 150 cancelButton.onclick = function () { calendar.dialog(); return false; } 151 document.getElementsByName('app_form')[0].appendChild(cancelButton); 152 }; 153 deleteButton = document.getElementById('delete_button'); 154 deleteButton.onclick = function () { removeEvent(eventId.id.substr(6)); calendar.dialog(); return false; } 179 155 divAddDialog.style.display = "block"; 180 var saveBut = document.getElementById("saveLink"); 181 saveBut.onclick = function () { saveEvent(eventId); } 182 var startDate = document.getElementById('startstr'); 183 var endDate = document.getElementById('endstr'); 184 var startHour = document.getElementById('starthour'); 185 var startMin = document.getElementById('startmin'); 186 var endHour = document.getElementById('endhour'); 187 var endMin = document.getElementById('endmin'); 188 objDate = new Date(); 189 objDate.setTime(startDate.value*1000); 190 startDate.value = objDate.getDate()+"/"+(objDate.getMonth()+1)+"/"+objDate.getFullYear(); 191 startHour.value = objDate.getHours(); 192 startMin.value = objDate.getMinutes(); 193 if (startMin.value.length < 2) 194 startMin.value += "0"; 195 objDate.setTime(endDate.value*1000); 196 endDate.value = objDate.getDate()+"/"+(objDate.getMonth()+1)+"/"+objDate.getFullYear(); 197 endHour.value = objDate.getHours(); 198 endMin.value = objDate.getMinutes(); 199 if (endMin.value.length < 2) 200 endMin.value += "0"; 201 } 202 XMLTools.__RETURN_MODE__ = 'XML'; 203 XMLTools.request('$this.uicalendar.getDetails&id='+eventId.id.substr(6), 'GET', handler_getDetails); 156 } 157 cExecute('../index.php?menuaction=calendar.uicalendar.edit&cal_id='+eventId.id.substr(6)+'&plain=True',handler_embeddedHTML); 204 158 } 205 159 function removeButtons(eventDiv){ … … 215 169 var handler_removeEvent = function (data) { 216 170 var xsl = XMLTools.load('xsl/returnData.xsl?'+ Date.parse(new Date)); 217 171 var serverRet = xtools.parse(data, xsl); 218 172 serverRet = serverRet.substr(serverRet.indexOf('>')+1); 219 173 var retStatus = serverRet.substr(0,5); -
trunk/expressoCalendar/js/connector.js
r632 r665 95 95 } 96 96 var connector = new cConnector(); 97 97 function _xml() 98 { 99 var a = false; 100 if ( document.implementation.createDocument ) 101 a = document.implementation.createDocument("", "", null); 102 else if ( ActiveXObject ) 103 a = new ActiveXObject("Msxml2.DOMDocument"); 104 if ( arguments.length == 1 && typeof arguments[0] == 'string' ) 105 a.appendChild(a.createElement(arguments[0])); 106 return a; 107 } 98 108 XMLTools.prototype = { 99 109 "__DEBUG__" : false, … … 282 292 }; 283 293 294 function cExecuteForm(url, form, handler){ 295 connector.showProgressBar(); 296 var iframe_el = document.getElementById('nullFrame'); 297 if (!iframe_el) 298 { 299 iframe_el = document.createElement('IFRAME'); 300 iframe_el.id = "nullFrame"; 301 } 302 iframe_el.style.width = "0px"; 303 iframe_el.style.height = "0px"; 304 iframe_el.style.border = '0px'; 305 iframe_el.name = "nullFrame"; 306 iframe = document.body.appendChild(iframe_el); 307 iframe_el.setAttribute('onload', 'javascript:'+handler+'()'); 308 form.target = "nullFrame"; 309 form.submit(); 310 } 311 312 function cExecute(requestURL,handler,methmd){ 313 var AjaxRequest = function () { 314 Ajax = false; 315 if (window.XMLHttpRequest) //Gecko 316 Ajax = new XMLHttpRequest(); 317 else 318 if (window.ActiveXObject) //Other nav. 319 try 320 { 321 Ajax = new ActiveXObject("Msxml12.XMLHTTP"); 322 } catch (e) 323 { 324 Ajax = new ActiveXObject("Microsoft.XMLHTTP"); 325 } 326 } 327 var responseRequest = function (){ 328 if (Ajax.readyState == 4) 329 if (Ajax.status == 200) 330 handler(Ajax.responseText); 331 else 332 alert("Erro temporario de conexão"); 333 } 334 335 336 AjaxRequest(); 337 if (!Ajax){ 338 alert("Erro ao conectar-se"); 339 return; 340 } 341 342 Ajax.onreadystatechange = responseRequest; 343 if (typeof(method) == 'undefined') 344 method = 'GET'; 345 Ajax.open(method, requestURL, true); 346 Ajax.send(null); 347 } 284 348 var XMLTools = new XMLTools(); 285 349 var xtools = new XTools; -
trunk/expressoCalendar/setup/phpgw_pt-br.lang
r632 r665 1 1 %1 %2 in %3 calendar pt-br %1 %2 em %3 2 %1 of %2 calendar pt-br %1 de %2 2 3 %1 matches found calendar pt-br %1 ocorrências encontradas 3 4 1 match found calendar pt-br 1 ocorrência encontrada … … 138 139 firstname of person to notify calendar pt-br Primeiro nome da pessoa a ser notificada 139 140 format of event updates calendar pt-br Formato de atualizção de eventos 141 event updated successfully calendar pt-br Evento autualizado com sucesso 140 142 (for weekly) calendar pt-br (por semana) 141 143 Fr calendar pt-br Se … … 339 341 text calendar pt-br Texto 340 342 th calendar pt-br Qu 343 cancel calendar pt-br Cancelar 341 344 The commitment was accepted successfully! calendar pt-br O compromisso foi aceito com sucesso! 342 345 The commitment was rejected successfully! calendar pt-br O compromisso foi rejeitado com sucesso! -
trunk/expressoCalendar/templates/default/main.css
r632 r665 59 59 } 60 60 61 .action_error_th { 62 font-family: Verdana, Arial, Helvetica, sans-serif; 63 font-size: 11px; 64 border-width: 0px 0px 0px 0px; 65 padding: 1px 10px 0px 10px; 66 border-style: inset inset inset inset; 67 border-color: gray gray gray gray; 68 background-color: red; 69 color: white; 70 -moz-border-radius: 6px 6px 6px 6px; 71 } 72 73 61 74 .resize_div { 62 75 position: absolute; -
trunk/expressoCalendar/xsl/viewDay.xsl
r656 r665 21 21 </table> 22 22 </div> 23 <div id="returnEvents">24 <xsl:for-each select="calEvent">25 <xsl:variable name="event_id" select="id" />26 <xsl:variable name="datetime" select="datetime" />27 <xsl:variable name="edatetime" select="edatetime" />28 <xsl:if test="id > 0">29 <div id="event_{$event_id}">30 <div id="{$datetime}"></div>31 <div id="{$edatetime}"></div>32 <xsl:value-of select='title' />33 <br/>34 <xsl:value-of select='description' />35 </div>36 </xsl:if>37 </xsl:for-each>38 </div>39 23 </xsl:template> 40 24 </xsl:stylesheet> -
trunk/expressoCalendar/xsl/viewMonth.xsl
r632 r665 30 30 </table> 31 31 </div> 32 <div id="returnEvents">33 <xsl:for-each select="calEvent">34 <xsl:variable name="event_id" select="id" />35 <xsl:variable name="datetime" select="datetime" />36 <xsl:variable name="edatetime" select="edatetime" />37 <xsl:if test="id > 0">38 <div id="event_{$event_id}">39 <div id="{$datetime}"></div>40 <div id="{$edatetime}"></div>41 <xsl:value-of select='title' />42 </div>43 </xsl:if>44 </xsl:for-each>45 </div>46 32 </xsl:template> 47 33 </xsl:stylesheet> -
trunk/expressoCalendar/xsl/viewWeek.xsl
r632 r665 39 39 </table> 40 40 </div> 41 <div id="returnEvents">42 <xsl:for-each select="calEvent">43 <xsl:variable name="event_id" select="id" />44 <xsl:variable name="datetime" select="datetime" />45 <xsl:variable name="edatetime" select="edatetime" />46 <xsl:if test="id > 0">47 <div id="event_{$event_id}">48 <div id="{$datetime}"></div>49 <div id="{$edatetime}"></div>50 <xsl:value-of select='title' />51 <br/>52 <xsl:value-of select='description' />53 </div>54 </xsl:if>55 </xsl:for-each>56 </div>57 41 </xsl:template> 58 42 </xsl:stylesheet>
Note: See TracChangeset
for help on using the changeset viewer.