Changeset 464


Ignore:
Timestamp:
09/22/08 17:44:03 (16 years ago)
Author:
niltonneto
Message:

Alterações feitas por Alexandre Muller.
Melhorias e correção na versão AJAX da Agenda.
Email: amuller@…

Location:
trunk/calendar_new
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/calendar_new/inc/class.bocalendar.inc.php

    r457 r464  
    3030        function requestDayCal ($dayTime) { 
    3131                $query = ("SELECT * FROM phpgw_cal where (owner = '".$this->user_id."') and ((datetime > ".$dayTime." and datetime < ".($dayTime+86400).") or (edatetime > ".$dayTime." and edatetime < ".($dayTime+86400)."))"); 
    32  
    3332                if (!$this->db->query($query)) 
    3433                        return false; 
     
    3635                while($this->db->next_record()) 
    3736                        $result[] = $this->db->row(); 
    38  
    3937                return $result; 
    4038        } 
  • trunk/calendar_new/inc/class.uicalendar.inc.php

    r457 r464  
    2424                $end = isset ($_REQUEST["end"]) ? $_REQUEST["end"] : NULL; 
    2525                $title = isset ($_REQUEST["title"]) ? $_REQUEST["title"] : NULL; 
     26                $description = isset ($_REQUEST["desc"]) ? $_REQUEST["desc"] : NULL; 
     27 
    2628                if ($start == NULL || $end == NULL || $title == NULL) 
    2729                        return "false;Empty field"; 
     
    3335                        return "false;Wrong formed text"; 
    3436 
    35                 return $this->db_obj->insertEvent($start, $end, $title); 
     37                return $this->db_obj->insertEvent($start, $end, $title, $description); 
    3638        } 
    3739 
     
    8385                                        $retorno .= "<calEvent>"; 
    8486                                        $retorno .= "<id>".$line['cal_id']."</id>"; 
    85                                         $retorno .= "<title>".$line['description']."</title>"; 
     87                                        $retorno .= "<title>".$line['title']."</title>"; 
     88                                        $retorno .= "<description>".$line['description']."</description>"; 
    8689                                        $retorno .= "<edatetime>".($line['edatetime']*1000)."</edatetime>"; 
    8790                                        $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>";        
    8891                                        $retorno .= "</calEvent>"; 
    89                                 } 
     92                        } 
    9093                 
    9194                return $retorno; 
     
    118121                                        $retorno .= "<calEvent>"; 
    119122                                        $retorno .= "<id>".$line['cal_id']."</id>"; 
    120                                         $retorno .= "<title>".$line['description']."</title>"; 
     123                                        $retorno .= "<title>".$line['title']."</title>"; 
     124                                        $retorno .= "<description>".$line['description']."</description>"; 
    121125                                        $retorno .= "<edatetime>".($line['edatetime']*1000)."</edatetime>"; 
    122126                                        $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>"; 
     
    130134                $eventId = isset ($_REQUEST["id"]) ? $_REQUEST["id"] : NULL; 
    131135                $fromBo = $this->db_obj->requestDetailsEvent($eventId); 
    132                 $_SESSION['debug'] = $fromBo; 
    133136                foreach ($fromBo[0] as $field => $line) { 
    134137                        $buff .= "<".$field.">".$line."</".$field.">"; 
     
    169172                                $retorno .= "<calEvent>"; 
    170173                                $retorno .= "<id>".$line['cal_id']."</id>"; 
    171                                 $retorno .= "<title>".$line['description']."</title>"; 
     174                                $retorno .= "<title>".$line['title']."</title>"; 
    172175                                $retorno .= "<edatetime>".($line['edatetime']*1000)."</edatetime>"; 
    173176                                $retorno .= "<datetime>".($line['datetime']*1000)."</datetime>"; 
  • trunk/calendar_new/js/calendar_functions.js

    r437 r464  
    5252        divAddDialog.style.left = "300px"; //cell.offsetLeft + document.body.scrollLeft; 
    5353        divAddDialog.style.top  = "200px"; //cell.offsetTop - 100 + document.getElementById('div_main').offsetTop; 
    54         var elData = XMLTools.ParseXmlXsl(data, xsl); 
    5554        divAddDialog.style.display = "block"; 
    56         divAddDialog.innerHTML = elData.innerHTML; 
     55        divAddDialog.innerHTML = xtools.parse(data, xsl); 
    5756        document.getElementById('dragEventSubject').focus(); 
    5857        document.getElementById('addEventLink').innerHTML = get_lang("Add this event"); 
     58        document.getElementById('addDetailsLink').innerHTML = get_lang("Add with details"); 
     59 
    5960 
    6061        var closeButton = document.getElementById('closeDialog'); 
     
    139140            var xsl = XMLTools.load('xsl/view'+type+'.xsl?'+ Date.parse(new Date)); 
    140141            var div = document.getElementById(this.idEl); 
    141             div.innerHTML = XMLTools.transform(data, xsl); 
     142            div.innerHTML = xtools.parse(data, xsl); 
    142143        } 
    143144        catch(e){ 
  • trunk/calendar_new/js/common_functions.js

    r457 r464  
    1818function createEventDiv(eventDiv){ 
    1919        eventDiv.className = "event_div"; 
    20         eventDiv.style.height = parseInt(eventDiv.childNodes[2].id-eventDiv.childNodes[1].id)/120000+"px"; 
    21         var end_ = timeStamp2id(eventDiv.childNodes[2].id).substr(8); 
    22         var start_ = parseInt(timeStamp2id(eventDiv.childNodes[1].id).substr(8),10); 
    23  
     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); 
    2423        if (viewType == "Day"){ 
    2524                if (!screenTable[weekDay]) 
     
    4342                resizeDiv.id = "resize_" + eventDiv.id; 
    4443                resizeDiv.className = 'resize_div'; 
    45                 resizeDiv.style.right = ((parseInt(eventDiv.style.width)-10)*-1)+"px"; 
    46                 resizeDiv.style.bottom = ((parseInt(eventDiv.style.height)-24)*-1)+"px"; 
    4744                resizeDiv.onmousedown = function() { resizeEvent(eventDiv); }; 
    4845                eventDiv.appendChild(resizeDiv); 
     
    5047        if (viewType == "Week"){ 
    5148                var tempDate = new Date; 
    52                 tempDate.setTime(eventDiv.childNodes[2].id); 
     49                tempDate.setTime(eventDiv.childNodes[1].id); 
    5350                if (!screenTable[tempDate.getDay()]) 
    5451                        screenTable[tempDate.getDay()] = new Array(); 
     
    6461                eventDiv.style.width = widthValue+"px"; 
    6562 
    66                 var headerElement = document.getElementById('weekHeader_'+timeStamp2id(eventDiv.childNodes[2].id).substr(0,8)); 
     63                var headerElement = document.getElementById('weekHeader_'+timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)); 
    6764                if (currentPos > 1) 
    6865                        eventDiv.style.left = (10+(tempDate.getDay()*122)+(widthValue*currentPos))+"px"; 
     
    7067                eventDiv.style.height = "20px"; 
    7168                eventDiv.style.cursor = "pointer"; 
    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; }; 
    74                 eventDiv.onclick = function () { calendar.getView('div_main','Day','&time='+timeStamp2id(eventDiv.childNodes[2].id).substr(0,8)); }; 
    75         } 
    76  
    77         var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[1].id)); 
     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)); 
    7875 
    7976        if (viewType == "Month"){ 
    80                 var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[1].id).substr(0,8)+'0000'); 
     77                var tdElement = document.getElementById(timeStamp2id(eventDiv.childNodes[0].id).substr(0,8)+'0000'); 
    8178                eventDiv.style.width = "60px"; 
    8279                eventDiv.style.height = "15px"; 
    83                 eventDiv.onclick = function () { calendar.getView('div_main','Day','&time='+timeStamp2id(eventDiv.childNodes[2].id).substr(0,8)); }; 
     80                eventDiv.onmouseover = function () { 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)); }; 
    8483                eventDiv.style.cursor = "pointer"; 
    8584 
     
    8786         
    8887                if (tdElement.childNodes.length > 3) 
    89                         eventDiv.style.margin = "20 0 0 "+(20+(tdElement.childNodes.length-4)*25);       
     88                        eventDiv.style.margin = "20 0 0 "+(20+(tdElement.childNodes.length-4)*25); 
    9089                else 
    9190                        eventDiv.style.margin = "0 0 0 "+(20+(tdElement.childNodes.length-1)*25); 
     
    129128        } 
    130129} 
     130 
     131function addDetails(title,description,datetime,edatetime){ 
     132        data="<retorno><title>"+title+"</title><description>"+ 
     133        description+"</description><datetime>"+datetime+ 
     134        "</datetime><edatetime>"+edatetime+"</edatetime></retorno>"; 
     135 
     136        var divAddDialog = document.getElementById("divAddDialog"); 
     137        var xsl = XMLTools.load('xsl/detailsDialog.xsl?'+ Date.parse(new Date)); 
     138        if(!divAddDialog) { 
     139                divAddDialog = document.createElement("DIV"); 
     140                divAddDialog.id = 'divAddDialog'; 
     141                divAddDialog.style.zIndex = "10"; 
     142                divAddDialog.style.position = "absolute"; 
     143                divAddDialog.style.display = "none"; 
     144                document.body.appendChild(divAddDialog); 
     145        } 
     146        divAddDialog.style.left = "300px"; 
     147        divAddDialog.style.top  = "200px"; 
     148        divAddDialog.innerHTML = xtools.parse(data, xsl); 
     149        divAddDialog.style.display = "block"; 
     150} 
     151 
    131152function showDetails(eventId){ 
    132153        var handler_getDetails = function (data)  
    133154        { 
    134                 var xtools = new XTools; 
    135155                var divAddDialog = document.getElementById("divAddDialog"); 
    136156                var xsl = XMLTools.load('xsl/detailsDialog.xsl?'+ Date.parse(new Date)); 
     
    163183        var handler_removeEvent = function (data) { 
    164184                var xsl = XMLTools.load('xsl/returnData.xsl?'+ Date.parse(new Date)); 
    165                 var serverRet = XMLTools.transform(data, xsl); 
     185                var serverRet = xtools.parse(data, xsl); 
    166186                serverRet = serverRet.substr(serverRet.indexOf('>')+1); 
    167187                var retStatus = serverRet.substr(0,5); 
     
    183203} 
    184204 
    185 function quickAddEvent (title, startTime, endTime) 
     205function quickAddEvent (title, description, startTime, endTime) 
    186206{ 
    187207        var endDate = new Date(); 
     
    190210        var handler_quickAdd = function (data) { 
    191211                var xsl = XMLTools.load('xsl/returnData.xsl?'+ Date.parse(new Date)); 
    192                 var serverRet = XMLTools.transform(data, xsl); 
     212                var serverRet = xtools.parse(data, xsl); 
    193213                serverRet = serverRet.substr(serverRet.indexOf('>')+1); 
    194214                calendar.dialog('infowindow'); 
     
    213233 
    214234        } 
    215         XMLTools.request('$this.uicalendar.quickAdd&start='+parseInt(id2timeStamp(startTime)/1000)+'&end='+parseInt(endDate.getTime()/1000)+'&title='+title, 'GET', handler_quickAdd); 
     235        XMLTools.request('$this.uicalendar.quickAdd&start='+parseInt(id2timeStamp(startTime)/1000)+'&end='+parseInt(endDate.getTime()/1000)+'&title='+title+'&desc='+description, 'GET', handler_quickAdd); 
    216236} 
    217237 
    218238function changeEvent(objEvent,field,value){ 
    219         init_ = timeStamp2id(objEvent.childNodes[1].id).substr(8); 
    220         end_ = timeStamp2id(objEvent.childNodes[2].id).substr(8); 
     239        init_ = timeStamp2id(objEvent.childNodes[0].id).substr(8); 
     240        end_ = timeStamp2id(objEvent.childNodes[1].id).substr(8); 
    221241 
    222242        var handler_changeEvent = function (data){ 
    223243                var xsl = XMLTools.load('xsl/returnData.xsl?'+ Date.parse(new Date)); 
    224                 var serverRet = XMLTools.transform(data, xsl); 
     244                var serverRet = xtools.parse(data, xsl); 
    225245                serverRet = serverRet.substr(serverRet.indexOf('>')+1); 
    226246                var retStatus = serverRet.substr(1,5); 
     
    233253                                                screenTable[weekDay][hour]--; 
    234254 
    235                                         objEvent.childNodes[2].id = value*1000; 
     255                                        objEvent.childNodes[1].id = value*1000; 
    236256                                        var resizeIcon = document.getElementById("resize_"+objEvent.id); 
    237257                                        resizeIcon.parentNode.removeChild(resizeIcon); 
  • trunk/calendar_new/js/connector.js

    r420 r464  
    283283 
    284284        var XMLTools = new XMLTools(); 
     285        var xtools = new XTools; 
  • trunk/calendar_new/js/drag_area.js

    r437 r464  
    9595} 
    9696 
     97counter = 0; 
     98DragArea.prototype.moveWindow = function(e) { 
     99        var _event  = is_ie ? window.event : e; 
     100        var _button = is_ie ? _event.button : _event.which; 
     101        var id = "divAddDialog"; 
     102        if (this.pressed){ 
     103                document.getElementById(id).style.left = (_event.clientX - 70) + "px"; 
     104                document.getElementById(id).style.top = (_event.clientY - 70) + "px"; 
     105        } 
     106} 
    97107var _dragArea = new DragArea(); 
  • trunk/calendar_new/setup/phpgw_pt-br.lang

    r420 r464  
    99Year View       calendar        pt-br   Visão Anual 
    1010Add this event  calendar        pt-br   Adicionar este evento 
     11Add with details        calendar        pt-br   Adicionar com mais detalhes 
    1112Sunday  calendar        pt-br   Domingo 
    1213Monday  calendar        pt-br   Segunda-feira 
  • trunk/calendar_new/templates/default/main.css

    r437 r464  
    6060 
    6161.resize_div { 
    62         position: relative; 
     62        position: absolute; 
    6363        background: url(./images/resize.png); 
    6464        width: 11px; 
    6565        height: 11px; 
     66        bottom: 0px; 
     67        right: 0px; 
    6668        cursor: se-resize; 
    6769} 
     
    7072        background-color: rgb(239, 239, 231); 
    7173        -moz-border-radius: 5px 5px 5px 5px; 
    72         width: 130px; 
     74        width: auto; 
    7375        border: 2px #AAA solid; 
    7476        color:  #1111AA; 
  • trunk/calendar_new/xsl/addDialog.xsl

    r437 r464  
    22<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    33<xsl:template match="/text"> 
    4 <div style="position:absolute;left: 0px; top: 0px;" id="infowindow"> 
    5 <table style="position: absolute; width: 350px; height: 150px;" border="0" cellpadding="0" cellspacing="0"> 
     4<div id="infowindow"> 
     5<table style="position: absolute; width: 350px; height: 175px;" border="0" cellpadding="0" cellspacing="0" onmousedown="_dragArea.pressed = 1" onmouseup="_dragArea.pressed = 0"  onmousemove="_dragArea.moveWindow(event)"> 
    66<tbody> 
    77<tr style="height: 24px;"> 
     
    1717        </td> 
    1818        <td>  
    19         <div style="overflow: hidden; height: 110; background-color: #ffffff; z-index: 183; cursor: default"> 
     19        <div style="overflow: hidden; height: 130; background-color: #ffffff; z-index: 183; cursor: default"> 
    2020        <br/> 
    2121        <font size="-1"><xsl:value-of select="date" /></font> 
     
    2828                <td><font size="-1"><label forid="b_subject">Título:</label></font></td> 
    2929                <td class="" id="bubble_input"> 
    30                 <input style="height:18px" id="dragEventSubject" size="35" name="b_subject"/> 
     30                        <input style="height:18px" id="dragEventSubject" size="35" name="b_subject"/> 
     31                </td> 
     32        </tr> 
     33        <tr> 
     34                <td><font size="-1"><label forid="b_bdescription">Descrição:</label></font></td> 
     35                <td class="" id="bubble_input"> 
     36                        <input style="height:18px" id="dragEventDescription" size="35" name="b_description"/> 
    3137                </td> 
    3238        </tr> 
    3339        </tbody></table> 
    34         <br/> 
    35         <div id="addEventLink" class="buttontype" onclick="quickAddEvent(document.getElementById('dragEventSubject').value,_dragArea.initEvent,_dragArea.endEvent);">Add event</div> 
     40        <table><tbody><tr> 
     41                                <td> 
     42                                        <div id="addEventLink" class="buttontype" onclick="quickAddEvent(document.getElementById('dragEventSubject').value,document.getElementById('dragEventDescription').value,_dragArea.initEvent,_dragArea.endEvent);">Add event</div></td><td> 
     43                                        <div id="addDetailsLink" class="buttontype" onclick="addDetails(document.getElementById('dragEventSubject').value,document.getElementById('dragEventDescription').value,_dragArea.initEvent,_dragArea.endEvent);">Add with details</div></td> 
     44                        </tr> 
     45        </tbody></table> 
    3646        <img id="closeDialog" onclick="calendar.dialog()" src="templates/default/images/close.gif" style="position: absolute; z-index: 184; cursor: pointer;"/> 
    3747        </div> 
  • trunk/calendar_new/xsl/viewDay.xsl

    r429 r464  
    2626                <xsl:if test="id > 0"> 
    2727                        <div id="event_{$event_id}"> 
    28                                 <xsl:value-of select='title' /> 
    2928                                <div id="{$datetime}"></div> 
    3029                                <div id="{$edatetime}"></div> 
     30                                <xsl:value-of select='title' /> 
     31                                <br/> 
     32                                <xsl:value-of select='description' /> 
    3133                        </div> 
    3234                </xsl:if> 
  • trunk/calendar_new/xsl/viewMonth.xsl

    r437 r464  
    3737                <xsl:if test="id > 0"> 
    3838                        <div id="event_{$event_id}"> 
    39                                 <xsl:value-of select='title' /> 
    4039                                <div id="{$datetime}"></div> 
    4140                                <div id="{$edatetime}"></div> 
     41                                <xsl:value-of select='title' /> 
    4242                        </div> 
    4343                </xsl:if> 
  • trunk/calendar_new/xsl/viewWeek.xsl

    r420 r464  
    4646                <xsl:if test="id > 0"> 
    4747                        <div id="event_{$event_id}"> 
    48                                 <xsl:value-of select='title' /> 
    4948                                <div id="{$datetime}"></div> 
    5049                                <div id="{$edatetime}"></div> 
     50                                <xsl:value-of select='title' /> 
     51                                <br/> 
     52                                <xsl:value-of select='description' /> 
    5153                        </div> 
    5254                </xsl:if> 
Note: See TracChangeset for help on using the changeset viewer.