Changeset 665 for trunk/expressoCalendar


Ignore:
Timestamp:
02/06/09 08:41:18 (15 years ago)
Author:
niltonneto
Message:

Alterações feitas pelo desenvolvedor, referente ao expressoCalendar (nova agenda).
Alexandre MUller => amuller@…

Location:
trunk/expressoCalendar
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoCalendar/inc/class.uicalendar.inc.php

    r656 r665  
    9898 
    9999                $retorno = "<today>".date('Ydm',$dayViewTime)."</today>"; 
    100  
    101                 $fromBo = $this->db_obj->requestDayCal($dayViewTime); 
    102100                // Printing results in XML 
    103101                for($i = $this->workdaystarts; $i <= $this->workdayends; $i = $i + 0.5) 
     
    109107                 
    110108                $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 
    125131        function getViewWeek () { 
    126132                $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())); 
     
    129135                if (isset ($_REQUEST["uid"])) 
    130136                        $this->db_obj->user_id = $_REQUEST["uid"]; 
    131  
    132  
    133                 $fromBo = $this->db_obj->requestWeekCal($dayViewTime); 
    134137 
    135138                for($i = $this->workdaystarts; $i <= $this->workdayends; $i = $i + 0.5){ 
     
    146149                } 
    147150 
     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 
    148166 
    149167                // Printing results in XML 
     
    151169                        foreach ($fromBo as $line) { 
    152170                                if ($line['datetime'] > 0){ 
    153                                         $retorno .= "<calEvent>"; 
     171                                        $retorno .= "<calevent>"; 
    154172                                        $retorno .= "<id>".$line['cal_id']."</id>"; 
    155173                                        $retorno .= "<title>".htmlspecialchars($line['title'])."</title>"; 
     
    157175                                        $retorno .= "<edatetime>".($line['edatetime']*1000)."</edatetime>"; 
    158176                                        $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>"; 
    159                                         $retorno .= "</calEvent>"; 
     177                                        $retorno .= "</calevent>"; 
    160178                                } 
    161179                        } 
    162180                return $retorno; 
    163181        } 
     182 
    164183 
    165184        function getDetails (){ 
     
    171190                return $buff; 
    172191        } 
    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         
    174215        function getViewMonth () { 
    175216                $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())); 
     
    179220                $todayTime = strtotime(date('Y-m', $monthViewTime)."-01"); 
    180221                $retorno = "<today>".date('Ydm', $monthViewTime)."</today>"; 
    181                 $fromBo = $this->db_obj->requestMonthCal($todayTime); 
    182222 
    183223                for ($i=1;$i<=date('t',$monthViewTime);$i++){ 
     
    199239                 } 
    200240 
    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); 
    202250                // Printing results in XML 
    203251                if (is_array($fromBo)) 
    204252                foreach ($fromBo as $line) { 
    205253                        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>"; 
    228255                                $retorno .= "<id>".$line['cal_id']."</id>"; 
    229256                                $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>"; 
    230                                 $retorno .= "</calEvent>"; 
     257                                $retorno .= "</calevent>"; 
    231258                        } 
    232259                } 
  • trunk/expressoCalendar/js/calendar_functions.js

    r656 r665  
    2929                        document.getElementById("div_main").style.opacity = 1; 
    3030                        document.getElementById("div_main").filters.alpha.opacity=100; 
    31                 } catch (e) {  } 
     31                } catch (e) {}; 
    3232        return true; 
    3333        } 
     
    5555        divAddDialog.innerHTML = xtools.parse(data, xsl); 
    5656        var closeButton = document.getElementById('closeDialog'); 
    57         if (is_ie){ 
     57        if (is_ie) 
     58        { 
    5859                closeButton.style.left = '285px'; 
    5960                closeButton.style.top = '5px'; 
    60         }else{ 
     61        } 
     62        else 
     63        { 
    6164                closeButton.style.left = '320px'; 
    6265                closeButton.style.top = '25px'; 
     
    112115                        document.getElementById("l_date").innerHTML += "<a href=\"javascript:calendar.getView('div_main','"+viewType+"','&time='+this.nextView);\">&nbsp;\>\></a>"; 
    113116 
    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); 
    117125                } 
     126                XMLTools.__RETURN_MODE__ = 'XML'; 
     127                XMLTools.request('$this.uicalendar.getEvents'+type+(data?data:'')+'&uid='+calendar.uid, 'GET', getEventsDay); 
    118128 
    119129        }; 
     
    137147            var div = document.getElementById(this.idEl); 
    138148            div.innerHTML = xtools.parse(data, xsl); 
     149            document.getElementById('divAppbox').style.height = "100%"; 
    139150        } 
    140151        catch(e){ 
     
    142153        } 
    143154 
    144         if (type == 'Week' || type == 'Month'){ 
     155        if (type == 'Week' || type == 'Month') 
     156        { 
    145157                var trWeek = document.getElementById('tr_week'); 
    146158                for (var i=0; i < trWeek.childNodes.length; i++) 
     
    202214                default: month = ""; break; 
    203215        } 
    204         return get_lang(month); 
     216        return get_lang("%1 of %2",get_lang(month),(obj.getYear()+1900)); 
    205217} 
    206218Calendar.prototype.parseDate = function (timeStamp) { 
     
    242254} 
    243255var calendar = new Calendar(); 
     256 
     257// This array stores the events in table to avoid conflict in screen 
     258var screenTable = new Array(); 
     259var today = new Date(); 
     260var weekDay = today.getDay(); 
     261function 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  
    1212} 
    1313 
    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); 
     14function 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); 
    9524} 
    9625 
     
    12857        } 
    12958} 
    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 } 
     59function 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        } 
    162119 
    163120function showDetails(eventId){ 
    164         var handler_getDetails = function (data) 
    165         { 
     121        var handler_embeddedHTML = function (data) { 
    166122                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                { 
    169126                        divAddDialog = document.createElement("DIV"); 
    170127                        divAddDialog.id = 'divAddDialog'; 
     
    174131                        document.body.appendChild(divAddDialog); 
    175132                } 
    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; } 
    179155                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); 
    204158} 
    205159function removeButtons(eventDiv){ 
     
    215169        var handler_removeEvent = function (data) { 
    216170                var xsl = XMLTools.load('xsl/returnData.xsl?'+ Date.parse(new Date)); 
    217                 var serverRet = xtools.parse(data, xsl); 
     171                var serverRet = xtools.parse(data, xsl); 
    218172                serverRet = serverRet.substr(serverRet.indexOf('>')+1); 
    219173                var retStatus = serverRet.substr(0,5); 
  • trunk/expressoCalendar/js/connector.js

    r632 r665  
    9595        } 
    9696var 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        } 
    98108        XMLTools.prototype = { 
    99109                "__DEBUG__" : false, 
     
    282292        }; 
    283293 
     294function 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 
     312function 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} 
    284348        var XMLTools = new XMLTools(); 
    285349        var xtools = new XTools; 
  • trunk/expressoCalendar/setup/phpgw_pt-br.lang

    r632 r665  
    11%1 %2 in %3     calendar        pt-br   %1 %2 em %3 
     2%1 of %2        calendar        pt-br   %1 de %2 
    23%1 matches found        calendar        pt-br   %1 ocorrências encontradas 
    341 match found   calendar        pt-br   1 ocorrência encontrada 
     
    138139firstname of person to notify   calendar        pt-br   Primeiro nome da pessoa a ser notificada 
    139140format of event updates calendar        pt-br   Formato de atualizção de eventos 
     141event updated successfully      calendar        pt-br   Evento autualizado com sucesso 
    140142(for weekly)    calendar        pt-br   (por semana) 
    141143Fr      calendar        pt-br   Se 
     
    339341text    calendar        pt-br   Texto 
    340342th      calendar        pt-br   Qu 
     343cancel  calendar        pt-br   Cancelar 
    341344The commitment was accepted successfully!       calendar        pt-br   O compromisso foi aceito com sucesso! 
    342345The commitment was rejected successfully!       calendar        pt-br   O compromisso foi rejeitado com sucesso! 
  • trunk/expressoCalendar/templates/default/main.css

    r632 r665  
    5959} 
    6060 
     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 
    6174.resize_div { 
    6275        position: absolute; 
  • trunk/expressoCalendar/xsl/viewDay.xsl

    r656 r665  
    2121</table> 
    2222</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> 
    3923</xsl:template> 
    4024</xsl:stylesheet> 
  • trunk/expressoCalendar/xsl/viewMonth.xsl

    r632 r665  
    3030        </table> 
    3131</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> 
    4632</xsl:template> 
    4733</xsl:stylesheet> 
  • trunk/expressoCalendar/xsl/viewWeek.xsl

    r632 r665  
    3939</table>         
    4040</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> 
    5741</xsl:template> 
    5842</xsl:stylesheet> 
Note: See TracChangeset for help on using the changeset viewer.