diff --git a/filemanager/inc/class.filemanager_ui.inc.php b/filemanager/inc/class.filemanager_ui.inc.php index 667f8ce6cb..98847e67ad 100644 --- a/filemanager/inc/class.filemanager_ui.inc.php +++ b/filemanager/inc/class.filemanager_ui.inc.php @@ -625,7 +625,7 @@ class filemanager_ui case 'saveaszip': egw_vfs::download_zip($selected); common::egw_exit(); - + default: list($action, $settings) = explode('_', $action, 2); switch($action) @@ -1130,7 +1130,7 @@ class filemanager_ui unset($readonlys['tabs']['filemanager.file.eacl']); // --> switch the tab on again foreach($content['eacl'] as &$eacl) { - $eacl['path'] = rtrim(parse_url($eacl['path'],PHP_URL_PATH),'/'); + $eacl['path'] = rtrim(parse_url($eacl['path'],PHP_URL_PATH),'/'); $readonlys['delete['.$eacl['ino'].'-'.$eacl['owner'].']'] = $eacl['ino'] != $content['ino'] || $eacl['path'] != $content['path'] || !$content['is_owner']; } @@ -1247,6 +1247,11 @@ class filemanager_ui */ public static function ajax_action($action, $selected, $dir=null, $props=null) { + // do we have root rights, need to run here too, as method is static and therefore does NOT run __construct + if (egw_session::appsession('is_root','filemanager')) + { + egw_vfs::$is_root = true; + } $response = egw_json_response::get(); $arr = array( diff --git a/filemanager/js/app.js b/filemanager/js/app.js index 51c7eb35c4..b75bbeaaa7 100644 --- a/filemanager/js/app.js +++ b/filemanager/js/app.js @@ -406,7 +406,7 @@ app.classes.filemanager = AppJS.extend( { var path = this.get_path(); this._do_action('createdir', dir, true); // true=synchronous request - this.change_dir(path+'/'+dir); + this.change_dir((path == '/' ? '' : path)+'/'+dir); } }, @@ -462,7 +462,7 @@ app.classes.filemanager = AppJS.extend( var data = egw.dataGetUIDdata(_senders[i].id); var url = data ? data.data.download_url : '/webdav.php'+this.id2path(_senders[i].id); if (url[0] == '/') url = egw.link(url); - + var a = document.createElement('a'); if(typeof a.download == "undefined") { @@ -494,7 +494,7 @@ app.classes.filemanager = AppJS.extend( is_multiple_allowed: function(action, selected) { var allowed = typeof document.createElement('a').download != "undefined"; - + if(typeof action == "undefined") return allowed; return (allowed || selected.length <= 1) && action.not_disableClass.apply(action, arguments); @@ -780,10 +780,10 @@ app.classes.filemanager = AppJS.extend( event.stopPropagation(); return false; }, - + /** * Set Sudo button's label and change its onclick handler according to its action - * + * * @param {widget object} _widget sudo buttononly * @param {string} _action string of action type {login|logout} */ @@ -798,7 +798,7 @@ app.classes.filemanager = AppJS.extend( widget.set_label('Logout'); this.et2._inst.submit(widget); break; - + default: widget.set_label('Superuser'); widget.onclick = function(){