Changeset 5864


Ignore:
Timestamp:
04/03/12 09:24:37 (12 years ago)
Author:
douglasz
Message:

Ticket #2504 - Nao ter como criar sub pastas nas Pastas compartilhadas.

Location:
trunk/expressoMail1_2
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/expressoMail1_2/inc/class.imap_functions.inc.php

    r5862 r5864  
    43894389        { 
    43904390                $useracl = $params['user']; 
    4391  
    4392                 $return = array(); 
    4393                 $return[$useracl] = 'false'; 
    4394                 $mbox_stream = $this->open_mbox(); 
    4395                 $mbox_acl = imap_getacl($mbox_stream, 'INBOX'); 
    4396  
    4397                 foreach ($mbox_acl as $user => $acl) 
    4398                 { 
    4399                         if (($user != $this->username) && ($user == $useracl)) 
    4400                         { 
    4401                                 $return[$user] = $acl; 
    4402                         } 
    4403                 } 
    4404                 return $return; 
    4405         } 
    4406  
    4407         function getacltouser($user) 
    4408         { 
    44094391                $return = array(); 
    44104392                $mbox_stream = $this->open_mbox(); 
     4393                if($params['getShared']){                
     4394                         $mbox_acl = imap_getacl($mbox_stream, 'user'.$this->imap_delimiter.$useracl);           
     4395                        foreach ($mbox_acl as $user => $acl) 
     4396                        { 
     4397                                if (($user == $this->username) && ($user != $useracl)) 
     4398                                { 
     4399                                        $return[$useracl] = $acl; 
     4400                                } 
     4401                        }                         
     4402                }else {  
     4403                        $mbox_acl = imap_getacl($mbox_stream, 'INBOX'); 
     4404                        foreach ($mbox_acl as $user => $acl) 
     4405                        { 
     4406                                if (($user != $this->username) && ($user == $useracl)) 
     4407                                { 
     4408                                        $return[$user] = $acl; 
     4409                                } 
     4410                        } 
     4411                } 
     4412                if(count($return) == 0) 
     4413                                $return[$useracl] = 'false'; 
     4414                                 
     4415                return $return; 
     4416        } 
     4417 
     4418        function getacltouser($user) 
     4419        { 
     4420                $return = array(); 
     4421                $mbox_stream = $this->open_mbox();       
     4422                 
    44114423                //Alterado, antes era 'imap_getacl($mbox_stream, 'user'.$this->imap_delimiter.$user); 
    44124424                //Afim de tratar as pastas compartilhadas, verificandos as permissoes de operacao sobre as mesmas 
     
    44164428                else 
    44174429                  $mbox_acl = @imap_getacl($mbox_stream, $user); 
     4430                 
    44184431                if(isset($mbox_acl[$this->username])) 
    44194432                return $mbox_acl[$this->username]; 
  • trunk/expressoMail1_2/inc/class.ldap_functions.inc.php

    r5821 r5864  
    883883        function getSharedUsersFrom($params){ 
    884884                $filter = ''; 
    885                 $i = 0;          
    886885                //Added to save if must save sent messages in shared folder 
    887886                $acl_save_sent_in_shared = array(); 
     
    890889                        $uids = explode(";",$params['uids']); 
    891890                        $this->imap = new imap_functions();                      
    892                         foreach($uids as $index => $uid){ 
     891                        foreach($uids as $index => $uid){                
     892                         
    893893                                $params = array(); 
    894894                                //Added to save if user has create permission  
    895895                                $acl_create_message = array(); 
    896                                 $acl = $this->imap->getacltouser($uid); 
    897                                 if ( preg_match("/a/",$acl )){                           
    898                                         $filter .= "(uid=$uid)";                                         
    899                                         if ( preg_match("/p/",$acl )){                           
    900                                                 $acl_save_sent_in_shared[ $i ] =$uid; 
    901                                                 $i++; 
    902                                         }                                        
    903                                 }                                                        
     896                                $user_arr = array(); 
     897                                $user_arr['user'] = $uid; 
     898                                $user_arr['getShared'] = true; 
     899                                $acl = $this->imap->getaclfromuser( $user_arr ); 
     900                                 
     901                                if($acl[$uid] != 'false'){ 
     902                                        if ( preg_match("/[pa]+.*[pa]+/",$acl[$uid])){   
     903                                                $filter .= "(uid=$uid)";                                                         
     904                                                $acl_save_sent_in_shared[] =$uid;                        
     905                                        }        
     906                                } 
    904907                        }                        
    905908                } 
     
    946949 
    947950                        $_SESSION['phpgw_info']['expressomail']['user']['shared_mailboxes'] = $info; 
    948                          
    949951                        return $info; 
    950952                } 
  • trunk/expressoMail1_2/js/messages_controller.js

    r5172 r5864  
    126126 
    127127        messages_proxy.prototype.proxy_rename_folder = function(){ 
    128  
    129                 if (ttree.FOLDER == 'local_Inbox') { 
    130                         alert(get_lang("It's not possible rename the folder: ") + lang_folder(ttree.FOLDER.substr(6)) + '.'); 
     128                var specialFolders = special_folders[ttree.getFolder().split(cyrus_delimiter)[ttree.getFolder().split(cyrus_delimiter).length-1]];  
     129                if (ttree.getFolder() == 'INBOX' || specialFolders ) { 
     130                        alert(get_lang("It's not possible rename the folder: ") + lang_folder((specialFolders ? specialFolders : ttree.getFolder()))+ '.'); 
    131131                        return false; 
    132132                } 
    133                 if(ttree.FOLDER == 'local_root') { 
    134                                 alert(get_lang("It's not possible rename this folder!")); 
     133                if(ttree.getFolder() == 'root') { 
     134                        alert(get_lang("It's not possible rename this folder!")); 
     135                        return false; 
     136                } 
     137                if(!specialFolders && ttree.getFolder() == get_current_folder()){ 
     138                                alert(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 
    135139                                return false; 
    136140                } 
    137                 if(ttree.FOLDER.match("^local_.*$") && ttree.FOLDER == get_current_folder()){ 
    138                         alert(get_lang("It's not possible rename this folder, because it is being used in the moment!")); 
    139                                                 return false; 
    140                 } 
    141141                 
    142                 if (this.is_local_folder(ttree.FOLDER)) { 
     142                if (this.is_local_folder(ttree.getFolder())) { 
    143143                        folder = prompt(get_lang("Enter a name for the box"), ""); 
    144                         if(folder.match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 
    145                             alert(get_lang("It's not possible rename this folder. try other folder name")); 
    146                             return false; 
     144                        if(folder.match(/[\/\\\!\@\#\$\%\&\*\+\(\)]/gi)){ 
     145                        alert(get_lang("It's not possible rename this folder. try other folder name")); 
     146                        return false; 
    147147                        } 
    148148                        if(trim(folder) == "" || trim(folder) == null){ 
  • trunk/expressoMail1_2/js/sharemailbox.js

    r5792 r5864  
    3939                        Element('em_input_writeAcl').checked    = false; 
    4040                        Element('em_input_sendAcl').checked             = false; 
    41                         Element('em_input_saveAcl').checked             = false; 
    42                          
    43                         Element('em_input_saveAcl').disabled    = true; 
     41                         
    4442            Element('em_input_deleteAcl').disabled      = true; 
    4543            Element('em_input_writeAcl').disabled       = true; 
     
    6361                        } 
    6462                         
    65                         if (data[user].indexOf('wi',0) >= 0) 
     63                        if (data[user].indexOf('w',0) >= 0) 
    6664                        { 
    6765                                Element('em_input_writeAcl').checked = true; 
     
    6967                        } 
    7068                         
    71                         if (data[user] != "false" && data[user].indexOf('a',0) >= 0) 
     69                        if (data[user] != "false" && data[user].indexOf('p',0) >= 0) 
    7270                        { 
    7371                                Element('em_input_sendAcl').disabled = false; 
    7472                                Element('em_input_sendAcl').checked = true; 
    75                         } 
    76                          
    77                         if (data[user] != "false" && data[user].indexOf('p',0) >= 0) 
    78                         { 
    79                                 Element('em_input_saveAcl').disabled = false; 
    80                                 Element('em_input_saveAcl').checked = true; 
    81                         } 
    82                          
    83                         if( data[user] != "false" && Element('em_input_writeAcl').checked && Element('em_input_sendAcl').checked ) 
    84                         { 
    85                                 Element('em_input_saveAcl').disabled = false; 
    86                         } 
    87                         else 
    88                         { 
    89                                 Element('em_input_saveAcl').disabled = true; 
    90                         } 
     73                        }                        
     74 
    9175                } 
    9276                 
     
    126110                                 
    127111                if (Element('em_input_deleteAcl').checked) 
    128                         acl += 'd'; 
     112                        acl += 'ida'; 
    129113 
    130114                if (Element('em_input_writeAcl').checked) { 
    131                         acl += 'wi';                     
     115                        acl += 'wc';                     
    132116                }                
    133117                if (Element('em_input_sendAcl').checked){ 
    134                         acl += 'a';                      
    135                 } 
    136                 if (Element('em_input_sendAcl').checked && Element('em_input_writeAcl').checked){ 
    137                         Element('em_input_saveAcl').disabled = false;                            
    138                 } else { 
    139                         Element('em_input_saveAcl').disabled = true; 
    140                         Element('em_input_saveAcl').checked = false; 
    141                 } 
    142                  
    143                 if (Element('em_input_saveAcl').checked) 
    144                         acl += 'p'; 
     118                        acl += 'pa';                     
     119                } 
    145120                 
    146121                var handler_setaclfromuser = function(data) { 
     
    237212                                                                                                Element('em_input_writeAcl').checked    = false; 
    238213                                                                                                Element('em_input_sendAcl').checked             = false; 
    239                                                                                                 Element('em_input_saveAcl').checked             = false; 
    240214                                                                                                 
    241215                                                                                    Element('em_input_deleteAcl').disabled      = true; 
    242216                                                                                    Element('em_input_writeAcl').disabled       = true; 
    243217                                                                                                Element('em_input_sendAcl').disabled    = true; 
    244                                                                                                 Element('em_input_saveAcl').disabled    = true; 
    245218 
    246219                                                                                                $("#sharemailbox").empty(); 
     
    289262                 
    290263                Element('em_input_sendAcl').disabled    = true; 
    291                 Element('em_input_saveAcl').disabled    = true; 
    292264                Element('em_input_deleteAcl').disabled  = true; 
    293265                Element('em_input_writeAcl').disabled   = true; 
     
    384356                Element('em_input_writeAcl').checked = false; 
    385357                Element('em_input_sendAcl').checked = false; 
    386                 Element('em_input_saveAcl').checked = false; 
    387358        } 
    388359                 
  • trunk/expressoMail1_2/templates/xsl/sharedFolders.xsl

    r5679 r5864  
    9595                                                <label><xsl:value-of select="$Send"/></label> 
    9696                                        </div> 
    97                                         <div> 
    98                                                 <img title="{$hlp_msg_savelike_acl}" src="./templates/default/images/ajuda.jpg"/><label>-</label> 
    99                                                 <input id="em_input_saveAcl" onClick="return sharemailbox.setaclfromuser();" type="checkbox" /> 
    100                                                 <label><xsl:value-of select="$Save"/></label> 
    101                                         </div> 
    10297                                </div> 
    10398                        </div> 
Note: See TracChangeset for help on using the changeset viewer.