Changeset 6877


Ignore:
Timestamp:
07/25/12 17:48:06 (9 years ago)
Author:
cristiano
Message:

Ticket #2898 - Bug na exibição do campo DE - send message

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoAdmin1_2/js/jscode/messages_size.js

    r5144 r6877  
    586586        { 
    587587         
    588                 //Element('em_input_readAcl').checked = false; 
    589                 //Element('em_input_deleteAcl').checked = false; 
    590                 //Element('em_input_writeAcl').checked = false; 
    591                 //Element('em_input_sendAcl').checked = false; 
    592                 //Element('em_input_saveAcl').checked = false; 
    593                 //Element('em_input_saveAcl').disabled = true; 
    594                 //Element('em_input_folderAcl').checked = false; 
    595588                 
    596                 if (this.ownersAcl[user] != "false" && this.ownersAcl[user].indexOf('lrs',0) >= 0) 
    597                 { 
    598                         Element('em_input_sendAcl').disabled = false; 
    599                         Element('em_input_readAcl').checked = true; 
     589                if ( (this.ownersAcl[user].indexOf('l',0) >= 0) && 
     590                         (this.ownersAcl[user].indexOf('r',0) >= 0) && 
     591                         (this.ownersAcl[user].indexOf('s',0) >= 0)  
     592                    ) 
     593                { 
     594                    Element('em_input_sendAcl').disabled = false; 
     595                    Element('em_input_readAcl').checked = true; 
    600596                } 
    601597                else 
    602                         Element('em_input_sendAcl').disabled = true; 
     598                    Element('em_input_sendAcl').disabled = true; 
     599                                 
     600                if ( (this.ownersAcl[user].indexOf('t',0) >= 0) && 
     601                         (this.ownersAcl[user].indexOf('e',0) >= 0)  
     602                   ) 
     603                { 
     604                    Element('em_input_deleteAcl').checked = true; 
     605                } 
     606                if ( (this.ownersAcl[user].indexOf('w',0) >= 0) && 
     607                         (this.ownersAcl[user].indexOf('i',0) >= 0)  
     608                   ) 
     609                { 
     610                    Element('em_input_writeAcl').checked = true; 
     611                }                
     612                if ((this.ownersAcl[user].indexOf('p',0) >= 0) && 
     613                        (this.ownersAcl[user].indexOf('a',0) >= 0) ) 
     614                { 
     615                    Element('em_input_sendAcl').disabled = false; 
     616                    Element('em_input_sendAcl').checked = true; 
     617                } 
     618 
     619                if ( (this.ownersAcl[user].indexOf('k',0) >= 0) && 
     620                         (this.ownersAcl[user].indexOf('x',0) >= 0)  
     621                   ) 
     622                { 
     623                    Element('em_input_folderAcl').checked = true; 
     624                } 
     625 
     626        } 
     627         
     628        cShareMailbox.prototype.setaclfromuser = function() 
     629        { 
     630            var acl             = ''; 
     631            var select  = Element('ea_select_owners'); 
     632 
     633            if(select.selectedIndex == "-1"){ 
     634                alert("Selecione antes um usuario!"); 
     635                return false; 
     636            } 
     637                         
     638            for(var k = 0; k < select.options.length; k ++ ) 
     639            { 
     640                if(select.options[k].selected !== true ) continue; 
     641                             
     642                             
     643                acl = ''; 
     644                var user = select.options[k].value; 
    603645                         
    604                 if (this.ownersAcl[user] != "false" && this.ownersAcl[user].indexOf('d',0) >= 0) 
    605                 { 
    606                         Element('em_input_deleteAcl').checked = true; 
    607                 } 
    608                 if (this.ownersAcl[user] != "false" && this.ownersAcl[user].indexOf('wi',0) >= 0) 
    609                 { 
    610                         Element('em_input_writeAcl').checked = true; 
    611                 }                
    612                 if (this.ownersAcl[user] != "false" && this.ownersAcl[user].indexOf('a',0) >= 0) 
    613                 { 
    614                         Element('em_input_sendAcl').disabled = false; 
    615                         Element('em_input_sendAcl').checked = true; 
    616                 } 
    617                 if (this.ownersAcl[user] != "false" && this.ownersAcl[user].indexOf('p',0) >= 0) 
    618                 { 
    619                         Element('em_input_saveAcl').disabled = false; 
    620                         Element('em_input_saveAcl').checked = true; 
    621                 } 
    622                 if (this.ownersAcl[user] != "false" && this.ownersAcl[user].indexOf('c',0) >= 0) 
    623                 { 
    624                         Element('em_input_folderAcl').checked = true; 
    625                 } 
    626                 if( this.ownersAcl[user] != "false" && Element('em_input_writeAcl').checked && Element('em_input_sendAcl').checked ){ 
    627                         Element('em_input_saveAcl').disabled = false; 
    628                 } else Element('em_input_saveAcl').disabled = true; 
    629         } 
    630          
    631         cShareMailbox.prototype.setaclfromuser = function() 
    632         { 
    633                 var acl         = ''; 
    634                 var select      = Element('ea_select_owners'); 
    635  
    636                 if(select.selectedIndex == "-1"){ 
    637                         alert("Selecione antes um usuario!"); 
    638                         return false; 
    639                 } 
    640                 var user = select.options[select.selectedIndex].value; 
    641                  
    642646                if (Element('em_input_readAcl').checked) { 
    643                         Element('em_input_sendAcl').disabled = false; 
    644                         acl = 'lrs'; 
     647                    Element('em_input_sendAcl').disabled = false; 
     648                    acl = 'lrsa'; 
    645649                } 
    646650                else{ 
    647                         Element('em_input_sendAcl').disabled = true; 
    648                         Element('em_input_sendAcl').checked = false; 
    649                 } 
    650                                  
     651                    Element('em_input_sendAcl').disabled = true; 
     652                    Element('em_input_sendAcl').checked = false; 
     653                } 
     654                                         
    651655                if (Element('em_input_deleteAcl').checked) 
    652                         acl += 'd'; 
     656                    acl += 'te'; 
    653657 
    654658                if (Element('em_input_writeAcl').checked) 
    655                         acl += 'wi'; 
     659                    acl += 'wi'; 
    656660 
    657661                if (Element('em_input_sendAcl').checked) 
    658                         acl += 'a'; 
    659                  
     662                    acl += 'p'; 
     663                         
    660664                if (Element('em_input_folderAcl').checked) 
    661                         acl += 'c'; 
    662                                  
    663                 if (Element('em_input_sendAcl').checked && Element('em_input_writeAcl').checked){ 
    664                         Element('em_input_saveAcl').disabled = false;                            
    665                 } else { 
    666                         Element('em_input_saveAcl').disabled = true; 
    667                         Element('em_input_saveAcl').checked = false; 
    668                 } 
    669                 if (Element('em_input_saveAcl').checked) 
    670                         acl += 'p'; 
     665                    acl += 'kx'; 
     666                                         
     667 
     668                                 
    671669                this.ownersAcl[user] = acl;              
     670                }        
    672671        } 
    673672                 
     
    730729                Element('em_input_writeAcl').checked = false; 
    731730                Element('em_input_sendAcl').checked = false; 
    732                 Element('em_input_saveAcl').checked = false; 
    733731                Element('em_input_folderAcl').checked = false; 
    734732        } 
  • trunk/expressoAdmin1_2/js/jscode/shared_accounts.js

    r6096 r6877  
    173173        Element('em_input_writeAcl').checked = false; 
    174174        Element('em_input_sendAcl').checked = false; 
    175         Element('em_input_saveAcl').checked = false; 
    176175        Element('em_input_folderAcl').checked = false; 
    177176                 
     
    339338                Element('em_input_writeAcl').disabled = true; 
    340339                Element('em_input_sendAcl').disabled = true; 
    341                 Element('em_input_saveAcl').disabled = true; 
    342340                Element('em_input_folderAcl').disabled = true; 
    343341            } 
     
    625623    Element('em_input_writeAcl').checked = false; 
    626624    Element('em_input_sendAcl').checked = false; 
    627     Element('em_input_saveAcl').checked = false; 
    628     Element('em_input_saveAcl').disabled = true; 
    629625    Element('em_input_folderAcl').checked = false; 
    630626    Element('em_input_readCalendar').checked = false; 
     
    707703    if(this.ownersAcl[user]) 
    708704    { 
    709         if ( this.ownersAcl[user].indexOf('lrs',0) >= 0) 
     705        if ( (this.ownersAcl[user].indexOf('l',0) >= 0) && 
     706                 (this.ownersAcl[user].indexOf('r',0) >= 0) && 
     707                 (this.ownersAcl[user].indexOf('s',0) >= 0)  
     708            ) 
    710709        { 
    711710            Element('em_input_sendAcl').disabled = false; 
     
    715714            Element('em_input_sendAcl').disabled = true; 
    716715                         
    717         if ( this.ownersAcl[user].indexOf('d',0) >= 0) 
     716        if ( (this.ownersAcl[user].indexOf('t',0) >= 0) && 
     717                 (this.ownersAcl[user].indexOf('e',0) >= 0)  
     718           ) 
    718719        { 
    719720            Element('em_input_deleteAcl').checked = true; 
    720721        } 
    721         if ( this.ownersAcl[user].indexOf('wi',0) >= 0) 
     722        if ( (this.ownersAcl[user].indexOf('w',0) >= 0) && 
     723                 (this.ownersAcl[user].indexOf('i',0) >= 0)  
     724           ) 
    722725        { 
    723726            Element('em_input_writeAcl').checked = true; 
    724727        }                
    725         if (this.ownersAcl[user].indexOf('a',0) >= 0) 
     728        if ((this.ownersAcl[user].indexOf('p',0) >= 0) && 
     729                (this.ownersAcl[user].indexOf('a',0) >= 0) ) 
    726730        { 
    727731            Element('em_input_sendAcl').disabled = false; 
    728732            Element('em_input_sendAcl').checked = true; 
    729733        } 
    730         if ( this.ownersAcl[user].indexOf('p',0) >= 0) 
    731         { 
    732             Element('em_input_saveAcl').disabled = false; 
    733             Element('em_input_saveAcl').checked = true; 
    734         } 
    735         if ( this.ownersAcl[user].indexOf('c',0) >= 0) 
     734 
     735        if ( (this.ownersAcl[user].indexOf('k',0) >= 0) && 
     736                 (this.ownersAcl[user].indexOf('x',0) >= 0)  
     737           ) 
    736738        { 
    737739            Element('em_input_folderAcl').checked = true; 
    738740        } 
    739         if( Element('em_input_writeAcl').checked && Element('em_input_sendAcl').checked ){ 
    740             Element('em_input_saveAcl').disabled = false; 
    741         } else Element('em_input_saveAcl').disabled = true; 
     741 
    742742    } 
    743743} 
     
    771771                                 
    772772        if (Element('em_input_deleteAcl').checked) 
    773             acl += 'd'; 
     773            acl += 'te'; 
    774774 
    775775        if (Element('em_input_writeAcl').checked) 
     
    777777 
    778778        if (Element('em_input_sendAcl').checked) 
    779             acl += 'a'; 
     779            acl += 'pa'; 
    780780                 
    781781        if (Element('em_input_folderAcl').checked) 
    782             acl += 'c'; 
     782            acl += 'kx'; 
    783783                                 
    784         if (Element('em_input_sendAcl').checked && Element('em_input_writeAcl').checked){ 
    785             Element('em_input_saveAcl').disabled = false;                                
    786         } else { 
    787             Element('em_input_saveAcl').disabled = true; 
    788             Element('em_input_saveAcl').checked = false; 
    789         } 
    790         if (Element('em_input_saveAcl').checked) 
    791             acl += 'p'; 
     784 
    792785                         
    793786        this.ownersAcl[user] = acl;              
     
    980973    Element('em_input_writeAcl').checked = false; 
    981974    Element('em_input_sendAcl').checked = false; 
    982     Element('em_input_saveAcl').checked = false; 
    983975    Element('em_input_folderAcl').checked = false; 
    984976                 
  • trunk/expressoAdmin1_2/templates/default/shared_accounts_modal.tpl

    r6157 r6877  
    9595                        <tr><td>{lang_creation}:</td><td><input id="em_input_writeAcl" onclick="return sharemailbox.setaclfromuser();" type="checkbox"><img title="{lang_this_user_will_can_create/add_messages}." src="./expressoAdmin1_2/templates/default/images/ajuda.jpg"></td></tr> 
    9696                        <tr><td>{lang_send}:</td><td><input disabled="disabled" id="em_input_sendAcl" onclick="return sharemailbox.setaclfromuser();" type="checkbox"><img title="{lang_this_user_will_can_send_messages}." src="./expressoAdmin1_2/templates/default/images/ajuda.jpg"></td></tr> 
    97                         <tr><td>{lang_save}:</td><td><input disabled="disabled" id="em_input_saveAcl" onclick="return sharemailbox.setaclfromuser();" type="checkbox"><img title="{lang_this_user_will_save_the_sent_messages_on_this_mailbox}." src="./expressoAdmin1_2/templates/default/images/ajuda.jpg"></td></tr> 
    9897                        <tr><td>{lang_folder}:</td><td><input id="em_input_folderAcl" onclick="return sharemailbox.setaclfromuser();" type="checkbox"><img title="{lang_allow_create_or_delete_folders_on_this_mailbox}." src="./expressoAdmin1_2/templates/default/images/ajuda.jpg"></td></tr> 
    9998                        </tbody></table> 
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r6871 r6877  
    43614361        { 
    43624362                $return = array(); 
    4363                 $mbox_stream = $this->open_mbox(); 
     4363                $mbox_stream = $this->open_mbox('INBOX'); 
    43644364                 
    43654365                if( $decode ) 
     
    43694369                //Afim de tratar as pastas compartilhadas, verificandos as permissoes de operacao sobre as mesmas 
    43704370                //No caso de se tratar da caixa do proprio usuario logado, utiliza a sintaxe abaixo 
    4371                 if(substr($user,0,4) != 'user') 
    4372                 $mbox_acl = imap_getacl($mbox_stream, 'user'.$this->imap_delimiter.$user); 
     4371                if(substr($user,0,5) != 'user'.$this->imap_delimiter) 
     4372                        $mbox_acl = imap_getacl($mbox_stream, 'user'.$this->imap_delimiter.$user); 
    43734373                else 
    4374                   $mbox_acl = @imap_getacl($mbox_stream, $user); 
    4375                  
    4376                 if(isset($mbox_acl[$this->username])) 
    4377                 return $mbox_acl[$this->username]; 
    4378                 else  
    4379                     return ''; 
     4374                        $mbox_acl = imap_getacl($mbox_stream, $user); 
     4375                 
     4376                return (isset($mbox_acl[$this->username])) ? $mbox_acl[$this->username] : ''; 
     4377                
    43804378        } 
    43814379 
  • trunk/expressoMail1_2/inc/class.ldap_functions.inc.php

    r6868 r6877  
    893893        function getSharedUsersFrom($params){ 
    894894                $filter = ''; 
    895                 //Added to save if must save sent messages in shared folder 
    896                 $acl_save_sent_in_shared = array(); 
    897                  
    898         $acls = $this->imap->getacl(); 
    899  
    900                 if($params['uids']) { 
    901                         $uids = explode(";",$params['uids']); 
    902                         $this->imap = new imap_functions();                      
    903                         foreach($uids as $index => $uid){                
    904                          
    905                                 $params = array(); 
    906                                 //Added to save if user has create permission  
    907                                 $acl_create_message = array(); 
    908                                 $user_arr = array(); 
    909                                 $user_arr['user'] = $uid; 
    910                                 $user_arr['getShared'] = true; 
    911                                  
    912                                 if(isset($acls[$uid])){ 
    913                                         if ( preg_match("/[pa]+/",$acls[$uid]['acls'])){         
    914                                                 $filter .= "(uid=$uid)";                                                         
    915                                                 $acl_save_sent_in_shared[] =$uid;                        
    916                                         }        
    917                                 } 
    918                         }                        
    919                 } 
     895        $i = 0;          
     896        //Added to save if must save sent messages in shared folder 
     897        $acl_save_sent_in_shared = array(); 
     898        
     899        if($params['uids']) { 
     900                $uids = explode(";",$params['uids']); 
     901                $this->imap = new imap_functions();                      
     902                foreach($uids as $index => $uid){ 
     903                        $params = array(); 
     904                        //Added to save if user has create permission 
     905                        $acl_create_message = array(); 
     906                        $acl = $this->imap->getacltouser($uid ,true); 
     907   
     908                        if ( preg_match("/p/",$acl )){                          
     909                            $filter .= "(uid=$uid)";                                                     
     910                            $acl_save_sent_in_shared[ $i ] =$uid; 
     911                            $i++; 
     912                                                                        
     913                        }                                                        
     914                }                        
     915        } 
    920916                 
    921917                $this->ldapRootConnect(false); 
     
    936932                                } 
    937933                        } 
    938                  
     934 
    939935                        $info['myname'] = $_SESSION['phpgw_info']['expressomail']['user']['fullname']; 
    940936 
     
    952948                                $result = ldap_get_entries($this->ds, $sr); 
    953949                                for ($j = 0;$j < $result["count"]; $j++){ 
    954                                         $info[$i]['cn'][0] = utf8_decode($result[$j]['cn'][0]); 
    955                                         $info[$i]['mail'][0] = $result[$j]['mail'][0]; 
    956                                         $info[$i]['save_shared'][0] = 'n'; 
    957                                         $info[$i++]['uid'][0] = $result[$j]['uid'][0];                                   
     950                                        $result[$j]['cn'][0] = utf8_decode($result[$j]['cn'][0]); 
     951                                        $result[$j]['mail'][0] = $result[$j]['mail'][0]; 
     952                                        $result[$j]['save_shared'][0] = 'n'; 
     953                                        $info[$info['count']] = $result[$j]; 
     954                                        $info['count'] = (int)$info['count'] + 1;                        
    958955                                } 
    959956                        } 
    960957 
    961958                        $_SESSION['phpgw_info']['expressomail']['user']['shared_mailboxes'] = $info; 
     959 
    962960                        return $info; 
    963961                } 
  • trunk/expressoMail1_2/js/sharemailbox.js

    r6848 r6877  
    4646                if ((this.users[user].acls.indexOf('l',0) >= 0) && 
    4747                        (this.users[user].acls.indexOf('r',0) >= 0) && 
     48                         
    4849                        (this.users[user].acls.indexOf('s',0) >= 0) ) 
    4950                { 
     
    7374                } 
    7475                 
    75                 if (this.users[user].acls != "false" && this.users[user].acls.indexOf('p',0) >= 0) 
     76                if (this.users[user].acls != "false" && this.users[user].acls.indexOf('p',0) >= 0 && this.users[user].acls.indexOf('a',0) >= 0) 
    7677                { 
    7778                        Element('em_input_sendAcl').disabled = false; 
     
    117118                }                
    118119                if (Element('em_input_sendAcl').checked){ 
    119                         acl += 'p';                      
     120                        acl += 'pa';                     
    120121                } 
    121122 
Note: See TracChangeset for help on using the changeset viewer.