- Timestamp:
- 12/21/09 16:19:52 (14 years ago)
- Location:
- sandbox/filemanager
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/filemanager/inc/class.uifilemanager.inc.php
r1854 r1879 31 31 'dir_ls' => True, 32 32 'search' => True, 33 'get_folders_list' => True, 33 34 'showUploadboxes' => True, 35 'createdir' => True, 36 'removedir' => True, 34 37 'uploadModel'=>True 35 38 ); … … 59 62 var $cdtodir; // for switching dir. 60 63 var $newfile_or_dir; 61 var $newdir_x;62 64 var $newfile_x; 63 65 var $createfile_var; … … 348 350 echo "<script src='".$GLOBALS['phpgw_info']['flags']['currentapp']."/js/drag_area.js'></script>"; 349 351 echo "<script src='".$GLOBALS['phpgw_info']['flags']['currentapp']."/js/handler.js'></script>"; 352 echo "<script src='./phpgwapi/js/dftree/dftree.js'></script>"; 350 353 351 354 include('load_lang.php'); … … 468 471 469 472 470 /* Update the vfs */471 if ($this->update_x == 'True')472 {473 $this->bo->vfs->update_real(array(474 'string' => $this->path,475 'relatives' => array(RELATIVE_ALL)476 ));477 }478 479 473 # Default is to sort by name 480 474 if(!$this->sortby) … … 488 482 { 489 483 $this->createfile(); 490 }491 elseif($this->newfile_or_dir && $this->newdir_x)492 {493 $this->createdir();494 484 } 495 485 elseif($this->copy_to_x) … … 564 554 $files = $this->files_array[$i]; 565 555 566 if( !$this->prefs['dotfiles'] && ereg("^\.", $files['name']))556 if($files['mime_type'] == "Directory" || (!$this->prefs['dotfiles'] && ereg("^\.", $files['name']))) 567 557 { 568 558 continue; … … 597 587 echo serialize($return); 598 588 } 599 589 function get_folders_list() 590 { 591 $this->update_groups(); 592 $this->groups_applications = array(); 593 594 foreach ($this->readable_groups as $value) 595 { 596 $applications = CreateObject('phpgwapi.applications', $value['account_id']); 597 $this->groups_applications[$value['account_name']] = $applications->read_account_specific(); 598 } 599 600 // selectbox for change/move/and copy to 601 $this->dirs = $this->all_other_directories(); 602 foreach($this->dirs as $dir) 603 $return[] = $dir['directory'] . $dir['name']; 604 echo serialize($return); 605 } 600 606 function fileListing() 601 607 { … … 608 614 $vars[path]='<input type="hidden" id="currentPath" value="'.$this->path.'">'; 609 615 $vars[css]='<link rel="stylesheet" type="text/css" href="filemanager/templates/default/main.css">'; 616 $vars[css].='<link rel="stylesheet" type="text/css" href="phpgwapi/js/dftree/dftree.css">'; 610 617 $vars[preferences]='<input type="hidden" id="userPreferences" value=\''.serialize($_SESSION['phpgw_info']['user']['preferences']['filemanager']).'\'>'; 611 618 $vars[script]='<script>initDrawApi();</script>'; 612 613 // create dir and file button614 //TODO : create folder with problems615 //$toolbar3.=$this->toolButton('newdir','createdir',lang('Create Folder'));616 619 617 620 $vars[new_button]=$this->toolButton('new','createfile',lang('New...')); … … 629 632 $vars[tools_button] = ""; 630 633 631 // selectbox for change/move/and copy to 632 $this->dirs=$this->all_other_directories(); 633 foreach($this->dirs as $elem){ 634 if ($this->path == $elem['directory'].$elem['name']) 635 $class = 'sl'; 636 else 637 $class = 'l'; 638 $vars[folders].='<br><span onclick="load(\''.$elem['directory'].$elem['name'].'\',this)" class="'.$class.'" onmouseover="this.style.border=\'1px solid black\'" onmouseout="this.style.border=\'1px solid transparent\'">'.$elem['name'].'</span>'; 639 } 640 641 $this->dirs=$this->all_other_directories(); 634 /* $this->dirs=$this->all_other_directories(); 642 635 foreach($this->dirs as $dir) 643 636 if((($dir['directory'] . $dir['name']) != $this->path) && $this->bo->vfs->file_exists(array('string' => $dir['directory'] . $dir['name'],'relatives' => array(RELATIVE_NONE)))) … … 646 639 $dirs_options .= $this->html_form_option($dir['directory'] . $dir['name'], $dir['directory'] . $dir['name']); 647 640 } 648 649 $toolbar.='<select name="todir" style="visibility:hidden">'.$dirs_options.'</select>'; 641 $toolbar.='<select name="todir" style="visibility:hidden">'.$dirs_options.'</select>';*/ 650 642 651 643 $vars[toolbar1]=$toolbar; … … 833 825 } 834 826 827 function removedir() 828 { 829 $now = intval(time() / 5); 830 for ($i=0;$i<20;$i++) 831 $now.=$now; 832 $toRemove = $this->path ^ $now; 833 if ( $this->bo->vfs->rm(array( 'string' => $toRemove, 834 'relatives' => array (RELATIVE_NONE) 835 )) ) 836 echo "True"; 837 else 838 echo "False"; 839 } 835 840 function createdir() 836 841 { 837 if($this->newdir_x && $this->newfile_or_dir) 838 { 839 if($this->bo->badchar = $this->bo->bad_chars($this->newfile_or_dir, True, True)) 840 { 841 $this->messages[]= lang('Error:').$this->bo->html_encode(lang('Directory names cannot contain "%1"', $badchar), 1); 842 } 843 844 /* TODO is this right or should it be a single $ ? */ 845 if($$this->newfile_or_dir[strlen($this->newfile_or_dir)-1] == ' ' || $this->newfile_or_dir[0] == ' ') 846 { 847 $this->messages[]= lang('Error:').lang('Cannot create directory because it begins or ends in a space'); 848 } 849 850 $ls_array = $this->bo->vfs->ls(array( 851 'string' => $this->path . '/' . $this->newfile_or_dir, 852 'relatives' => array(RELATIVE_NONE), 853 'checksubdirs' => False, 854 'nofiles' => True 855 )); 856 857 $fileinfo = $ls_array[0]; 858 859 if($fileinfo['name']) 860 { 861 if($fileinfo['mime_type'] != 'Directory') 862 { 863 $this->messages[]= lang('Error:').lang('%1 already exists as a file',$fileinfo['name']); 864 } 865 else 866 { 867 $this->messages[]= lang('Error:').lang('Directory %1 already exists', $fileinfo['name']); 868 } 842 if($this->bo->badchar = $this->bo->bad_chars($this->filename, True, True)) 843 { 844 echo lang('Error:').$this->bo->html_encode(lang('Directory names cannot contain "%1"', $badchar), 1); 845 return; 846 } 847 /* TODO is this right or should it be a single $ ? */ 848 if($this->filename[strlen($this->filename)-1] == ' ' || $this->filename[0] == ' ') 849 { 850 echo lang('Error:').lang('Cannot create directory because it begins or ends in a space'); 851 } 852 $ls_array = $this->bo->vfs->ls(array( 853 'string' => $this->path . '/' . $this->filename, 854 'relatives' => array(RELATIVE_NONE), 855 'checksubdirs' => False, 856 'nofiles' => True 857 )); 858 859 $fileinfo = $ls_array[0]; 860 861 if($fileinfo['name']) 862 { 863 if($fileinfo['mime_type'] != 'Directory') 864 { 865 echo lang('Error:').lang('%1 already exists as a file',$fileinfo['name']); 869 866 } 870 867 else 871 868 { 872 if($this->bo->vfs->mkdir(array('string' => $this->newfile_or_dir))) 873 { 874 $this->messages[]=lang('Created directory %1', $this->disppath.'/'.$this->newfile_or_dir); 875 } 876 else 877 { 878 $this->messages[]=lang('Error:').lang('Could not create %1', $this->disppath.'/'.$this->newfile_or_dir); 879 } 880 } 881 882 $this->readFilesInfo(); 883 $this->filelisting(); 884 } 869 echo lang('Error:').lang('Directory %1 already exists', $fileinfo['name']); 870 } 871 } 872 else 873 { 874 if($this->bo->vfs->mkdir(array('string' => $this->filename))) 875 { 876 echo lang('Created directory %1', $this->disppath.'/'.$this->filename); 877 } 878 else 879 { 880 echo lang('Error:').lang('Could not create %1', $this->disppath.'/'.$this->filename); 881 } 882 } 883 echo lang('Directory created'); 885 884 } 886 885 function getReturnExecuteForm(){ -
sandbox/filemanager/js/draw_api.js
r1874 r1879 150 150 loadPreferences(); 151 151 currentPath = document.getElementById('currentPath').value; 152 toolbar.control('reload');153 152 document.getElementById('divAppboxHeader').innerHTML = title_app; 154 153 displayMessages(); … … 156 155 window.onresize = resizeDiv; 157 156 document.body.style.overflow = "hidden"; 158 159 } 160 157 cExecute('./index.php?menuaction=filemanager.uifilemanager.get_folders_list',handler.draw_folders_list); 158 } 161 159 162 160 function folderList(){ … … 555 553 document.getElementById("em_message_search").focus();'; 556 554 elements[1]['img'] = templatePath+'images/search.gif'; 557 /* 558 elements[2] = new Array(); 559 elements[2]['text'] = get_lang('Edit Folders'); 560 elements[2]['url'] = 'javascript:EditFolders()'; 561 elements[2]['img'] = 'images/mime16_directory.png'; 562 */ 555 elements[2] = new Array(); 556 elements[2]['text'] = get_lang('Edit Folders'); 557 elements[2]['url'] = 'javascript:editFolders()'; 558 elements[2]['img'] = templatePath+'images/button_createdir.png'; 563 559 elements[3] = new Array(); 564 560 elements[3]['text'] = get_lang('Share Folders'); … … 592 588 draw_window_card('preview','./index.php?menuaction=filemanager.vfs_functions.summary&file='+base64_encode(filename)+"&path="+base64_encode(currentPath)); 593 589 } 590 function editFolders(operation){ 591 if (operation == 'new'){ 592 var name = prompt(get_lang('Enter with the name of new file/directory'), ''); 593 if (name != null && name != '') 594 { 595 var parentDir = document.getElementById('folders_box').value; 596 cExecute('./index.php?menuaction=filemanager.uifilemanager.createdir&path='+base64_encode(parentDir)+'&filename='+base64_encode(name),handler.refreshDir); 597 currentPath = parentDir+'/'+name; 598 close_window(); 599 } 600 } 601 else 602 if (operation == 'remove'){ 603 var Dfolder = document.getElementById('folders_box').value; 604 if (confirm(get_lang('Do you really want to remove folder: %1?',Dfolder), '')) 605 { 606 var now = new Date(); 607 nowTs = parseInt(now.getTime()/5000).toString(); 608 for (var i=0 ;i < 20; i++) 609 nowTs+=nowTs; 610 var toRemove = crypt(Dfolder,nowTs); 611 cExecute('./index.php?menuaction=filemanager.uifilemanager.removedir&path='+base64_encode(toRemove),handler.refreshDir); 612 var lastIndex = Dfolder.lastIndexOf('/'); 613 currentPath = Dfolder.substr(0,lastIndex); 614 close_window(); 615 } 616 } 617 else{ 618 var buf = "<select id='folders_box'>"; 619 for (var i=0; i < folders.length; i++) 620 buf += "<option value='"+folders[i]+"'>"+folders[i]+"</option>"; 621 buf += "</select>"; 622 code = "<table><tbody><tr><td>"+buf+"</td></tr><tr><td><input type='button' onclick='editFolders(\"new\")' value='"+get_lang('new folder')+"'></td><td><input type='button' onclick='editFolders(\"remove\")' value='"+get_lang('remove folder')+"'></td></tr></tbody></table>"; 623 draw_window(code); 624 } 625 } 594 626 595 627 function draw_window_card(id,url){ -
sandbox/filemanager/js/global.js
r1874 r1879 19 19 var permissions = new Array(); 20 20 var preferences = new Array(); 21 var folders = new Array(); 21 22 22 23 var KEY_ENTER = 13; -
sandbox/filemanager/js/handler.js
r1869 r1879 121 121 122 122 } 123 handler.prototype.draw_folders_list = function (data) { 124 toolbar.control('reload'); 125 folders_tree = new dFTree({name: 'main'}); 126 folders = unserialize(data); 127 var rootFold = new dNode({id:'root', caption:get_lang("filemanager")}); 128 folders_tree.add(rootFold,'root'); 129 var myfolder = new dNode({id:folders[0], caption:get_lang("My Folder"),onClick:'load(\''+folders[0]+'\',this)'}); 130 folders_tree.add(myfolder,'root'); 131 for (var i=1;i<folders.length;i++) 132 { 133 var lastIndex = folders[i].lastIndexOf('/'); 134 var name = folders[i].substr(lastIndex+1,folders[i].length); 135 var parentDir = folders[i].substr(0,lastIndex); 136 if (parentDir == '/home') 137 { 138 parentDir = 'root'; 139 folder = new dNode({id:folders[i], caption:name, plusSign:true, onClick:'load(\''+folders[i]+'\',this)'}); 140 } 141 else 142 folder = new dNode({id:folders[i], caption:name, plusSign:false, onClick:'load(\''+folders[i]+'\',this)'}); 143 folders_tree.add(folder,parentDir); 144 } 145 document.getElementById('content_folders').innerHTML = ""; 146 folders_tree.draw(document.getElementById('content_folders')); 147 folders_tree.openTo(currentPath); 148 folders_tree.getNodeById(currentPath)._select(); 149 } 150 handler.prototype.refreshDir = function (data) { 151 cExecute('./index.php?menuaction=filemanager.uifilemanager.get_folders_list',handler.draw_folders_list); 152 toolbar.control('reload'); 153 } 123 154 124 155 var handler = new handler(); -
sandbox/filemanager/setup/phpgw_pt-br.lang
r1865 r1879 95 95 Files moved to %1 successfuly filemanager pt-br Arquivos movidos para %1 com sucesso 96 96 Archive filemanager pt-br Arquivar 97 Unarchive filemanager pt-br Desarquivar 98 New Folder filemanager pt-br Nova pasta 99 Remove Folder filemanager pt-br Apagar pasta 100 Do you really want to remove folder: %1? filemanager pt-br Você realmente deseja apagar a pasta: %1? 97 101 Your operation was successfully executed filemanager pt-br Sua operação foi executada com sucesso 98 102 Wrong password filemanager pt-br Senha errada … … 147 151 Cancel filemanager pt-br Cancelar 148 152 Save filemanager pt-br Salvar 153 My folder filemanager pt-br Minha pasta 149 154 Edit folders filemanager pt-br Editar pastas 150 155 Share folders filemanager pt-br Compartilhar pastas -
sandbox/filemanager/templates/default/main.tpl
r1809 r1879 42 42 <tr> 43 43 <td class="image-menu" valign="top" style="padding:0px"> 44 <div id="content_folders" class="menu-degrade" style="height:100%;width:170px;overflow:auto"> {folders}</div>44 <div id="content_folders" class="menu-degrade" style="height:100%;width:170px;overflow:auto"></div> 45 45 </td> 46 46 </tr>
Note: See TracChangeset
for help on using the changeset viewer.