Changeset 6884


Ignore:
Timestamp:
07/26/12 15:59:09 (7 years ago)
Author:
eduardow
Message:

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

Location:
branches/2.4
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/2.4/expressoAdmin1_2/js/jscode/messages_size.js

    r5144 r6884  
    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  
     628cShareMailbox.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                 } 
     651                        Element('em_input_sendAcl').disabled = true;  
     652                Element('em_input_sendAcl').checked = false;  
     653            }  
    650654                                 
    651655                if (Element('em_input_deleteAcl').checked) 
    652                         acl += 'd'; 
     656                        acl += 'te';  
    653657 
    654658                if (Element('em_input_writeAcl').checked) 
     
    656660 
    657661                if (Element('em_input_sendAcl').checked) 
    658                         acl += 'a'; 
     662                        acl += 'p';  
    659663                 
    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 
    671668                this.ownersAcl[user] = acl;              
     669                } 
    672670        } 
    673671                 
     
    730728                Element('em_input_writeAcl').checked = false; 
    731729                Element('em_input_sendAcl').checked = false; 
    732                 Element('em_input_saveAcl').checked = false; 
    733730                Element('em_input_folderAcl').checked = false; 
    734731        } 
  • branches/2.4/expressoAdmin1_2/js/jscode/shared_accounts.js

    r6096 r6884  
    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        if ( (this.ownersAcl[user].indexOf('k',0) >= 0) &&  
     735                 (this.ownersAcl[user].indexOf('x',0) >= 0)   
     736       )  
    736737        { 
    737738            Element('em_input_folderAcl').checked = true; 
    738739        } 
    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; 
     740         
     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'; 
    792784                         
    793785        this.ownersAcl[user] = acl;              
     
    980972    Element('em_input_writeAcl').checked = false; 
    981973    Element('em_input_sendAcl').checked = false; 
    982     Element('em_input_saveAcl').checked = false; 
    983974    Element('em_input_folderAcl').checked = false; 
    984975                 
  • branches/2.4/expressoAdmin1_2/templates/default/shared_accounts_modal.tpl

    r6157 r6884  
    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> 
  • branches/2.4/expressoMail1_2/inc/class.imap_functions.inc.php

    r6873 r6884  
    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] : ''; 
    43804377        } 
    43814378 
  • branches/2.4/expressoMail1_2/inc/class.ldap_functions.inc.php

    r6870 r6884  
    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); 
     
    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                } 
  • branches/2.4/expressoMail1_2/js/sharemailbox.js

    r6859 r6884  
    4646            (this.users[user].acls.indexOf('r',0) >= 0) &&  
    4747            (this.users[user].acls.indexOf('s',0) >= 0) )  
     48 
    4849    {  
    4950            Element('em_input_sendAcl').disabled = false;  
     
    7273    }  
    7374      
    74     if (this.users[user].acls != "false" && this.users[user].acls.indexOf('p',0) >= 0)  
     75    if (this.users[user].acls != "false" && this.users[user].acls.indexOf('p',0) >= 0 && this.users[user].acls.indexOf('a',0) >= 0) 
    7576    {  
    7677            Element('em_input_sendAcl').disabled = false;  
     
    116117                }                
    117118                if (Element('em_input_sendAcl').checked){ 
    118                         acl += 'p';                       
     119                        acl += 'pa';                       
    119120        }  
    120121 
Note: See TracChangeset for help on using the changeset viewer.