Changeset 1730


Ignore:
Timestamp:
12/02/09 07:52:26 (14 years ago)
Author:
amuller
Message:

Ticket #597 - Melhorias no módulos gerenciador de arquivos do expresso livre

Location:
sandbox/filemanager
Files:
5 edited

Legend:

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

    r1727 r1730  
    980980                        { 
    981981                                if (! $this->vfs_functions->verifyLock($this->path.'/'.$this->filename,RELATIVE_NONE)){ 
    982                                         echo $this->messages['0']; 
    983982                                        $GLOBALS['phpgw']->redirect('/index.php'); 
    984  
    985                                         //$GLOBALS['phpgw']->common->phpgw_exit(); 
    986983                                } 
    987984                                $ls_array = $this->bo->vfs->ls(array( 
     
    12201217                                        header('Content-disposition: filename="' . addslashes($this->file) . '"'); 
    12211218                                        Header("Pragma: public"); 
     1219                                        echo $this->bo->vfs->read(array( 
     1220                                                'string'    => $this->path.'/'.$this->file,//FIXME 
     1221                                                'relatives'    => array(RELATIVE_NONE) 
     1222                                        )); 
     1223 
    12221224                                } 
    12231225                                else 
    12241226                                { 
    12251227                                        $GLOBALS['phpgw']->browser->content_header($this->file,$mime_type,$ls_array[0]['size']); 
    1226                                 } 
    1227                                 $this->bo->vfs->print_content(array( 
    1228                                         'string' => $this->path.'/'.$this->file, 
    1229                                         'relatives' => array(RELATIVE_NONE) 
    1230                                 ) 
    1231                         ); 
    1232  
     1228                                        $this->bo->vfs->print_content(array( 
     1229                                                'string' => $this->path.'/'.$this->file, 
     1230                                                'relatives' => array(RELATIVE_NONE) 
     1231                                                ) 
     1232                                        ); 
     1233                                } 
    12331234                                $GLOBALS['phpgw']->common->phpgw_exit(); 
    12341235                        } 
     
    13801381                                                $name = strtoupper($this->files_array[$i]['name']); 
    13811382                                                if (strstr($name,$this->text) || 
    1382                                                 strstr($comment,$this->text) ) 
     1383                                                strstr($comment,$this->text) ){ 
    13831384                                                        $return[$this->files_array[$i]['directory'].$name] = $this->files_array[$i]; 
     1385                                                        $return[$this->files_array[$i]['directory'].$name]['icon'] = $this->mime_icon($this->files_array[$i]['mime_type']); 
     1386                                                } 
    13841387                                        } 
    13851388                                        if (count($return) > 50) 
  • sandbox/filemanager/js/common_functions.js

    r1727 r1730  
    22        currentPath = path; 
    33        cExecute('/index.php?menuaction=filemanager.uifilemanager.get_permissions&path='+base64_encode(path),loadPermissions); 
    4 } 
    5  
    6 function toolbar_control(arg) 
    7 { 
    8         //Used to get button position 
    9         var button = document.getElementsByName(arg); 
    10         button = button[0]; 
    11         switch (arg) { 
    12                 case 'new': 
    13                         elements = new Array(); 
    14                         elements[0] = new Array(); 
    15                         elements[0]['text'] = get_lang('empty file'); 
    16                         elements[0]['url'] = 'javascript:newEmptyFile();'; 
    17                         elements[1] = new Array(); 
    18                         elements[1]['text'] = get_lang('File from model'); 
    19                         address = document.location.toString(); 
    20                         address = address.split("?"); 
    21                         elements[1]['url'] = address[0]+"?menuaction=filemanager.uifilemanager.fileModels"; 
    22                         elements[2] = new Array(); 
    23                         elements[2]['text'] = get_lang('Upload'); 
    24                         address = document.location.toString(); 
    25                         address = address.split("?"); 
    26                         elements[2]['url'] = address[0]+"?menuaction=filemanager.uifilemanager.index&upload=clicked&upload.x=1&path="+base64_encode(currentPath); 
    27                         draw_menu(arg,elements); 
    28                         break; 
    29                 case 'rename': 
    30                         var one_checked = false; 
    31                         files=document.getElementsByName('fileman'); 
    32                         for (i = 0; i <  files.length; i++) 
    33                                 if (files[i].checked){ 
    34                                         one_checked = true; 
    35                                         files[i].checked = false; 
    36                                         var nameLink = document.getElementById('name_'+files[i].value); 
    37                                         var inputName = document.createElement('INPUT'); 
    38                                         inputName.id = 'input_'+files[i].value; 
    39                                         var filename = nameLink.innerHTML; 
    40                                         inputName.value = filename; 
    41                                         inputName.onblur = function () { cExecute('/index.php?menuaction=filemanager.vfs_functions.rename&file='+base64_encode(this.id.substr(6))+'&to='+base64_encode(this.value)+"&path="+base64_encode(currentPath),updateRename) }; 
    42                                         nameLink.parentNode.appendChild(inputName); 
    43                                         nameLink.parentNode.removeChild(nameLink); 
    44                                 } 
    45                         if (!one_checked) 
    46                                 write_msg(get_lang('Please select a file')); 
    47                         break; 
    48                 case 'edit': 
    49                         var one_checked = false; 
    50                         files=document.getElementsByName('fileman'); 
    51                         for (i = 0; i <  files.length; i++) 
    52                                 if (files[i].checked){ 
    53                                         one_checked = true; 
    54                                         var filename=files[i].value; 
    55                                 } 
    56                         if (one_checked){ 
    57                                 address = document.location.toString(); 
    58                                 address = address.split("&"); 
    59                                 document.location = address[0]+"&"+arg+".x=1&filename="+base64_encode(filename); 
    60                         } 
    61                         else 
    62                         { 
    63                                 write_msg(get_lang('Please select a file')); 
    64                                 return; 
    65                         } 
    66                         break; 
    67                 case 'delete': 
    68                         filesUrl = ""; 
    69                         var one_checked = false; 
    70                         files=document.getElementsByName('fileman'); 
    71                         var j=0; 
    72                         for (i = 0; i <  files.length; i++) 
    73                                 if (files[i].checked){ 
    74                                         one_checked = true; 
    75                                         filesUrl += "&fileman["+j+"]="+files[i].value; 
    76                                         j++; 
    77                                 } 
    78                         if (!one_checked) 
    79                         { 
    80                                 write_msg(get_lang('Please select a file')); 
    81                                 return; 
    82                         } 
    83  
    84                         cExecute('/index.php?menuaction=filemanager.vfs_functions.delete&path='+ 
    85                                         base64_encode(currentPath)+filesUrl,handlerDelete); 
    86                         break; 
    87                 case 'move_to': 
    88                 case 'copy_to': 
    89                         filesUrl = ""; 
    90                         var one_checked = false; 
    91                         files=document.getElementsByName('fileman'); 
    92                         var j=0; 
    93                         for (i = 0; i <  files.length; i++) 
    94                                 if (files[i].checked){ 
    95                                         one_checked = true; 
    96                                         filesUrl += "&fileman["+j+"]="+files[i].value; 
    97                                         j++; 
    98                                 } 
    99                         if (!one_checked) 
    100                         { 
    101                                 write_msg(get_lang('Please select a file')); 
    102                                 return; 
    103                         } 
    104                         var elements = new Array(); 
    105                         inputEl = document.getElementById('content_folders'); 
    106                         for(i=0; i< inputEl.childNodes.length; i++) 
    107                         { 
    108                                 if (inputEl.childNodes[i].nodeName != 'SPAN') 
    109                                         continue; 
    110                                 elements[i] = new Array(); 
    111                                 elements[i]['text']=inputEl.childNodes[i].innerHTML; 
    112                                 address = document.location.toString(); 
    113                                 address = address.split("&"); 
    114                                 elements[i]['url'] = address[0]+ 
    115                                         "&"+escape(arg)+".x=10"+ 
    116                                         "&to="+base64_encode(inputEl.childNodes[i].innerHTML)+ 
    117                                         filesUrl; 
    118  
    119                         } 
    120                         draw_menu(arg,elements); 
    121                         break; 
    122                 case 'reload': 
    123                         cExecute('/index.php?menuaction=filemanager.uifilemanager.dir_ls&path='+base64_encode(currentPath)+'&criteria='+criteria+'&otype='+order_type,drawFiles); 
    124                         return; 
    125                 case 'tools': 
    126                         elements = new Array(); 
    127                         elements[0] = new Array(); 
    128                         elements[0]['text'] = get_lang('Preferences'); 
    129                         elements[0]['url'] = 'preferences/preferences.php?appname=filemanager'; 
    130                         elements[0]['img'] = templatePath+'images/preferences.png'; 
    131                         elements[1] = new Array(); 
    132                         elements[1]['text'] = get_lang('Search'); 
    133                         elements[1]['url'] = 'javascript:\ 
    134                                                 document.getElementById("menu_newFiletools").style.visibility="hidden";\ 
    135                                                 document.getElementById("em_message_search").focus();'; 
    136                         elements[1]['img'] = templatePath+'images/search.gif'; 
    137                         /* 
    138                         elements[2] = new Array(); 
    139                         elements[2]['text'] = get_lang('Edit Folders'); 
    140                         elements[2]['url'] = 'javascript:EditFolders()'; 
    141                         elements[2]['img'] = 'images/mime16_directory.png'; 
    142                         */ 
    143                         elements[3] = new Array(); 
    144                         elements[3]['text'] = get_lang('Share Folders'); 
    145                         elements[3]['url'] = "index.php?menuaction=preferences.uiaclprefs.index&acl_app=filemanager"; 
    146                         elements[3]['img'] = templatePath+'images/mime16_directory.png'; 
    147                         elements[4] = new Array(); 
    148                         elements[4]['text'] = get_lang('Edit Columns'); 
    149                         elements[4]['url'] = "javascript:EditColumns()"; 
    150                         elements[4]['img'] = templatePath+'images/editpaste.png'; 
    151                         draw_menu(arg,elements); 
    152                         break; 
    153                 default: 
    154                         return; 
    155         } 
    1564} 
    1575 
     
    355203                        } 
    356204                } 
     205        folderList.drawStripes(); 
    357206} 
    358207 
     
    437286                return; 
    438287        } 
    439         cExecute('/index.php?menuaction=filemanager.uifilemanager.search&text='+inputText.value,drawSearch); 
    440 } 
     288        cExecute('/index.php?menuaction=filemanager.uifilemanager.search&text='+inputText.value,folderList.drawSearch); 
     289} 
     290function selectAll(el){ 
     291        checkBoxes = document.getElementsByName('fileman'); 
     292        if (el.checked) 
     293                for (i=0; i < checkBoxes.length; i++) 
     294                        checkBoxes[i].checked = true; 
     295        else 
     296                for (i=0; i < checkBoxes.length; i++) 
     297                        checkBoxes[i].checked = false; 
     298 
     299} 
     300function borkb(size){ 
     301                kbyte = 1024; 
     302                mbyte = kbyte*1024; 
     303                gbyte = mbyte*1024; 
     304                if (!size) 
     305                        size = 0; 
     306                if (size < kbyte) 
     307                        return size + 'B'; 
     308                else if (size < mbyte) 
     309                        return parseInt(size/kbyte) + 'KB'; 
     310                else if (size < gbyte) 
     311                        return (size/mbyte).toFixed(1) + 'MB'; 
     312                else 
     313                        return parseInt(size/gbyte).toFixed(1) + 'GB'; 
     314} 
  • sandbox/filemanager/js/draw_api.js

    r1727 r1730  
    1111document.onmousemove = getPointer; 
    1212 
     13function loadHistory(filename){ 
     14        cExecute('/index.php?menuaction=filemanager.uifilemanager.history&file='+base64_encode(filename)+"&path="+base64_encode(currentPath),draw_window); 
     15} 
     16 
     17function loadPermissions(data){ 
     18        var permission = parseInt(data); 
     19        var ACL_READ = 1; 
     20        var ACL_ADD = 2; 
     21        var ACL_EDIT = 4; 
     22        var ACL_DELETE = 8; 
     23        var ACL_PRIVATE = 16; 
     24 
     25        permissions['read']=(permission & ACL_READ); 
     26        permissions['add']=(permission & ACL_ADD); 
     27        permissions['edit']=(permission & ACL_EDIT); 
     28        permissions['delete']=(permission & ACL_DELETE); 
     29        permissions['private']=(permission & ACL_PRIVATE); 
     30        toolbar.load(); 
     31        loadPreferences(); 
     32        toolbar.control('reload'); 
     33} 
    1334function close_window(){ 
    1435        var menu =  document.getElementById('dwindow'); 
     
    115136        preferences = unserialize(preferencesEl.value); 
    116137} 
    117  
    118  
    119138function reloadFiles(newCriteria){ 
    120139        if (newCriteria == criteria) 
     
    122141        else 
    123142                criteria = newCriteria; 
    124         toolbar_control('reload'); 
    125 } 
    126 function selectAll(el){ 
    127         checkBoxes = document.getElementsByName('fileman'); 
    128         if (el.checked) 
    129                 for (i=0; i < checkBoxes.length; i++) 
    130                         checkBoxes[i].checked = true; 
    131         else 
    132                 for (i=0; i < checkBoxes.length; i++) 
    133                         checkBoxes[i].checked = false; 
    134  
    135 } 
    136 function borkb(size){ 
    137                 kbyte = 1024; 
    138                 mbyte = kbyte*1024; 
    139                 gbyte = mbyte*1024; 
    140                 if (!size) 
    141                         size = 0; 
    142                 if (size < kbyte) 
    143                         return size + 'B'; 
    144                 else if (size < mbyte) 
    145                         return parseInt(size/kbyte) + 'KB'; 
    146                 else if (size < gbyte) 
    147                         return (size/mbyte).toFixed(1) + 'MB'; 
    148                 else 
    149                         return parseInt(size/gbyte).toFixed(1) + 'GB'; 
    150 } 
    151 function drawSearch(data){ 
    152         var fmFileWindow = document.getElementById('fmFileWindow'); 
     143        toolbar.control('reload'); 
     144} 
     145 
     146function initDrawApi(){ 
     147        currentPath = document.getElementById('currentPath').value; 
     148        cExecute('/index.php?menuaction=filemanager.uifilemanager.get_permissions&path='+base64_encode(currentPath),loadPermissions); 
     149        quotaSize = document.getElementById('quotaSize').value; 
     150        usedSpace = document.getElementById('usedSpace').value; 
     151 
     152        document.getElementById('divAppboxHeader').innerHTML = title_app; 
     153 
     154        if (parseInt(quotaSize) != 0) 
     155                document.getElementById('content_quota').innerHTML = '<table width="102" cellspacing="0" cellpadding="0" border="0" id="table_quota"><tbody><tr><td width="102" nowrap="true" height="15" background="../phpgwapi/templates/default/images/dsunused.gif"><table cellspacing="0" cellpadding="0" border="0" style="width: '+parseInt((usedSpace/quotaSize)*100)+'%;"><tbody><tr><td height="15" class="dsused"/></tr></tbody></table></td><td nowrap="true" align="center"><span class="boxHeaderText">'+parseInt(usedSpace/quotaSize*100)+'% ('+(usedSpace/1024/1024).toFixed(1)+'M/'+(quotaSize/1024/1024)+'M)</span></td></tr></tbody></table></td></tr></table>'; 
     156        displayMessages(); 
     157        resizeDiv(); 
     158        window.onresize = resizeDiv; 
     159        document.body.style.overflow = "hidden"; 
     160 
     161        // Disabled for now 
     162        // document.getElementById('main_table').style.visibility = ""; 
     163 
     164} 
     165 
     166 
     167function folderList(){ 
     168        this.td = '<td style="padding-left: 2px; padding-right: 2px;" valign="middle">'; 
     169} 
     170folderList.prototype.init = function(){ 
     171        this.element = document.getElementById('fmFileWindow'); 
     172} 
     173folderList.prototype.clear = function(){ 
     174        this.element.innerHTML = ""; 
     175} 
     176 
     177folderList.prototype.drawSearch = function(data){ 
     178        var fl = folderList; 
    153179        var files = unserialize(data); 
    154180        if (files == null) 
     
    157183                return 
    158184        } 
    159         var toolbar = document.getElementById('fmMenu'); 
    160         toolbar.innerHTML = ""; 
    161         fmFileWindow.innerHTML = ""; 
     185        toolbar.clear(); 
     186        fl.init(); 
     187        fl.clear(); 
    162188        var newpage; 
    163         var td_hd = '<td style="padding-left: 2px; padding-right: 2px;" valign="middle">'; 
    164189        var sp_hd = '<span name="head" style="cursor: pointer; cursor: hand;"'; 
    165190        var sp_tl = '</span></td>'; 
    166191        newpage = '<table cellspacing="0" cellpadding="2"><tbody><tr class="message_header">'; 
    167         newpage += td_hd+'<input onclick="selectAll(this)" type="checkbox"></td><td></td><td></td>'; 
    168         newpage += td_hd+sp_hd+' id="name">'+get_lang('file name')+sp_tl; 
    169         newpage += td_hd+sp_hd+' id="folder">'+get_lang('folder')+sp_tl; 
     192        newpage += fl.td+'<input onclick="selectAll(this)" type="checkbox"></td><td></td><td></td>'; 
     193        newpage += fl.td+sp_hd+' id="name">'+get_lang('file name')+sp_tl; 
     194        newpage += fl.td+sp_hd+' id="folder">'+get_lang('folder')+sp_tl; 
    170195        if (preferences.mime_type =='1') 
    171                 newpage += td_hd+sp_hd+' id="mime">'+get_lang('mime type')+sp_tl; 
     196                newpage += fl.td+sp_hd+' id="mime">'+get_lang('mime type')+sp_tl; 
    172197        if (preferences.size =='1') 
    173                 newpage += td_hd+sp_hd+' id="size">'+get_lang('size')+'</a>'+sp_tl; 
     198                newpage += fl.td+sp_hd+' id="size">'+get_lang('size')+'</a>'+sp_tl; 
    174199        if (preferences.created =='1') 
    175                 newpage += td_hd+sp_hd+' id="created">'+get_lang('created')+'</a>'+sp_tl; 
     200                newpage += fl.td+sp_hd+' id="created">'+get_lang('created')+'</a>'+sp_tl; 
    176201        if (preferences.modified =='1') 
    177                 newpage += td_hd+sp_hd+' id="modified">'+get_lang('modified')+'</a>'+sp_tl; 
     202                newpage += fl.td+sp_hd+' id="modified">'+get_lang('modified')+'</a>'+sp_tl; 
    178203        if (preferences.createdby_id =='1') 
    179                 newpage += td_hd+sp_hd+' id="creatdby">'+get_lang('created by')+'</a>'+sp_tl; 
     204                newpage += fl.td+sp_hd+' id="creatdby">'+get_lang('created by')+'</a>'+sp_tl; 
    180205        if (preferences.modifiedby_id =='1') 
    181                 newpage += td_hd+sp_hd+' id="modifdby">'+get_lang('modified by')+'</a>'+sp_tl; 
     206                newpage += fl.td+sp_hd+' id="modifdby">'+get_lang('modified by')+'</a>'+sp_tl; 
    182207        if (preferences.comment =='1') 
    183                 newpage += td_hd+sp_hd+' id="comm">'+get_lang('comment')+'</a>'+sp_tl; 
    184         if (preferences.version =='1') newpage += td_hd+sp_hd+' id="vers">'+get_lang('version')+'</a>'+sp_tl+'</tr>'; 
    185          
    186         var classTr = "tr_msg_read"; 
     208                newpage += fl.td+sp_hd+' id="comm">'+get_lang('comment')+'</a>'+sp_tl; 
     209        if (preferences.version =='1') newpage += fl.td+sp_hd+' id="vers">'+get_lang('version')+'</a>'+sp_tl+'</tr>'; 
     210 
    187211        for (var i=0; i < files.length; i++) 
    188212        { 
    189                 newpage += '<tr class="'+classTr+'">'+td_hd; 
     213                newpage += '<tr>'+fl.td; 
    190214                newpage += '<input name="fileman" value="'+files[i].name+'" type="checkbox"></td>'; 
    191215                newpage += '<td></td><td></td>'; 
    192                 newpage += td_hd+'<img src="'+templatePath+'images/mime16_unknown.png">'; 
     216                newpage += fl.td+'<img src="'+files[i].icon+'">'; 
    193217                newpage += '<a id="name_'+files[i].name+'" href="/index.php?menuaction=filemanager.uifilemanager.view&file='+base64_encode(files[i].name)+'&path='+base64_encode(files[i].directory)+'" target="_blank">'+files[i].name+'</a>&nbsp;</td>'; 
    194                 newpage += td_hd+files[i].directory+'</td>'; 
    195                 if (preferences.mime_type =='1') newpage += td_hd+files[i].mime_type+'</td>'; 
    196                 if (preferences.size =='1') newpage += td_hd+borkb(files[i].size)+'</td>'; 
    197                 if (preferences.created =='1') newpage += td_hd+files[i].created+'</td>'; 
    198                 if (preferences.modified =='1') newpage += td_hd+files[i].modified+'</td>'; 
    199                 if (preferences.createdby_id =='1') newpage += td_hd+files[i].createdby_id+'</td>'; 
    200                 if (preferences.modifiedby_id =='1') newpage += td_hd+files[i].modifiedby_id+'</td>'; 
     218                newpage += fl.td+files[i].directory+'</td>'; 
     219                if (preferences.mime_type =='1') newpage += fl.td+files[i].mime_type+'</td>'; 
     220                if (preferences.size =='1') newpage += fl.td+borkb(files[i].size)+'</td>'; 
     221                if (preferences.created =='1') newpage += fl.td+files[i].created+'</td>'; 
     222                if (preferences.modified =='1') newpage += fl.td+files[i].modified+'</td>'; 
     223                if (preferences.createdby_id =='1') newpage += fl.td+files[i].createdby_id+'</td>'; 
     224                if (preferences.modifiedby_id =='1') newpage += fl.td+files[i].modifiedby_id+'</td>'; 
    201225                if (files[i].comment == null || files[i].comment.length == 0) 
    202226                        files[i].comment = "&lt;"+get_lang("no comments")+"&gt;"; 
    203                 if (preferences.comment =='1') newpage += td_hd+'<span id="'+files[i].name+'">'+files[i].comment+'</span></td>'; 
    204                 if (preferences.version =='1') newpage += td_hd+'<span>'+files[i].version+'</span></td></tr>'; 
    205                 classTr = (classTr == "tr_msg_read"?"tr_msg_read2":"tr_msg_read"); 
    206  
    207         } 
    208         fmFileWindow.innerHTML = newpage; 
    209 } 
    210  
    211  
    212 function drawFiles(data){ 
    213         var fmFileWindow = document.getElementById('fmFileWindow'); 
     227                if (preferences.comment =='1') newpage += fl.td+'<span id="'+files[i].name+'">'+files[i].comment+'</span></td>'; 
     228                if (preferences.version =='1') newpage += fl.td+'<span>'+files[i].version+'</span></td></tr>'; 
     229 
     230        } 
     231        fl.element.innerHTML = newpage; 
     232        fl.drawStripes(); 
     233} 
     234 
     235folderList.prototype.drawFiles = function(data){ 
     236        var fl = folderList; 
    214237        var files = unserialize(data); 
    215         fmFileWindow.innerHTML = ""; 
     238        fl.init(); 
     239        fl.clear(); 
    216240        var newpage; 
    217         var td_hd = '<td style="padding-left: 2px; padding-right: 2px;" valign="middle">'; 
    218241        var sp_hd = '<span name="head" style="cursor: pointer; cursor: hand;" onclick="reloadFiles(\''; 
    219242        var sp_tl = '</span></td>'; 
    220243        newpage = '<table cellspacing="0" cellpadding="2"><tbody><tr class="message_header">'; 
    221         newpage += td_hd+'<input onclick="selectAll(this)" type="checkbox"></td><td></td><td></td>'; 
    222         newpage += td_hd+sp_hd+'name\')" id="name">'+get_lang('file name')+sp_tl; 
     244        newpage += fl.td+'<input onclick="selectAll(this)" type="checkbox"></td><td></td><td></td>'; 
     245        newpage += fl.td+sp_hd+'name\')" id="name">'+get_lang('file name')+sp_tl; 
    223246        if (preferences.mime_type =='1') 
    224                 newpage += td_hd+sp_hd+'mime\')" id="mime">'+get_lang('mime type')+sp_tl; 
     247                newpage += fl.td+sp_hd+'mime\')" id="mime">'+get_lang('mime type')+sp_tl; 
    225248        if (preferences.size =='1') 
    226                 newpage += td_hd+sp_hd+'size\')" id="size">'+get_lang('size')+'</a>'+sp_tl; 
     249                newpage += fl.td+sp_hd+'size\')" id="size">'+get_lang('size')+'</a>'+sp_tl; 
    227250        if (preferences.created =='1') 
    228                 newpage += td_hd+sp_hd+'creatd\')" id="creatd">'+get_lang('created')+'</a>'+sp_tl; 
     251                newpage += fl.td+sp_hd+'creatd\')" id="creatd">'+get_lang('created')+'</a>'+sp_tl; 
    229252        if (preferences.modified =='1') 
    230                 newpage += td_hd+sp_hd+'modifd\')" id="modifd">'+get_lang('modified')+'</a>'+sp_tl; 
     253                newpage += fl.td+sp_hd+'modifd\')" id="modifd">'+get_lang('modified')+'</a>'+sp_tl; 
    231254        if (preferences.owner =='1') 
    232                 newpage += td_hd+sp_hd+'owner\')" id="owner">'+get_lang('owner')+'</a>'+sp_tl; 
     255                newpage += fl.td+sp_hd+'owner\')" id="owner">'+get_lang('owner')+'</a>'+sp_tl; 
    233256        if (preferences.createdby_id =='1') 
    234                 newpage += td_hd+sp_hd+'creatdby\')" id="creatdby">'+get_lang('created by')+'</a>'+sp_tl; 
     257                newpage += fl.td+sp_hd+'creatdby\')" id="creatdby">'+get_lang('created by')+'</a>'+sp_tl; 
    235258        if (preferences.modifiedby_id =='1') 
    236                 newpage += td_hd+sp_hd+'modifdby\')" id="modifdby">'+get_lang('modified by')+'</a>'+sp_tl; 
     259                newpage += fl.td+sp_hd+'modifdby\')" id="modifdby">'+get_lang('modified by')+'</a>'+sp_tl; 
    237260        if (preferences.comment =='1') 
    238                 newpage += td_hd+sp_hd+'comm\')" id="comm">'+get_lang('comment')+'</a>'+sp_tl; 
    239         if (preferences.version =='1') newpage += td_hd+sp_hd+'vers\')" id="vers">'+get_lang('version')+'</a>'+sp_tl+'</tr>'; 
    240          
    241         var classTr = "tr_msg_read"; 
     261                newpage += fl.td+sp_hd+'comm\')" id="comm">'+get_lang('comment')+'</a>'+sp_tl; 
     262        if (preferences.version =='1') newpage += fl.td+sp_hd+'vers\')" id="vers">'+get_lang('version')+'</a>'+sp_tl+'</tr>'; 
     263 
    242264        for (var i=0; i < files.length; i++) 
    243265        { 
    244                 newpage += '<tr class="'+classTr+'">'+td_hd; 
     266                newpage += '<tr>'+fl.td; 
    245267                newpage += '<input name="fileman" value="'+files[i].name+'" type="checkbox"></td>'; 
    246268                if (permissions['private']) { 
     
    255277                else 
    256278                        newpage += '<td></td>'; 
    257                 newpage += td_hd+'<img src="'+(files[i].icon)+'">'; 
     279                newpage += fl.td+'<img src="'+(files[i].icon)+'">'; 
    258280                newpage += '<a id="name_'+files[i].name+'" href="/index.php?menuaction=filemanager.uifilemanager.view&file='+base64_encode(files[i].name)+'&path='+base64_encode(currentPath)+'" target="_blank">'+files[i].name+'</a>&nbsp;</td>'; 
    259                 if (preferences.mime_type =='1') newpage += td_hd+files[i].mime+'</td>'; 
    260                 if (preferences.size =='1') newpage += td_hd+borkb(files[i].size)+'</td>'; 
     281                if (preferences.mime_type =='1') newpage += fl.td+files[i].mime+'</td>'; 
     282                if (preferences.size =='1') newpage += fl.td+borkb(files[i].size)+'</td>'; 
    261283                var now = new Date(); 
    262284                var dtString = ""; 
     
    268290                        else 
    269291                                dtString = created.getDate()+"/"+created.getMonth()+"/"+created.getFullYear(); 
    270                         newpage += td_hd+dtString+'</td>'; 
     292                        newpage += fl.td+dtString+'</td>'; 
    271293                } 
    272294                if (preferences.modified =='1'){ 
     
    280302                        else 
    281303                                dtString = ""; 
    282                         newpage += td_hd+dtString+'</td>'; 
     304                        newpage += fl.td+dtString+'</td>'; 
    283305                } 
    284                 if (preferences.owner =='1') newpage += td_hd+files[i].owner+'</td>'; 
    285                 if (preferences.createdby_id =='1') newpage += td_hd+files[i].creatdby+'</td>'; 
    286                 if (preferences.modifiedby_id =='1') newpage += td_hd+files[i].modifdby+'</td>'; 
     306                if (preferences.owner =='1') newpage += fl.td+files[i].owner+'</td>'; 
     307                if (preferences.createdby_id =='1') newpage += fl.td+files[i].creatdby+'</td>'; 
     308                if (preferences.modifiedby_id =='1') newpage += fl.td+files[i].modifdby+'</td>'; 
    287309                if (files[i].comm == null || files[i].comm.length == 0) 
    288310                        files[i].comm = "&lt;"+get_lang("no comments")+"&gt;"; 
    289                 if (preferences.comment =='1') newpage += td_hd+'<span id="'+files[i].name+'" onclick="setComments(this)">'+files[i].comm+'</span></td>'; 
    290                 if (preferences.version =='1') newpage += td_hd+'<span onclick="loadHistory(\''+files[i].name+'\')">'+files[i].vers+'</span></td></tr>'; 
    291                 classTr = (classTr == "tr_msg_read"?"tr_msg_read2":"tr_msg_read"); 
    292  
    293         } 
    294         fmFileWindow.innerHTML = newpage; 
     311                if (preferences.comment =='1') newpage += fl.td+'<span id="'+files[i].name+'" onclick="setComments(this)">'+files[i].comm+'</span></td>'; 
     312                if (preferences.version =='1') newpage += fl.td+'<span onclick="loadHistory(\''+files[i].name+'\')">'+files[i].vers+'</span></td></tr>'; 
     313        } 
     314        fl.element.innerHTML = newpage; 
    295315        header = document.getElementsByName('head'); 
    296316        for (var i=0; i < header.length; i++) 
     
    306326                } 
    307327        } 
    308 } 
    309  
    310  
    311 function loadToolbar(){ 
     328        fl.drawStripes(); 
     329} 
     330folderList.prototype.drawStripes = function(){ 
     331        var classTr = "tr_msg_read"; 
     332        folderList.init(); 
     333        var elements = folderList.element.firstChild.firstChild.childNodes; 
     334        for (var i = 1; i < elements.length; i++){ 
     335                elements[i].className = classTr; 
     336                classTr = (classTr == "tr_msg_read"?"tr_msg_read2":"tr_msg_read"); 
     337        } 
     338} 
     339var folderList = new folderList(); 
     340 
     341function toolbar() 
     342{ 
     343        var element; 
     344} 
     345toolbar.prototype.clear = function (){ 
     346        this.element.innerHTML = ""; 
     347} 
     348toolbar.prototype.load = function (){ 
     349        this.element = document.getElementById('fmMenu'); 
    312350        if (permissions['read'] == 0) 
    313351                return; 
    314         var toolbar = document.getElementById('fmMenu'); 
    315352        var pageContent = '<table><tbody><tr>'; 
    316         var createButton = function(name) { return '<td name="'+name+'" class="toolButton" onclick="toolbar_control(\''+name+'\');" title="'+name+'"><img src="'+templatePath+'images/button_'+name+'.png" alt="'+name+'"><small>'+get_lang(name.replace('_',' '))+'</small></td>'; } 
     353        var createButton = function(name) { return '<td name="'+name+'" class="toolButton" onclick="toolbar.control(\''+name+'\');" title="'+name+'"><img src="'+templatePath+'images/button_'+name+'.png" alt="'+name+'"><small>'+get_lang(name.replace('_',' '))+'</small></td>'; } 
    317354 
    318355        if (permissions['edit'] != 0){ 
     
    326363        pageContent += createButton('copy_to'); 
    327364 
    328         toolbar.innerHTML = pageContent+'</tr></tbody></table>'; 
    329  
    330  
    331 } 
    332  
    333 function loadHistory(filename){ 
    334         cExecute('/index.php?menuaction=filemanager.uifilemanager.history&file='+base64_encode(filename)+"&path="+base64_encode(currentPath),draw_window); 
    335 } 
    336  
    337 function loadPermissions(data){ 
    338         var permission = parseInt(data); 
    339         var ACL_READ = 1; 
    340         var ACL_ADD = 2; 
    341         var ACL_EDIT = 4; 
    342         var ACL_DELETE = 8; 
    343         var ACL_PRIVATE = 16; 
    344  
    345         permissions['read']=(permission & ACL_READ); 
    346         permissions['add']=(permission & ACL_ADD); 
    347         permissions['edit']=(permission & ACL_EDIT); 
    348         permissions['delete']=(permission & ACL_DELETE); 
    349         permissions['private']=(permission & ACL_PRIVATE); 
    350         loadToolbar(); 
    351         loadPreferences(); 
    352         toolbar_control('reload'); 
    353 } 
    354  
    355 function initDrawApi(){ 
    356         currentPath = document.getElementById('currentPath').value; 
    357         cExecute('/index.php?menuaction=filemanager.uifilemanager.get_permissions&path='+base64_encode(currentPath),loadPermissions); 
    358         quotaSize = document.getElementById('quotaSize').value; 
    359         usedSpace = document.getElementById('usedSpace').value; 
    360  
    361         document.getElementById('divAppboxHeader').innerHTML = title_app; 
    362  
    363         if (parseInt(quotaSize) != 0) 
    364                 document.getElementById('content_quota').innerHTML = '<table width="102" cellspacing="0" cellpadding="0" border="0" id="table_quota"><tbody><tr><td width="102" nowrap="true" height="15" background="../phpgwapi/templates/default/images/dsunused.gif"><table cellspacing="0" cellpadding="0" border="0" style="width: '+parseInt((usedSpace/quotaSize)*100)+'%;"><tbody><tr><td height="15" class="dsused"/></tr></tbody></table></td><td nowrap="true" align="center"><span class="boxHeaderText">'+parseInt(usedSpace/quotaSize*100)+'% ('+(usedSpace/1024/1024).toFixed(1)+'M/'+(quotaSize/1024/1024)+'M)</span></td></tr></tbody></table></td></tr></table>'; 
    365         displayMessages(); 
    366         resizeDiv(); 
    367         window.onresize = resizeDiv; 
    368         document.body.style.overflow = "hidden"; 
    369  
    370         // Disabled for now 
    371         // document.getElementById('main_table').style.visibility = ""; 
    372  
    373 } 
    374  
     365        this.element.innerHTML = pageContent+'</tr></tbody></table>'; 
     366 
     367} 
     368toolbar.prototype.control = function (arg) 
     369{ 
     370        //Used to get button position 
     371        var button = document.getElementsByName(arg); 
     372        button = button[0]; 
     373        switch (arg) { 
     374                case 'new': 
     375                        elements = new Array(); 
     376                        elements[0] = new Array(); 
     377                        elements[0]['text'] = get_lang('empty file'); 
     378                        elements[0]['url'] = 'javascript:newEmptyFile();'; 
     379                        elements[1] = new Array(); 
     380                        elements[1]['text'] = get_lang('File from model'); 
     381                        address = document.location.toString(); 
     382                        address = address.split("?"); 
     383                        elements[1]['url'] = address[0]+"?menuaction=filemanager.uifilemanager.fileModels"; 
     384                        elements[2] = new Array(); 
     385                        elements[2]['text'] = get_lang('Upload'); 
     386                        address = document.location.toString(); 
     387                        address = address.split("?"); 
     388                        elements[2]['url'] = address[0]+"?menuaction=filemanager.uifilemanager.index&upload=clicked&upload.x=1&path="+base64_encode(currentPath); 
     389                        draw_menu(arg,elements); 
     390                        break; 
     391                case 'rename': 
     392                        var one_checked = false; 
     393                        files=document.getElementsByName('fileman'); 
     394                        for (i = 0; i <  files.length; i++) 
     395                                if (files[i].checked){ 
     396                                        one_checked = true; 
     397                                        files[i].checked = false; 
     398                                        var nameLink = document.getElementById('name_'+files[i].value); 
     399                                        var inputName = document.createElement('INPUT'); 
     400                                        inputName.id = 'input_'+files[i].value; 
     401                                        var filename = nameLink.innerHTML; 
     402                                        inputName.value = filename; 
     403                                        inputName.onblur = function () { cExecute('/index.php?menuaction=filemanager.vfs_functions.rename&file='+base64_encode(this.id.substr(6))+'&to='+base64_encode(this.value)+"&path="+base64_encode(currentPath),updateRename) }; 
     404                                        nameLink.parentNode.appendChild(inputName); 
     405                                        nameLink.parentNode.removeChild(nameLink); 
     406                                } 
     407                        if (!one_checked) 
     408                                write_msg(get_lang('Please select a file')); 
     409                        break; 
     410                case 'edit': 
     411                        var one_checked = false; 
     412                        files=document.getElementsByName('fileman'); 
     413                        for (i = 0; i <  files.length; i++) 
     414                                if (files[i].checked){ 
     415                                        one_checked = true; 
     416                                        var filename=files[i].value; 
     417                                } 
     418                        if (one_checked){ 
     419                                address = document.location.toString(); 
     420                                address = address.split("&"); 
     421                                document.location = address[0]+"&"+arg+".x=1&filename="+base64_encode(filename)+".&path="+base64_encode(currentPath); 
     422                        } 
     423                        else 
     424                        { 
     425                                write_msg(get_lang('Please select a file')); 
     426                                return; 
     427                        } 
     428                        break; 
     429                case 'delete': 
     430                        filesUrl = ""; 
     431                        var one_checked = false; 
     432                        files=document.getElementsByName('fileman'); 
     433                        var j=0; 
     434                        for (i = 0; i <  files.length; i++) 
     435                                if (files[i].checked){ 
     436                                        one_checked = true; 
     437                                        filesUrl += "&fileman["+j+"]="+files[i].value; 
     438                                        j++; 
     439                                } 
     440                        if (!one_checked) 
     441                        { 
     442                                write_msg(get_lang('Please select a file')); 
     443                                return; 
     444                        } 
     445 
     446                        cExecute('/index.php?menuaction=filemanager.vfs_functions.delete&path='+ 
     447                                        base64_encode(currentPath)+filesUrl,handlerDelete); 
     448                        break; 
     449                case 'move_to': 
     450                case 'copy_to': 
     451                        filesUrl = ""; 
     452                        var one_checked = false; 
     453                        files=document.getElementsByName('fileman'); 
     454                        var j=0; 
     455                        for (i = 0; i <  files.length; i++) 
     456                                if (files[i].checked){ 
     457                                        one_checked = true; 
     458                                        filesUrl += "&fileman["+j+"]="+files[i].value; 
     459                                        j++; 
     460                                } 
     461                        if (!one_checked) 
     462                        { 
     463                                write_msg(get_lang('Please select a file')); 
     464                                return; 
     465                        } 
     466                        var elements = new Array(); 
     467                        inputEl = document.getElementById('content_folders'); 
     468                        for(i=0; i< inputEl.childNodes.length; i++) 
     469                        { 
     470                                if (inputEl.childNodes[i].nodeName != 'SPAN') 
     471                                        continue; 
     472                                elements[i] = new Array(); 
     473                                elements[i]['text']=inputEl.childNodes[i].innerHTML; 
     474                                address = document.location.toString(); 
     475                                address = address.split("&"); 
     476                                elements[i]['url'] = address[0]+ 
     477                                        "&"+escape(arg)+".x=10"+ 
     478                                        "&to="+base64_encode(inputEl.childNodes[i].innerHTML)+ 
     479                                        filesUrl; 
     480 
     481                        } 
     482                        draw_menu(arg,elements); 
     483                        break; 
     484                case 'reload': 
     485                        cExecute('/index.php?menuaction=filemanager.uifilemanager.dir_ls&path='+base64_encode(currentPath)+'&criteria='+criteria+'&otype='+order_type,folderList.drawFiles); 
     486                        return; 
     487                case 'tools': 
     488                        elements = new Array(); 
     489                        elements[0] = new Array(); 
     490                        elements[0]['text'] = get_lang('Preferences'); 
     491                        elements[0]['url'] = 'preferences/preferences.php?appname=filemanager'; 
     492                        elements[0]['img'] = templatePath+'images/preferences.png'; 
     493                        elements[1] = new Array(); 
     494                        elements[1]['text'] = get_lang('Search'); 
     495                        elements[1]['url'] = 'javascript:\ 
     496                                document.getElementById("menu_newFiletools").style.visibility="hidden";\ 
     497                                document.getElementById("em_message_search").focus();'; 
     498                        elements[1]['img'] = templatePath+'images/search.gif'; 
     499                        /* 
     500                           elements[2] = new Array(); 
     501                           elements[2]['text'] = get_lang('Edit Folders'); 
     502                           elements[2]['url'] = 'javascript:EditFolders()'; 
     503                           elements[2]['img'] = 'images/mime16_directory.png'; 
     504                           */ 
     505                        elements[3] = new Array(); 
     506                        elements[3]['text'] = get_lang('Share Folders'); 
     507                        elements[3]['url'] = "index.php?menuaction=preferences.uiaclprefs.index&acl_app=filemanager"; 
     508                        elements[3]['img'] = templatePath+'images/mime16_directory.png'; 
     509                        elements[4] = new Array(); 
     510                        elements[4]['text'] = get_lang('Edit Columns'); 
     511                        elements[4]['url'] = "javascript:EditColumns()"; 
     512                        elements[4]['img'] = templatePath+'images/editpaste.png'; 
     513                        draw_menu(arg,elements); 
     514                        break; 
     515                default: 
     516                        return; 
     517        } 
     518} 
     519var toolbar = new toolbar(); 
     520 
  • sandbox/filemanager/templates/default/main.css

    r1727 r1730  
    6060 
    6161.toolButton{ 
     62        color: #444; 
    6263        padding:0 3px; 
    6364        font-size: 13px; 
Note: See TracChangeset for help on using the changeset viewer.