Changeset 1929


Ignore:
Timestamp:
01/08/10 16:23:27 (14 years ago)
Author:
amuller
Message:

Ticket #597 - Correçao de caracteres especiais em nomes de arquivos

Location:
sandbox/filemanager
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • sandbox/filemanager/inc/class.uifilemanager.inc.php

    r1922 r1929  
    137137                                        if(isset($$condvar) && ($condvar == $var || $$condvar == $condvalue)) 
    138138                                        { 
    139                                                 if(is_array($$var)) 
    140                                                 { 
    141                                                         $temp = array(); 
    142                                                         while(list($varkey, $varvalue) = each($$var)) 
    143                                                         { 
    144                                                                 if(is_int($varkey)) 
    145                                                                 { 
    146                                                                         $temp[$varkey] = stripslashes(base64_decode(urldecode(($varvalue)))); 
    147                                                                 } 
    148                                                                 else 
    149                                                                 { 
    150                                                                         $temp[stripslashes(base64_decode(urldecode(($varkey))))] = $varvalue; 
    151                                                                 } 
    152                                                         } 
    153                                                         $this->$var = $temp; 
    154                                                 } 
    155                                                 elseif(isset($$var)) 
    156                                                 { 
    157                                                         $this->$var = stripslashes(base64_decode(urldecode($$var))); 
    158                                                 } 
     139                                                $this->$var = stripslashes(base64_decode($$var)); 
    159140                                        } 
    160141                                } 
     
    1006987                                $vars[file_content]=$content; 
    1007988 
    1008                                 $vars[buttonPreview]=$this->inputButton('edit_preview','edit_preview',lang('Preview %1', $this->bo->html_encode($this->fileman[$j], 1))); 
     989                                $vars[buttonPreview]=$this->inputButton('edit_preview','edit_preview',lang('Preview %1', $this->bo->html_encode($this->fileman[0], 1))); 
    1009990                                $vars[buttonSave]=$this->inputButton('edit_save','save',lang('Save %1', $this->bo->html_encode($this->filename, 1))); 
    1010991                                $vars[buttonDone]=$this->inputButton('edit_save_done','ok',lang('Save %1, and go back to file listing ', $this->bo->html_encode($this->filename, 1))); 
  • sandbox/filemanager/inc/class.vfs_functions.inc.php

    r1924 r1929  
    8787                                'messages'      => array('messages'     => ''), 
    8888                                'comment'       => array('comment' => ''), 
     89                                'from'  => array('from' => ''), 
     90                                'fileman' => array('fileman' => ''), 
    8991                                'to'    => array('to' => '') 
    9092                        ); 
     
    104106                                                                if(is_int($varkey)) 
    105107                                                                { 
    106                                                                         $temp[$varkey] = stripslashes(base64_decode(urldecode(($varvalue)))); 
     108                                                                        $temp[$varkey] = stripslashes(base64_decode($varvalue)); 
    107109                                                                } 
    108110                                                                else 
    109111                                                                { 
    110                                                                         $temp[stripslashes(base64_decode(urldecode(($varkey))))] = $varvalue; 
     112                                                                        $temp[stripslashes(base64_decode($varkey))] = $varvalue; 
    111113                                                                } 
    112114                                                        } 
     
    115117                                                elseif(isset($$var)) 
    116118                                                { 
    117                                                         $this->$var = stripslashes(base64_decode(urldecode($$var))); 
     119                                                        $this->$var = stripslashes(base64_decode($$var)); 
    118120                                                } 
    119121                                        } 
     
    244246         
    245247                function delete(){ 
    246                         foreach($this->fileman as $filecode) 
    247                         { 
    248                                 $filename = base64_decode($filecode); 
     248                        foreach($this->fileman as $filename) 
     249                        { 
    249250                                if($this->verifyLock($filename,RELATIVE_ALL) && $this->bo->vfs->rm(array( 
    250251                                        'string' => $this->path.'/'.$filename, 
     
    262263                } 
    263264                function archive(){ 
    264                         foreach($this->fileman as $filecode) 
    265                         { 
    266                                 $filename = base64_decode($filecode); 
     265                        foreach($this->fileman as $filename) 
     266                        { 
    267267                                if(!$this->verifyLock($filename,RELATIVE_ALL)) 
    268268                                { 
     
    355355                        else 
    356356                        { 
    357                                 $this->from = base64_decode($this->from); 
    358357                                while(list($num, $file) = each($this->fileman)) 
    359358                                { 
     
    386385                        else 
    387386                        { 
    388                                 $this->from = base64_decode($this->from); 
    389387                                while(list($num, $file) = each($this->fileman)) 
    390388                                { 
  • sandbox/filemanager/js/common_functions.js

    r1924 r1929  
    113113 
    114114function base64_encode(str) { 
    115         var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; 
     115        var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; 
    116116        var encoded = []; 
    117117        var c = 0; 
     
    130130                encoded[encoded.length] = chars.charAt(i3); 
    131131        } 
    132         return encoded.join(''); 
     132        var retBuff = escape(encoded.join('')); 
     133        return retBuff.replace(/\+/g,"%2B"); 
    133134} 
    134135 
    135136function base64_decode(str) { 
    136         var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/='; 
     137        var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; 
    137138        var invalid = { 
    138139        strlen: (str.length % 4 != 0), 
  • sandbox/filemanager/js/handler.js

    r1927 r1929  
    3636                var nameLink = document.createElement('A'); 
    3737                var inputName = document.getElementById('input_'+returnVal[1]); 
     38                var trFile = inputName.parentNode.parentNode.parentNode; 
     39 
    3840                nameLink.innerHTML = returnVal[2]; 
    3941                nameLink.href="./index.php?menuaction=filemanager.uifilemanager.view&file="+base64_encode(returnVal[2])+"&path="+base64_encode(currentPath); 
     
    4143                nameLink.id = "name_"+returnVal[2]; 
    4244 
    43                 /*Value da checkbox correspondente ao arquivo é atualizada*/ 
    44                 inputName.parentNode.parentNode.firstChild.firstChild.value = returnVal[2]; 
    45  
    4645                inputName.parentNode.appendChild(nameLink); 
    4746                inputName.parentNode.removeChild(inputName); 
     47                trFile.innerHTML = trFile.innerHTML.replace(returnVal[1],returnVal[2]); 
     48                trFile.id = trFile.id.replace(returnVal[1],returnVal[2]); 
    4849        } 
    4950        else 
Note: See TracChangeset for help on using the changeset viewer.