Changeset 1719
- Timestamp:
- 11/27/09 10:24:20 (14 years ago)
- Files:
-
- 2 added
- 12 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
sandbox/filemanager/inc/class.uifilemanager.inc.php
r1704 r1719 29 29 'fileModels'=>True, 30 30 'getReturnExecuteForm' => True, 31 'dir_ls' => True, 32 'get_permissions' => True, 31 33 'uploadModel'=>True 32 34 ); … … 555 557 } 556 558 } 559 function get_permissions(){ 560 /* get permissions */ 561 if((preg_match('+^'.$this->bo->fakebase.'\/(.*)(\/|$)+U', $this->path, $matches)) && $matches[1] != $this->bo->userinfo['account_lid']) //FIXME matches not defined 562 563 { 564 $this->bo->vfs->working_id = $GLOBALS['phpgw']->accounts->name2id($matches[1]);//FIXME matches not defined 565 566 } 567 else 568 { 569 $this->bo->vfs->working_id = $this->bo->userinfo['username']; 570 } 571 572 # Check available permissions for $this->path, so we can disable unusable operations in user interface 573 $path = explode('/',$this->path); 574 $owner_id = $this->bo->vfs->ownerOf($this->bo->fakebase,$path[2]); 575 $user_id = $GLOBALS['phpgw_info']['user']['account_id']; 576 if ($owner_id == $user_id) 577 { 578 $rights = 31; 579 }else 580 { 581 $acl = CreateObject ('phpgwapi.acl', $owner_id); 582 $acl->account_id = $owner_id; 583 $acl->read_repository(); 584 $rights = $acl->get_rights($user_id); 585 } 586 echo $rights; 587 } 588 function dir_ls() 589 { 590 reset($this->files_array); 591 $this->readFilesInfo(); 592 593 for($i = 0; $i != $this->numoffiles; $i++) 594 { 595 $files = $this->files_array[$i]; 596 597 if(!$this->prefs['dotfiles'] && ereg("^\.", $files['name'])) 598 { 599 continue; 600 } 601 /* small keys to safe bandwidth */ 602 $tuple['name'] = $files['name']; 603 $tuple['icon'] = $this->mime_icon($files['mime_type']); 604 $tuple['type'] = $files['type']; 605 if ($files['created'] != ''){ 606 $timestamp = $this->vfs_functions->dateString2timeStamp($files['created']); 607 if (time() - $timestamp > 86400) // Older than yesterday 608 $tuple['creatd']=date("Y-m-d",$timestamp); 609 else 610 $tuple['creatd']=date("H:i",$timestamp); 611 } 612 else 613 $tuple['creatd']=''; 614 if ($files['modified'] != ''){ 615 $timestamp = $this->vfs_functions->dateString2timeStamp($files['modified']); 616 if (time() - $timestamp > 86400) // Older than yesterday 617 $tuple['modifd']=date("Y-m-d",$timestamp); 618 else 619 $tuple['modifd']=date("H:i",$timestamp); 620 } 621 else 622 $tuple['modifd']=''; 623 624 $tuple['size'] = $files['size']; 625 $tuple['mime'] = $files['mime_type']; 626 $tuple['pub'] = $files['type']; 627 $tuple['creatdby'] = $GLOBALS['phpgw']->accounts->id2name($files['createdby_id']); 628 $tuple['modifdby'] = $files['modifiedby_id']?$GLOBALS['phpgw']->accounts->id2name($files['modifiedby_id']):''; 629 $tuple['owner'] = $GLOBALS['phpgw']->accounts->id2name($files['owner_id']); 630 $tuple['comm'] = $files['comment']; 631 $tuple['vers'] = $files['version']; 632 $output[] = $tuple; 633 634 } 635 636 foreach ($output as $key => $row) { 637 $temp[$key] = $row[$this->criteria]; 638 } 639 if ($this->otype == "1") 640 array_multisort($temp, SORT_ASC, $output); 641 else 642 array_multisort($temp, SORT_DESC, $output); 643 644 echo serialize($output); 645 } 646 557 647 function fileListing() 558 648 { 559 $this->t->set_file(array('filemanager_list_t' => ' filelisting.tpl'));649 $this->t->set_file(array('filemanager_list_t' => 'main.tpl')); 560 650 $this->t->set_block('filemanager_list_t','filemanager_header','filemanager_header'); 561 $this->t->set_block('filemanager_list_t','column','column');562 $this->t->set_block('filemanager_list_t','row','row');563 651 $this->t->set_block('filemanager_list_t','filemanager_footer','filemanager_footer'); 564 652 565 $vars['form_action']=$this->encode_href('/index.php', 'menuaction=filemanager.uifilemanager.index','path='.$this->path);566 653 if($this->numoffiles || $this->cwd) 567 654 { 568 while(list($num, $name) = each($this->prefs))569 {570 if($name)571 {572 $columns++;573 }574 }575 $columns++;576 655 $usedSpace = $this->bo->vfs->get_size(array( 577 656 'string' => $this->path, … … 586 665 $vars[path]='<input type="hidden" id="currentPath" value="'.$this->path.'">'; 587 666 $vars[css]='<link rel="stylesheet" type="text/css" href="filemanager/templates/default/main.css">'; 667 $vars[preferences]='<input type="hidden" id="userPreferences" value=\''.serialize($_SESSION['phpgw_info']['user']['preferences']['filemanager']).'\'>'; 588 668 $vars[script]='<script>initDrawApi();</script>'; 589 669 … … 599 679 $vars[new_button]=''; 600 680 681 // reload button with this url 682 $vars[refresh_button]=$this->toolButton('reload','reload',lang('reload')); 683 601 684 // go up icon when we're not at the top, dont allow to go outside /home = fakebase 602 685 if($this->path != '/' && $this->path != $this->bo->fakebase) … … 607 690 $vars[tools_button] = ""; 608 691 609 // go home icon when we're not home already610 /*if($this->path != $this->bo->homedir)611 {612 $link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.index','path='.$this->lesspath);613 614 $vars[up_button]=$this->toolButton($link,'up',lang('go up'));615 616 $link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.index','path='.$this->bo->homedir);617 $toolbar.=$this->toolButton($link,'home',lang('go home'));618 }*/619 620 // reload button with this url621 $vars[refresh_button]=$this->toolButton('reload','reload',lang('reload'));622 692 623 693 // selectbox for change/move/and copy to 624 694 $dirs=$this->all_other_directories_options(); 625 695 foreach($dirs as $elem) 626 $vars[folders].='<br><span onclick="load(\''.$elem['directory'].$elem['name'].'\')" class="l" >'.$elem['name'].'</span>';696 $vars[folders].='<br><span onclick="load(\''.$elem['directory'].$elem['name'].'\')" class="l" onmouseover="this.style.border=\'1px solid black\'" onmouseout="this.style.border=\'1px solid transparent\'">'.$elem['name'].'</span>'; 627 697 628 //$this->toolButton('goto','goto',lang('Quick jump to'));629 // selectbox for change/move/and copy to630 // submit buttons for631 // if($this->path != '/' && $this->path != $this->bo->fakebase)632 633 if($this->can_edit)634 {635 // edit text file button636 $toolbar.=$this->toolButton('edit','edit',lang('edit'));637 }638 639 if($this->can_edit)640 {641 $toolbar.=$this->toolButton('rename','rename',lang('Rename'));642 }643 644 if($this->can_delete)645 {646 $toolbar.=$this->toolButton('delete','delete',lang('Delete'));647 }648 649 650 698 651 699 // copy and move buttons … … 660 708 } 661 709 662 if (strlen($dirs_options) > 0){663 if ($this->can_read)664 $toolbar.=$this->toolButton('copy_to','copy_to',lang('Copy to'));665 if ($this->can_delete)666 $toolbar.=$this->toolButton('move_to','move_to',lang('Move to'));667 }668 710 $toolbar.='<select name="todir" style="visibility:hidden">'.$dirs_options.'</select>'; 669 670 671 711 672 712 $vars[toolbar1]=$toolbar; … … 685 725 $this->t->set_var($vars); 686 726 $this->t->pparse('out','filemanager_header'); 687 688 ###689 # Start File Table Column Headers690 # Reads values from $file_attributes array and preferences691 ###692 $this->t->set_var('actions',lang('select'));693 $this->t->set_var('mini_bar',' ');694 695 696 reset($this->bo->file_attributes);697 698 if($this->numoffiles>0)699 {700 while(list($internal, $displayed) = each($this->bo->file_attributes))701 {702 if($this->prefs[$internal])703 {704 if ($internal != 'owner')705 $col_data='<span><a href="'.$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.index','path='.$this->path.'&sortby='.$internal).'">'.$displayed.'</a></span>';706 else707 $col_data='<span>'.$displayed.'</span>';708 $this->t->set_var('col_data',$col_data);709 $this->t->parse('columns','column',True);710 }711 }712 713 $this->t->set_var('row_tr_class','message_header');714 715 $this->t->parse('rows','row');716 717 $this->t->pparse('out','row');718 }719 else720 {721 $lang_nofiles=lang('No files in this directory.');722 }723 $vars[lang_no_files]=$lang_nofiles;724 725 726 if($this->prefs['dotdot'] && $this->prefs['name'] && $this->path != '/')727 {728 $this->t->set_var('actions','');729 730 $link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.index','path='.$this->lesspath);731 732 $col_data='<a href="'.$link.'"><img src="'.$GLOBALS['phpgw']->common->image('filemanager','mime16up').' "alt="'.lang('Folder Up').'" /></a>';733 $col_data.=' <a href="'.$link.'">..</a>';734 735 $this->t->set_var('col_data',$col_data);736 $this->t->parse('columns','column');737 738 if($this->prefs['mime_type'])739 {740 $col_data=lang('Directory');741 $this->t->set_var('col_data',$col_data);742 $this->t->parse('columns','column',True);743 }744 745 $this->t->set_var('row_tr_class','');746 $this->t->parse('rows','row');747 $this->t->pparse('out','row');748 }749 750 # List all of the files, with their attributes751 @reset($this->files_array);752 for($i = 0; $i != $this->numoffiles; $i++)753 {754 $files = $this->files_array[$i];755 756 757 if(!$this->prefs['dotfiles'] && ereg("^\.", $files['name']))758 {759 continue;760 }761 762 # Checkboxes763 if($this->path != $this->bo->fakebase && $this->path != '/')764 {765 $cbox='<input type="checkbox" name="fileman" value="'.$files['name'].'">';766 $this->t->set_var('actions',$cbox);767 }768 else769 {770 $this->t->set_var('actions','');771 }772 $minibar_data="";773 if($this->can_private)774 {775 if ($files['type'] == "1")776 {777 $image = $GLOBALS['phpgw']->common->image('filemanager','button_lock');778 }779 else780 {781 $image = $GLOBALS['phpgw']->common->image('filemanager','button_unlock');782 }783 $link=$this->encode_href('/index.php','menuaction=filemanager.vfs_functions.setRestricted','file='.$files['name'].'&path='.$this->path);784 $minibar_data = '<img id="restrict_'.$files['name'].'" onClick="setRestricted(\''.$link.'\')" alt="'.lang("mark as restricted").'" title="'.lang("mark as restricted").'" src="'.$image.'">';785 }786 787 788 if ($files['mime_type'] == "text/html")789 {790 $link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.export','file='.$files['name'].'&path='.$this->path);791 $image=$GLOBALS['phpgw']->common->image('filemanager','button_export');792 $minibar_data.='<a href="'.$link.'"><img alt="'.lang("export").'" title="'.lang("export").'" src="'.$image.'"></a>';793 }794 else795 $minibar_data.= "<a> </a>";796 $this->t->set_var('mini_bar',$minibar_data);797 798 799 # File name and icon800 if($files['mime_type'] == 'Directory')801 {802 $link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.index','path='.$this->path.$this->dispsep.$files['name']);803 804 $icon=$this->mime_icon($files['mime_type']);805 806 $col_data='<a href="'.$link.'">'.$icon.'</a> ';807 $col_data.='<a href="'.$link.'">'.$files['name'].'</a> ';808 }809 else810 {811 812 if($this->prefs['viewonserver'] && isset($this->bo->filesdir) && !$files['link_directory'])813 {814 #FIXME815 $clickview = $this->filesdir.$pwd.'/'.$files['name'];816 817 }818 else819 {820 $icon=$this->mime_icon($files['mime_type']);821 $link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.view','file='.$files['name'].'&path='.$this->path);822 //$link=$this->encode_href('inc/download.php','file='.base64_encode($files['name']).'&path='.base64_encode($this->path));823 824 $col_data='<a href="'.$link.'" target="'.$this->target.'">'.$icon.'</a> '.825 '<a id="name_'.$files['name'].'" href="'.$link.'" target="'.$this->target.'">'.$files['name'].'</a>';826 }827 }828 829 830 $this->t->set_var('col_data',$col_data);831 $this->t->parse('columns','column');832 833 # MIME type834 if($this->prefs['mime_type'])835 {836 $col_data=$files['mime_type'];837 $this->t->set_var('col_data',$col_data);838 $this->t->parse('columns','column',True);839 }840 841 # File size842 if($this->prefs['size'])843 {844 $tmp_arr=array(845 'string' => $files['directory'] . '/' . $files['name'],846 'relatives' => array(RELATIVE_NONE)847 );848 if($files['mime_type'] != 'Directory') $tmp_arr['checksubdirs'] = false;849 850 $size = $this->bo->vfs->get_size($tmp_arr);851 852 $col_data=$this->bo->borkb($size);853 854 $this->t->set_var('col_data',$col_data);855 $this->t->parse('columns','column',True);856 }857 858 # Date created859 if($this->prefs['created'])860 {861 $timestamp = $this->vfs_functions->dateString2timeStamp($files['created']);862 if (time() - $timestamp > 86400) // Older than yesterday863 $col_data=date("Y-m-d",$timestamp);864 else865 $col_data=date("H:i",$timestamp);866 $this->t->set_var('col_data',$col_data);867 $this->t->parse('columns','column',True);868 }869 870 # Date modified871 if($this->prefs['modified'])872 {873 if ($files['modified'] != ''){874 $timestamp = $this->vfs_functions->dateString2timeStamp($files['modified']);875 if (time() - $timestamp > 86400) // Older than yesterday876 $col_data=date("Y-m-d",$timestamp);877 else878 $col_data=date("H:i",$timestamp);879 }880 else881 $col_data='';882 $this->t->set_var('col_data',$col_data);883 $this->t->parse('columns','column',True);884 }885 886 # Owner name887 if($this->prefs['owner'])888 {889 $this->t->set_var('col_data',$GLOBALS['phpgw']->accounts->id2name($files['owner_id']));890 $this->t->parse('columns','column',True);891 }892 893 # Creator name894 if($this->prefs['createdby_id'])895 {896 $this->html_table_col_begin();897 if($files['createdby_id'])898 {899 $col_data=$GLOBALS['phpgw']->accounts->id2name($files['createdby_id']);900 }901 else $col_data='';902 903 $this->t->set_var('col_data',$col_data);904 $this->t->parse('columns','column',True);905 }906 907 # Modified by name908 if($this->prefs['modifiedby_id'])909 {910 if($files['modifiedby_id'])911 {912 $col_data=$GLOBALS['phpgw']->accounts->id2name($files['modifiedby_id']);913 }914 else $col_data='';915 $this->t->set_var('col_data',$col_data);916 $this->t->parse('columns','column',True);917 }918 919 # Application920 if($this->prefs['app'])921 {922 $col_data=$files['app'];923 $this->t->set_var('col_data',$col_data);924 $this->t->parse('columns','column',True);925 }926 927 # Comment928 if($this->prefs['comment'])929 {930 if (strlen($files['comment']) == 0 )931 $files['comment'] = "<".lang("no comments").">";932 $col_data='<span id="'.$files['name'].'" onClick="setComments(this)">'.$files['comment'].'</span>';933 $this->t->set_var('col_data',$col_data);934 $this->t->parse('columns','column',True);935 }936 937 # Version938 if($this->prefs['version'])939 {940 $link=$this->encode_href('/index.php','menuaction=filemanager.uifilemanager.history','file='.$files['name'].'&path='.$this->path);941 $col_data='<a href="'.$link.'" target="_blank">'.$files['version'].'</a>';942 $this->t->set_var('col_data',$col_data);943 $this->t->parse('columns','column',True);944 }945 946 $usedspace += $files['size'];947 948 $this->t->set_var('row_tr_color','');949 $this->t->parse('rows','row');950 $this->t->pparse('out','row');951 }952 }953 954 // The file and directory information955 $vars[lang_files_in_this_dir]=lang('Files in this directory');956 $vars[files_in_this_dir]=$this->numoffiles;957 958 $vars[lang_used_space]=lang('Used space');959 $vars[used_space]=$this->bo->borkb($usedspace, NULL, 1);960 961 if($this->path == $this->bo->homedir || $this->path == $this->bo->fakebase)962 {963 $vars[lang_unused_space]=lang('Unused space');964 $vars[unused_space]=$this->bo->borkb($this->bo->userinfo['hdspace'] - $usedspace, NULL, 1);965 966 $tmp_arr=array(967 'string' => $this->path,968 'relatives' => array(RELATIVE_NONE)969 );970 971 $ls_array = $this->bo->vfs->ls($tmp_arr);972 973 $vars[lang_total_files]=lang('Total Files');974 $vars[total_files]= count($ls_array);975 727 } 976 728 … … 1076 828 else 1077 829 { 1078 830 $this->to = $this->bo->fakebase.'/'.$this->to; 1079 831 while(list($num, $file) = each($this->fileman)) 1080 832 { … … 1114 866 else 1115 867 { 868 $this->to = $this->bo->fakebase.'/'.$this->to; 1116 869 while(list($num, $file) = each($this->fileman)) 1117 870 { … … 1639 1392 if(!$img) $img=$GLOBALS['phpgw']->common->image('filemanager','mime'.$size.'_unknown'); 1640 1393 1641 $icon='<img src="'.$img.' "alt="'.lang($mime_type).'" />'; 1642 return $icon; 1394 return $img; 1643 1395 } 1644 1396 -
sandbox/filemanager/js/common_functions.js
r1704 r1719 1 var menuTimeout;2 /* draw_menu(id of menu, left position, top position, menu elements) */3 function draw_menu(id,left_pos,top_pos,elements){4 var menu = document.getElementById('menu_newFile'+id);5 if (menu == null){6 menu = document.createElement('DIV');7 menu.id = "menu_newFile"+id;8 menu.style.left = left_pos+"px";9 menu.style.top = top_pos+"px";10 for(j in elements)11 {12 if (typeof(elements[j]['img']) != 'undefined'){13 var img = document.createElement( 'IMG' );14 img.src = elements[j]['img'];15 menu.appendChild(img);16 }17 var link = document.createElement( 'A' );18 link.href = elements[j]['url'];19 link.appendChild( document.createTextNode( elements[j]['text'] ) );20 menu.appendChild(link);21 menu.appendChild(document.createElement( 'BR' ));22 }23 24 menu.onmouseout = function () { menuTimeout = setTimeout("document.getElementById('menu_newFile"+id+"').style.visibility = 'hidden'",50);}25 menu.onmouseover = function () { clearTimeout(menuTimeout); };26 menu.className = 'menubox';27 menu.style.zIndex='1';28 document.getElementById('divAppboxHeader').appendChild(menu);29 }30 menu.style.visibility = 'visible';31 }32 1 function load(path){ 33 window.location = "/index.php?menuaction=filemanager.uifilemanager.index&path="+base64_encode(path); 2 currentPath = path; 3 cExecute('/index.php?menuaction=filemanager.uifilemanager.get_permissions&path='+base64_encode(path),loadPermissions); 34 4 } 35 5 … … 55 25 address = address.split("?"); 56 26 elements[2]['url'] = address[0]+"?menuaction=filemanager.uifilemanager.index&upload=clicked&upload.x=1&path="+base64_encode(currentPath); 57 draw_menu(arg, 50,130,elements);27 draw_menu(arg,elements); 58 28 break; 59 29 case 'rename': … … 69 39 var filename = nameLink.innerHTML; 70 40 inputName.value = filename; 71 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 .value),updateRename) };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) }; 72 42 nameLink.parentNode.appendChild(inputName); 73 43 nameLink.parentNode.removeChild(nameLink); … … 113 83 114 84 cExecute('/index.php?menuaction=filemanager.vfs_functions.delete&path='+ 115 base64_encode(currentPath .value)+filesUrl,handlerDelete);85 base64_encode(currentPath)+filesUrl,handlerDelete); 116 86 break; 117 87 case 'move_to': … … 133 103 } 134 104 var elements = new Array(); 135 inputEl = document.getElement sByName('todir');136 for(i=0; i< inputEl [0].childNodes.length; i++)105 inputEl = document.getElementById('content_folders'); 106 for(i=0; i< inputEl.childNodes.length; i++) 137 107 { 108 if (inputEl.childNodes[i].nodeName != 'SPAN') 109 continue; 138 110 elements[i] = new Array(); 139 elements[i]['text'] =inputEl[0].childNodes[i].innerHTML;111 elements[i]['text']=inputEl.childNodes[i].innerHTML; 140 112 address = document.location.toString(); 141 113 address = address.split("&"); 142 114 elements[i]['url'] = address[0]+ 143 115 "&"+escape(arg)+".x=10"+ 144 "&to="+base64_encode(inputEl [0].childNodes[i].innerHTML)+116 "&to="+base64_encode(inputEl.childNodes[i].innerHTML)+ 145 117 filesUrl; 146 118 147 119 } 148 draw_menu(arg, button.offsetLeft+220,button.parentNode.offsetTop-20,elements);120 draw_menu(arg,elements); 149 121 break; 150 122 case 'reload': 151 window.location = "/index.php?menuaction=filemanager.uifilemanager.index&path="+base64_encode(currentPath);123 cExecute('/index.php?menuaction=filemanager.uifilemanager.dir_ls&path='+base64_encode(currentPath)+'&criteria='+criteria+'&otype='+order_type,drawFiles); 152 124 return; 153 125 case 'tools': … … 156 128 elements[0]['text'] = get_lang('Preferences'); 157 129 elements[0]['url'] = 'preferences/preferences.php?appname=filemanager'; 158 elements[0]['img'] = 'filemanager/templates/default/images/preferences.png';130 elements[0]['img'] = templatePath+'images/preferences.png'; 159 131 elements[1] = new Array(); 160 132 elements[1]['text'] = get_lang('Search'); … … 162 134 document.getElementById("menu_newFiletools").style.visibility="hidden";\ 163 135 document.getElementById("em_message_search").focus();'; 164 elements[1]['img'] = 'filemanager/templates/default/images/search.gif';136 elements[1]['img'] = templatePath+'images/search.gif'; 165 137 /* 166 138 elements[2] = new Array(); 167 139 elements[2]['text'] = get_lang('Edit Folders'); 168 140 elements[2]['url'] = 'javascript:EditFolders()'; 169 elements[2]['img'] = ' filemanager/templates/default/images/mime16_directory.png';141 elements[2]['img'] = 'images/mime16_directory.png'; 170 142 */ 171 143 elements[3] = new Array(); 172 144 elements[3]['text'] = get_lang('Share Folders'); 173 145 elements[3]['url'] = "index.php?menuaction=preferences.uiaclprefs.index&acl_app=filemanager"; 174 elements[3]['img'] = 'filemanager/templates/default/images/mime16_directory.png';146 elements[3]['img'] = templatePath+'images/mime16_directory.png'; 175 147 elements[4] = new Array(); 176 148 elements[4]['text'] = get_lang('Edit Columns'); 177 149 elements[4]['url'] = "javascript:EditColumns()"; 178 elements[4]['img'] = 'filemanager/templates/default/images/editpaste.png';179 draw_menu(arg, 50,190,elements);150 elements[4]['img'] = templatePath+'images/editpaste.png'; 151 draw_menu(arg,elements); 180 152 break; 181 153 default: … … 301 273 302 274 303 function setRestricted( link){275 function setRestricted(name){ 304 276 var continue_set = confirm(get_lang('This property will change the visibility of all users that have access to this file, continue?')); 305 277 if (continue_set) 306 cExecute( link,setRestricted_handler);278 cExecute('/index.php?menuaction=filemanager.vfs_functions.setRestricted&file='+base64_encode(name)+'&path='+base64_encode(currentPath),setRestricted_handler); 307 279 } 308 280 … … 391 363 var inputName = document.getElementById('input_'+returnVal[1]); 392 364 nameLink.innerHTML = returnVal[2]; 393 nameLink.href="./index.php?menuaction=filemanager.uifilemanager.view&file="+base64_encode(returnVal[2])+"&path="+base64_encode(currentPath .value);365 nameLink.href="./index.php?menuaction=filemanager.uifilemanager.view&file="+base64_encode(returnVal[2])+"&path="+base64_encode(currentPath); 394 366 inputName.parentNode.appendChild(nameLink); 395 367 inputName.parentNode.removeChild(inputName); … … 426 398 preferences[checkBoxes[i].value] = '0'; 427 399 } 428 cExecute('/index.php?menuaction=filemanager.user.save_preferences&preferences='+base64_encode(serialize(preferences)),function () { toolbar_control('reload') })400 cExecute('/index.php?menuaction=filemanager.user.save_preferences&preferences='+base64_encode(serialize(preferences)),function () { toolbar_control('reload'); EditColumns('close'); }) 429 401 return; 430 402 } -
sandbox/filemanager/js/connector.js
r1704 r1719 43 43 var div = document.getElementById('divProgressBar'); 44 44 45 if(! div) { 45 if(! div) { 46 46 div = document.createElement("DIV"); 47 div.style.visibility= "hidden";47 //div.style.visibility = "hidden"; 48 48 div.style.width = "103px"; 49 49 div.id = 'divProgressBar'; … … 54 54 div.style.top = '0px'; 55 55 div.style.right = '0px'; 56 document.body.appendChild(div); 56 document.body.appendChild(div); 57 57 58 58 if(is_ie) { … … 81 81 if (! div){ 82 82 connector.buildBar(); 83 connector.showProgressBar();84 83 return; 85 84 } … … 115 114 116 115 function cExecute(requestURL,handler){ 116 if (connector.isVisibleBar == true){ 117 setTimeout('cExecute("'+requestURL+'",'+handler+')',150); 118 return; 119 } 120 connector.showProgressBar(); 117 121 var AjaxRequest = function () { 118 122 Ajax = false; … … 131 135 var responseRequest = function (){ 132 136 if (Ajax.readyState == 4) 133 if (Ajax.status == 200) 137 if (Ajax.status == 200){ 134 138 handler(Ajax.responseText); 139 connector.hideProgressBar(); 140 } 135 141 else 136 142 throw("Connection error!"); -
sandbox/filemanager/js/draw_api.js
r1704 r1719 1 2 function getPointer(e) { 3 if (is_ie) { 4 DocX = event.clientX + document.body.scrollLeft; 5 DocY = event.clientY + document.body.scrollTop; 6 } else { 7 DocX = e.pageX; 8 DocY = e.pageY; 9 } 10 } 11 document.onmousemove = getPointer; 12 13 14 function draw_menu(id,elements){ 15 var menu = document.getElementById('menu_newFile'+id); 16 if (menu == null){ 17 menu = document.createElement('DIV'); 18 menu.id = "menu_newFile"+id; 19 menu.style.left = DocX; 20 menu.style.top = DocY; 21 //menu.style.left = left_pos+"px"; 22 //menu.style.top = top_pos+"px"; 23 for(j in elements) 24 { 25 if (typeof(elements[j]['img']) != 'undefined'){ 26 var img = document.createElement( 'IMG' ); 27 img.src = elements[j]['img']; 28 menu.appendChild(img); 29 } 30 var link = document.createElement( 'A' ); 31 link.href = elements[j]['url']; 32 link.appendChild( document.createTextNode( elements[j]['text'] ) ); 33 menu.appendChild(link); 34 menu.appendChild(document.createElement( 'BR' )); 35 } 36 37 menu.onmouseout = function () { menuTimeout = setTimeout("document.getElementById('menu_newFile"+id+"').style.visibility = 'hidden'",50);} 38 menu.onmouseover = function () { clearTimeout(menuTimeout); }; 39 menu.className = 'menubox'; 40 menu.style.zIndex='1'; 41 document.getElementById('divAppboxHeader').appendChild(menu); 42 } 43 menu.style.visibility = 'visible'; 44 } 45 1 46 function resizeDiv(){ 2 47 defaultHeight = document.body.clientHeight ? document.body.clientHeight : document.body.offsetHeight; … … 4 49 document.getElementById('content_folders').style.height = defaultHeight - (is_ie ? 230 : 215); 5 50 6 }7 function initDrawApi(){8 cExecute ('/index.php?menuaction=filemanager.user.get_preferences', save_preferences);9 var quotaSize = document.getElementById('quotaSize').value;10 var usedSpace = document.getElementById('usedSpace').value;11 var currentPath = document.getElementById('currentPath').value;12 document.getElementById('divAppboxHeader').innerHTML = title_app;13 14 15 if (parseInt(quotaSize) != 0)16 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>';17 displayMessages();18 resizeDiv();19 window.onresize = resizeDiv;20 // Disabled for now21 // document.getElementById('main_table').style.visibility = "";22 51 } 23 52 var headerMsgLock = false; … … 57 86 } 58 87 } 59 var preferences; 60 function save_preferences(data){ 61 preferences = unserialize(data); 62 } 88 89 function loadPreferences(){ 90 preferencesEl = document.getElementById('userPreferences'); 91 preferences = unserialize(preferencesEl.value); 92 } 93 94 95 function reloadFiles(newCriteria){ 96 if (newCriteria == criteria) 97 order_type = (order_type=='1'?'0':'1') 98 else 99 criteria = newCriteria; 100 toolbar_control('reload'); 101 } 102 function selectAll(el){ 103 checkBoxes = document.getElementsByName('fileman'); 104 if (el.checked) 105 for (i=0; i < checkBoxes.length; i++) 106 checkBoxes[i].checked = true; 107 else 108 for (i=0; i < checkBoxes.length; i++) 109 checkBoxes[i].checked = false; 110 111 } 112 function borkb(size){ 113 kbyte = 1024; 114 mbyte = kbyte*1024; 115 gbyte = mbyte*1024; 116 if (!size) 117 size = 0; 118 if (size < kbyte) 119 return size + 'B'; 120 else if (size < mbyte) 121 return parseInt(size/kbyte) + 'KB'; 122 else if (size < gbyte) 123 return (size/mbyte).toFixed(1) + 'MB'; 124 else 125 return parseInt(size/gbyte).toFixed(1) + 'GB'; 126 } 127 128 function drawFiles(data){ 129 var fmFileWindow = document.getElementById('fmFileWindow'); 130 var files = unserialize(data); 131 fmFileWindow.innerHTML = ""; 132 var newpage; 133 var td_hd = '<td style="padding-left: 2px; padding-right: 2px;" valign="middle">'; 134 var sp_hd = '<span name="head" style="cursor: pointer; cursor: hand;" onclick="reloadFiles(\''; 135 var sp_tl = '</span></td>'; 136 newpage = '<table cellspacing="0" cellpadding="2"><tbody><tr class="message_header">'; 137 newpage += td_hd+'<input onclick="selectAll(this)" type="checkbox"></td><td></td><td></td>'; 138 newpage += td_hd+sp_hd+'name\')" id="name">'+get_lang('file name')+sp_tl; 139 if (preferences.mime_type =='1') 140 newpage += td_hd+sp_hd+'mime\')" id="mime">'+get_lang('mime type')+sp_tl; 141 if (preferences.size =='1') 142 newpage += td_hd+sp_hd+'size\')" id="size">'+get_lang('size')+'</a>'+sp_tl; 143 if (preferences.created =='1') 144 newpage += td_hd+sp_hd+'created\')" id="created">'+get_lang('created')+'</a>'+sp_tl; 145 if (preferences.modified =='1') 146 newpage += td_hd+sp_hd+'modified\')" id="modified">'+get_lang('modified')+'</a>'+sp_tl; 147 if (preferences.owner =='1') 148 newpage += td_hd+sp_hd+'owner\')" id="owner">'+get_lang('owner')+'</a>'+sp_tl; 149 if (preferences.createdby_id =='1') 150 newpage += td_hd+sp_hd+'creatdby\')" id="creatdby">'+get_lang('created by')+'</a>'+sp_tl; 151 if (preferences.modifiedby_id =='1') 152 newpage += td_hd+sp_hd+'modifdby\')" id="modifdby">'+get_lang('modified by')+'</a>'+sp_tl; 153 if (preferences.comment =='1') 154 newpage += td_hd+sp_hd+'comm\')" id="comm">'+get_lang('comment')+'</a>'+sp_tl; 155 if (preferences.version =='1') newpage += td_hd+sp_hd+'vers\')" id="vers">'+get_lang('version')+'</a>'+sp_tl+'</tr>'; 156 157 var classTr = "tr_msg_read"; 158 for (var i=0; i < files.length; i++) 159 { 160 newpage += '<tr class="'+classTr+'">'+td_hd; 161 newpage += '<input name="fileman" value="'+files[i].name+'" type="checkbox"></td>'; 162 if (permissions['private']) { 163 newpage += '<td><img id="restrict_'+files[i].name+'" onclick="setRestricted(\''+files[i].name+'\')" '; 164 newpage += 'src="'+templatePath+'images/button_'+(files[i].pub == '1'?'lock':'unlock')+'.png"></td>'; 165 } 166 else 167 newpage += '<td></td>'; 168 169 if (files[i].mime == 'text/html') 170 newpage += '<td><a href="/index.php?menuaction=filemanager.uifilemanager.export&file='+base64_encode(files[i].name)+';path='+base64_encode(currentPath)+'"><img alt="'+get_lang('export')+'" title="'+get_lang('export')+'" src="'+templatePath+'images/button_export.png"></a></td>'; 171 else 172 newpage += '<td></td>'; 173 newpage += td_hd+'<img src="'+(files[i].icon)+'">'; 174 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> </td>'; 175 if (preferences.mime_type =='1') newpage += td_hd+files[i].mime+'</td>'; 176 if (preferences.size =='1') newpage += td_hd+borkb(files[i].size)+'</td>'; 177 if (preferences.created =='1') newpage += td_hd+files[i].creatd+'</td>'; 178 if (preferences.modified =='1') newpage += td_hd+files[i].modifd+'</td>'; 179 if (preferences.owner =='1') newpage += td_hd+files[i].owner+'</td>'; 180 if (preferences.createdby_id =='1') newpage += td_hd+files[i].creatdby+'</td>'; 181 if (preferences.modifiedby_id =='1') newpage += td_hd+files[i].modifdby+'</td>'; 182 if (files[i].comm == null || files[i].comm.length == 0) 183 files[i].comm = "<"+get_lang("no comments")+">"; 184 if (preferences.comment =='1') newpage += td_hd+'<span id="'+files[i].name+'" onclick="setComments(this)">'+files[i].comm+'</span></td>'; 185 if (preferences.version =='1') newpage += td_hd+'<span onclick="loadHistory(\''+files[i].name+'\')">'+files[i].vers+'</span></td></tr>'; 186 // /index.php?menuaction=filemanager.uifilemanager.history&file=MDAxMC5lbWw%253D&path=L2hvbWUvem9yZWlh 187 classTr = (classTr == "tr_msg_read"?"tr_msg_read2":"tr_msg_read"); 188 189 } 190 fmFileWindow.innerHTML = newpage; 191 header = document.getElementsByName('head'); 192 for (var i=0; i < header.length; i++) 193 { 194 if (header[i].id == criteria){ 195 header[i].style.fontWeight = 'bold'; 196 arrow = document.createElement('IMG'); 197 if (order_type == '1') 198 arrow.src = templatePath+'images/arrow_ascendant.gif'; 199 else 200 arrow.src = templatePath+'images/arrow_descendant.gif'; 201 header[i].appendChild(arrow); 202 } 203 } 204 } 205 206 207 function loadToolbar(){ 208 if (permissions['read'] == 0) 209 return; 210 var toolbar = document.getElementById('fmMenu'); 211 var pageContent = '<table><tbody><tr>'; 212 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>'; } 213 214 if (permissions['edit'] != 0){ 215 pageContent += createButton('edit'); 216 pageContent += createButton('rename'); 217 } 218 if (permissions['delete'] != 0){ 219 pageContent += createButton('delete'); 220 pageContent += createButton('move_to'); 221 } 222 pageContent += createButton('copy_to'); 223 224 toolbar.innerHTML = pageContent+'</tr></tbody></table>'; 225 226 227 } 228 229 function loadPermissions(data){ 230 var permission = parseInt(data); 231 var ACL_READ = 1; 232 var ACL_ADD = 2; 233 var ACL_EDIT = 4; 234 var ACL_DELETE = 8; 235 var ACL_PRIVATE = 16; 236 237 permissions['read']=(permission & ACL_READ); 238 permissions['add']=(permission & ACL_ADD); 239 permissions['edit']=(permission & ACL_EDIT); 240 permissions['delete']=(permission & ACL_DELETE); 241 permissions['private']=(permission & ACL_PRIVATE); 242 loadToolbar(); 243 loadPreferences(); 244 toolbar_control('reload'); 245 } 246 247 function initDrawApi(){ 248 currentPath = document.getElementById('currentPath').value; 249 cExecute('/index.php?menuaction=filemanager.uifilemanager.get_permissions&path='+base64_encode(currentPath),loadPermissions); 250 quotaSize = document.getElementById('quotaSize').value; 251 usedSpace = document.getElementById('usedSpace').value; 252 253 document.getElementById('divAppboxHeader').innerHTML = title_app; 254 255 if (parseInt(quotaSize) != 0) 256 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>'; 257 displayMessages(); 258 resizeDiv(); 259 window.onresize = resizeDiv; 260 document.body.style.overflow = "hidden"; 261 262 // Disabled for now 263 // document.getElementById('main_table').style.visibility = ""; 264 265 } 266 -
sandbox/filemanager/js/global.js
r1627 r1719 6 6 '</tr></table>'; 7 7 8 var currentPath = ""; 9 var quotaSize; 10 var usedSpace; 11 12 var templatePath = '/filemanager/templates/default/'; 13 14 var menuTimeout; 15 var DocX,DocY; 16 var criteria='name'; 17 var order_type = '1'; // Ascending is 1, descending is 0 18 19 // Store permissions of current path use it BUT DO NOT rely on it 20 var permissions = new Array(); 21 var preferences = new Array(); -
sandbox/filemanager/js/uploadForm.js
r1694 r1719 16 16 document.getElementById('button_up').style.visibility = "hidden"; 17 17 var line = document.getElementById('uploadOption'); 18 line.parentNode.innerHTML = "<img src=' ./filemanager/templates/default/images/progress.gif'>";18 line.parentNode.innerHTML = "<img src='"+templatePath+"images/progress.gif'>"; 19 19 } 20 20 -
sandbox/filemanager/setup/phpgw_pt-br.lang
r1704 r1719 20 20 could not move file because no destination directory is given filemanager pt-br Não foi possível mover o arquivo porque não se definiu um diretório de destino 21 21 could not rename %1 to %2 filemanager pt-br Não foi possível renomear %1 para %2 22 loading filemanager pt-br Carregando 22 23 could not save %1 filemanager pt-br Não foi possível salvar %1 23 24 create file filemanager pt-br Criar Arquivo -
sandbox/filemanager/templates/default/main.css
r1704 r1719 1 a:link, 2 a:active, 3 a:visited, 4 a:hover { 5 color: #000000 !important; 6 text-decoration: none !important; 7 } 1 8 2 9 .menubox{ … … 12 19 width: 160px; 13 20 text-align: left; 21 line-height:150%; 22 margin: -10px 0 -10px 0; 23 14 24 } 15 25 .action_info_th { -
sandbox/filemanager/templates/default/main.tpl
r1704 r1719 1 1 <!-- BEGIN filemanager_header --> 2 {css} 2 3 {usedSpace} 3 4 {quotaSize} 4 5 {path} 5 {css}6 6 <table id="main_table" width="100%" cellspacing="0" cellpadding="0" border="0"> 7 7 <tbody> … … 50 50 </table> 51 51 <td> 52 < form id="formfm" name="formfm" method="post" action="{form_action}">52 <div id="formfm" name="formfm"> 53 53 <div id="fmFileWindow"> 54 54 <table cellspacing="0" cellpadding="2"> 55 55 <tbody> 56 56 <!-- END filemanager_header --> 57 58 <!-- BEGIN column -->59 <td valign="middle" style="padding-left:2px;padding-right:2px;">{col_data} </td>60 <!-- END column -->61 62 <!-- BEGIN row -->63 <tr class="{row_tr_class}">64 <td valign="middle" style="padding-left:2px;padding-right:2px;">{actions}{mini_bar}</td>65 {columns}66 <!-- END row -->67 57 </td> 68 58 </tr> … … 70 60 </table> 71 61 <!-- BEGIN filemanager_footer --> 72 {lang_no_files}73 62 </tbody></table> 74 63 </div> 75 64 <div id="fmMenu"> 76 <table cellspacing="10" cellpadding="0" border="0">77 <tbody><tr>78 {toolbar1}79 </tr>80 </tbody>81 </table>82 65 </div> 83 <div id="fmStatusBar"><b>{lang_files_in_this_dir}:</b> {files_in_this_dir} <b>{lang_used_space}: </b> {used_space}</div>84 66 <div style="visibility: hidden" id="allMessages">{messages}</div> 85 </ form>67 </div> 86 68 {script} 69 {preferences} 87 70 <!-- END filemanager_footer --> -
trunk/expressoMail1_2/templates/default/main.css
r1514 r1719 38 38 .tr_msg_unread { 39 39 font-weight: bold !important; 40 }41 .tr_msg_read {42 color: #3f3f3f;43 background-color: #ffffff;44 -moz-user-select: none;45 }46 47 .tr_msg_read2 {48 color: #3f3f3f;49 background-color: #f4f8fb;50 -moz-user-select: none;51 40 } 52 41 -
trunk/phpgwapi/templates/default/css/azul.css
r1704 r1719 397 397 width: 191px; 398 398 } 399 400 .tr_msg_read { 401 color: #3f3f3f; 402 background-color: #ffffff; 403 -moz-user-select: none; 404 } 405 406 .tr_msg_read2 { 407 color: #3f3f3f; 408 background-color: #f4f8fb; 409 -moz-user-select: none; 410 } -
trunk/phpgwapi/templates/default/css/cataratas.css
r1704 r1719 477 477 background:#98C17F !important; 478 478 } 479 480 481 .tr_msg_read { 482 color: #3f3f3f; 483 background-color: #ffffff; 484 -moz-user-select: none; 485 } 486 487 .tr_msg_read2 { 488 color: #3f3f3f; 489 background-color: #e6f3d9; 490 -moz-user-select: none; 491 } -
trunk/phpgwapi/templates/default/css/rochas.css
r1704 r1719 501 501 background-color:#EEEEE0 !important; 502 502 } 503 .tr_msg_read { 504 color: #3f3f3f; 505 background-color: #ffffff; 506 -moz-user-select: none; 507 } 508 509 .tr_msg_read2 { 510 color: #3f3f3f; 511 background-color: #eeeee0; 512 -moz-user-select: none; 513 } 514
Note: See TracChangeset
for help on using the changeset viewer.