copy, cut, paste, symlink and createdir without server submit

This commit is contained in:
Ralf Becker 2013-04-11 10:46:39 +00:00
parent 0f72fba1b3
commit 4135711cdc
4 changed files with 227 additions and 24 deletions

View File

@ -168,7 +168,29 @@ class filemanager_ui
'caption' => lang('Delete'),
'group' => ++$group,
'confirm' => 'Delete these files or directories?',
'onExecute' => 'javaScript:app.filemanager.action',
),
// DRAG and DROP events
'file_drag' => array(
'dragType' => 'file',
'type' => 'drag',
'onExecute' => 'javaScript:add.filemanager.drag'
),
'file_drop_move' => array(
'icon' => 'stylite/move',
'acceptedTypes' => 'file',
'caption' => lang('Move into folder'),
'type' => 'drop',
'onExecute' => 'javaScript:app.filemanager.drop',
'default' => true
),
'file_drop_copy' => array(
'icon' => 'stylite/edit_copy',
'acceptedTypes' => 'file',
'caption' => lang('Copy into folder'),
'type' => 'drop',
'onExecute' => 'javaScript:app.filemanager.drop'
)
);
if (!isset($GLOBALS['egw_info']['user']['apps']['felamimail']))
{
@ -228,7 +250,7 @@ class filemanager_ui
$content = array(
'nm' => egw_session::appsession('index','filemanager'),
);
// if (!is_array($content['nm']))
if (!is_array($content['nm']))
{
$content['nm'] = array(
'get_rows' => 'filemanager.filemanager_ui.get_rows', // I method/callback to request the data for the rows eg. 'notes.bo.get_rows'

View File

@ -81,6 +81,22 @@ app.filemanager = AppJS.extend(
this.clipboard_tooltips();
},
/**
* Convert array of elems to array of paths
*
* @param array _elems selected items from actions
* @return array
*/
_elems2paths: function(_elems)
{
var paths = [];
for (var i = 0; i < _elems.length; i++)
{
paths.push(_elems[i].id.replace(this.remove_prefix, ''));
}
return paths;
},
/**
* Refresh given application _targetapp display of entry _app _id, incl. outputting _msg
*
@ -104,16 +120,16 @@ app.filemanager = AppJS.extend(
/**
* Open compose with already attached files
*
* @param attachments
* @param string|array attachment path(s)
*/
open_mail: function(attachments)
{
if (typeof attachments == 'undefined') attachments = clipboard_files;
if (typeof attachments == 'undefined') attachments = this.clipboard_files;
var params = {};
if (!(attachments instanceof Array)) attachments = [ attachments ];
for(var i=0; i < attachments.length; i++)
{
params['preset[file]['+i+']'] = 'vfs://default'+attachments[i].replace(this.remove_prefix,'');
params['preset[file]['+i+']'] = 'vfs://default'+attachments[i];
}
egw.open('', 'felamimail', 'add', params);
},
@ -126,12 +142,7 @@ app.filemanager = AppJS.extend(
*/
mail: function(_action, _elems)
{
var ids = [];
for (var i = 0; i < _elems.length; i++)
{
ids.push(_elems[i].id);
}
this.open_mail(ids);
this.open_mail(this._elems2paths(_elems));
},
/**
@ -183,10 +194,11 @@ app.filemanager = AppJS.extend(
this.clipboard_is_cut = _action.id == "cut";
if (_action.id != "add") this.clipboard_files = [];
for (var i = 0; i < _elems.length; i++)
this.clipboard_files = this.clipboard_files.concat(this._elems2paths(_elems));
if (_action.id == "add" && this.clipboard_files.length > 1)
{
var id = _elems[i].id.replace(this.remove_prefix, '');
this.clipboard_files.push(id);
// ToDo: make sure files are unique
}
this.clipboard_tooltips();
@ -204,16 +216,101 @@ app.filemanager = AppJS.extend(
*/
paste: function(_type)
{
if (this.clipboard_files.length == 0)
{
alert(egw.lang('Clipboard is empty!'));
return;
}
switch(_type)
{
case 'mailpaste':
this.open_mail(this.clipboard_files);
break;
case 'linkpaste':
case 'paste':
alert('Not yet implemented!');
this._do_action(this.clipboard_is_cut ? 'move_files' : 'copy_files',
this.clipboard_files.concat([this.path_widget.getValue()]));
if (this.clipboard_is_cut)
{
this.clipboard_is_cut = false;
this.clipboard_files = [];
this.clipboard_tooltips();
}
break;
case 'linkpaste':
this._do_action('symlink', this.clipboard_files.concat([this.path_widget.getValue()]));
break;
}
},
/**
* Pass action to server
*
* @param _action
* @param _elems
*/
action: function(_action, _elems)
{
if (typeof _action.data.confirm == 'undefined'|| confirm(_action.data.confirm))
{
this._do_action(_action.id, this._elems2paths(_elems));
}
},
/**
* Prompt user for directory to create
*/
createdir: function()
{
var dir = prompt(egw.lang('New directory'));
if (dir)
{
var path = this.path_widget.get_value();
this._do_action('createdir', [ path, dir ], true); // true=synchronous request
this.change_dir(path+'/'+dir);
}
},
/**
* Prompt user for directory to create
*/
symlink: function()
{
var target = prompt(egw.lang('Link target'));
if (target)
{
var path = this.path_widget.get_value();
this._do_action('symlink', [ path, target ]);
}
},
/**
* Run a serverside action via an ajax call
*
* @param _type 'move_file', 'copy_file', ...
* @param _selected selected paths
* @param _sync send a synchronous ajax request
*/
_do_action: function(_type, _selected, _sync)
{
var params = [_type];
params = params.concat(_selected);
var request = new egw_json_request('filemanager_ui::ajax_action', params, this);
request.sendRequest(!_sync, this._do_action_callback, this);
},
/**
* Callback for _do_action ajax call
*
* @param _data
*/
_do_action_callback: function(_data)
{
window.egw_refresh(_data.msg, this.appname);
},
/**
@ -254,6 +351,7 @@ app.filemanager = AppJS.extend(
}
this.path_widget.set_value(_dir);
this.path_widget.change();
// ToDo: store path on server too, to be able to reload
},
/**
@ -274,5 +372,88 @@ app.filemanager = AppJS.extend(
{
egw.open(path, 'file');
}
},
/**
* File(s) droped
*
* @param _action
* @param _elems
* @param _target
* @returns
*/
drop: function(_action, _elems, _target)
{
var src = this._elems2paths(_elems);
var dst = _target.data;
alert(_action.id+': '+src.join(', ')+' --> '+dst);
if (_action.id == "file_drop_move")
{
//
}
else
{
//
}
},
/**
* Get drag helper, called on drag start
*
* @param _action
* @param _elems
* @return some dome objects
*/
drag: function(_action, _elems)
{
var icons = [];
for (var i = 0; i < _elems.length; i++)
{
if (_elems[i].getFocused())
{
icons.unshift(_elems[i].data.iconUrl);
}
else
{
icons.push(_elems[i].data.iconUrl);
}
}
// Only take a maximum of 10 icons
var maxCnt = 10;
var div = $j(document.createElement("div"));
var lastIcon = "";
var idx = 0;
for (var i = 0; i < icons.length; i++)
{
if (icons[i] != lastIcon)
{
lastIcon = icons[i];
// Create a stack of images
var img = $j(document.createElement("img"));
img.css("position", "absolute");
img.css("z-index", 10000-i);
img.css("top", idx * 3);
img.css("left", idx * 3);
img.css("opacity", (maxCnt - idx) / maxCnt);
img.attr("src", icons[i]);
div.append(img);
idx++;
if (idx == maxCnt)
{
break;
}
}
}
return div;
},
});

View File

@ -2,7 +2,7 @@
/**
* EGroupware - eTemplates for Application filemanager
* http://www.egroupware.org
* generated by soetemplate::dump4setup() 2013-04-10 19:11
* generated by soetemplate::dump4setup() 2013-04-11 12:27
*
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package filemanager
@ -33,11 +33,11 @@ $templ_data[] = array('name' => 'filemanager.file.perms','template' => '','lang'
$templ_data[] = array('name' => 'filemanager.file.preview','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:5:{s:2:"c1";s:4:",top";s:2:"h1";s:16:",!@mime=/^image/";s:2:"h3";s:22:",@mime=/^(image|text)/";s:2:"h2";s:18:"280,!@text_content";s:2:"c2";s:4:",top";}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:5:"image";s:4:"name";s:4:"link";s:4:"span";s:13:",previewImage";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:8:"textarea";s:4:"name";s:12:"text_content";s:4:"span";s:12:",previewText";s:8:"readonly";s:1:"1";}}i:3;a:1:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:20:"No preview available";}}}s:4:"rows";i:3;s:4:"cols";i:1;s:4:"size";s:18:"450,300,,,10,,auto";s:7:"options";a:4:{i:0;s:3:"450";i:1;s:3:"300";i:6;s:4:"auto";i:4;s:2:"10";}}}','size' => '450,300,,,10,,auto','style' => '','modified' => '1204567479',);
$templ_data[] = array('name' => 'filemanager.index','template' => '','lang' => '','group' => '0','version' => '1.9.003','data' => 'a:3:{i:0;a:3:{s:4:"name";s:7:"nm[msg]";s:4:"type";s:5:"label";s:4:"span";s:10:",redItalic";}i:1;a:3:{s:4:"name";s:2:"nm";s:4:"type";s:9:"nextmatch";s:4:"size";s:53:"filemanager.index.rows,,filemanager.index.header_left";}i:2;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:8:"onchange";s:18:"check_files(this);";s:4:"name";s:8:"upload[]";s:4:"type";s:4:"file";s:4:"help";s:42:"Select file to upload in current directory";}i:2;a:3:{s:5:"label";s:6:"Upload";s:4:"name";s:14:"button[upload]";s:4:"type";s:6:"button";}}}','size' => '','style' => 'input[type=\'file\'] {
$templ_data[] = array('name' => 'filemanager.index','template' => '','lang' => '','group' => '0','version' => '1.9.003','data' => 'a:3:{i:0;a:3:{s:4:"name";s:3:"msg";s:4:"type";s:5:"label";s:4:"span";s:10:",redItalic";}i:1;a:3:{s:4:"name";s:2:"nm";s:4:"type";s:9:"nextmatch";s:4:"size";s:53:"filemanager.index.rows,,filemanager.index.header_left";}i:2;a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:8:"onchange";s:18:"check_files(this);";s:4:"name";s:8:"upload[]";s:4:"type";s:4:"file";s:4:"help";s:42:"Select file to upload in current directory";}i:2;a:3:{s:5:"label";s:6:"Upload";s:4:"name";s:14:"button[upload]";s:4:"type";s:6:"button";}}}','size' => '','style' => 'input[type=\'file\'] {
width: 50ex
}','modified' => '1365608331',);
$templ_data[] = array('name' => 'filemanager.index.header_left','template' => '','lang' => '','group' => '0','version' => '1.9.002','data' => 'a:1:{i:0;a:15:{s:4:"span";s:3:"all";s:4:"type";s:4:"hbox";s:4:"size";s:2:"12";i:1;a:4:{s:5:"label";s:2:"Up";s:7:"onclick";s:33:"app.filemanager.change_dir(\'..\');";s:4:"type";s:5:"image";s:4:"name";s:4:"goup";}i:2;a:4:{s:5:"label";s:25:"Go to your home directory";s:7:"onclick";s:32:"app.filemanager.change_dir(\'~\');";s:4:"type";s:5:"image";s:4:"name";s:6:"gohome";}i:3;a:6:{s:5:"label";s:4:"Path";s:8:"onchange";s:12:"return true;";s:4:"name";s:4:"path";s:4:"size";s:2:"80";s:4:"type";s:8:"vfs-name";s:4:"span";s:8:",address";}i:4;a:4:{s:5:"label";s:5:"Go to";s:4:"name";s:10:"button[go]";s:4:"type";s:6:"button";s:4:"size";s:9:"key_enter";}i:5;a:2:{s:4:"type";s:5:"image";s:4:"name";s:15:"buttonseparator";}i:6;a:6:{s:5:"label";s:13:"Edit settings";s:7:"onclick";s:194:"window.open(egw::link(\'/index.php\',\'menuaction=filemanager.filemanager_ui.file&path={$cont[nm][path]}\'),\'fileprefs\',\'dependent=yes,width=495,height=425,scrollbars=yes,status=yes\'); return false;";s:4:"name";s:23:"edit[{$cont[nm][path]}]";s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:4:"help";s:39:"Rename, change permissions or ownership";}i:7;a:5:{s:5:"label";s:16:"Create directory";s:7:"onclick";s:128:"var dir = prompt(egw::lang(\'New directory\')); if (!dir) return false; document.getElementById(form::name(\'nm[path]\')).value=dir;";s:4:"name";s:17:"button[createdir]";s:4:"type";s:6:"button";s:4:"size";s:35:"button_createdir,createdir_disabled";}i:8;a:5:{s:5:"label";s:13:"Create a link";s:7:"onclick";s:129:"var link = prompt(egw::lang(\'Link target\')); if (!link) return false; document.getElementById(form::name(\'nm[path]\')).value=link;";s:4:"name";s:15:"button[symlink]";s:4:"type";s:6:"button";s:4:"size";s:18:"link,link_disabled";}i:9;a:4:{s:7:"onclick";s:31:"app.filemanager.paste(\'paste\');";s:4:"name";s:13:"button[paste]";s:4:"size";s:28:"editpaste,editpaste_disabled";s:4:"type";s:10:"buttononly";}i:10;a:4:{s:7:"onclick";s:35:"app.filemanager.paste(\'linkpaste\');";s:4:"name";s:17:"button[linkpaste]";s:4:"size";s:28:"linkpaste,linkpaste_disabled";s:4:"type";s:10:"buttononly";}i:11;a:4:{s:7:"onclick";s:35:"app.filemanager.paste(\'mailpaste\');";s:4:"name";s:17:"button[mailpaste]";s:4:"size";s:28:"mailpaste,mailpaste_disabled";s:4:"type";s:10:"buttononly";}i:12;a:4:{s:5:"label";s:11:"File a file";s:7:"onclick";s:171:"window.open(egw::link(\'/index.php\',\'menuaction=stylite.stylite_filemanager.upload\'),\'_blank\',\'dependent=yes,width=550,height=350,scrollbars=yes,status=yes\'); return false;";s:4:"type";s:6:"button";s:4:"size";s:6:"upload";}}}','size' => '','style' => '','modified' => '1365608384',);
$templ_data[] = array('name' => 'filemanager.index.header_left','template' => '','lang' => '','group' => '0','version' => '1.9.002','data' => 'a:1:{i:0;a:15:{s:4:"span";s:3:"all";s:4:"type";s:4:"hbox";s:4:"size";s:2:"12";i:1;a:4:{s:5:"label";s:2:"Up";s:7:"onclick";s:33:"app.filemanager.change_dir(\'..\');";s:4:"type";s:5:"image";s:4:"name";s:4:"goup";}i:2;a:4:{s:5:"label";s:25:"Go to your home directory";s:7:"onclick";s:32:"app.filemanager.change_dir(\'~\');";s:4:"type";s:5:"image";s:4:"name";s:6:"gohome";}i:3;a:6:{s:5:"label";s:4:"Path";s:8:"onchange";s:12:"return true;";s:4:"name";s:4:"path";s:4:"size";s:2:"80";s:4:"type";s:8:"vfs-name";s:4:"span";s:8:",address";}i:4;a:4:{s:5:"label";s:5:"Go to";s:4:"name";s:10:"button[go]";s:4:"type";s:6:"button";s:4:"size";s:9:"key_enter";}i:5;a:2:{s:4:"type";s:5:"image";s:4:"name";s:15:"buttonseparator";}i:6;a:6:{s:5:"label";s:13:"Edit settings";s:7:"onclick";s:194:"window.open(egw::link(\'/index.php\',\'menuaction=filemanager.filemanager_ui.file&path={$cont[nm][path]}\'),\'fileprefs\',\'dependent=yes,width=495,height=425,scrollbars=yes,status=yes\'); return false;";s:4:"name";s:23:"edit[{$cont[nm][path]}]";s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:4:"help";s:39:"Rename, change permissions or ownership";}i:7;a:5:{s:5:"label";s:16:"Create directory";s:7:"onclick";s:28:"app.filemanager.createdir();";s:4:"name";s:17:"button[createdir]";s:4:"type";s:10:"buttononly";s:4:"size";s:35:"button_createdir,createdir_disabled";}i:8;a:5:{s:5:"label";s:13:"Create a link";s:7:"onclick";s:26:"app.filemanager.symlink();";s:4:"name";s:15:"button[symlink]";s:4:"type";s:10:"buttononly";s:4:"size";s:18:"link,link_disabled";}i:9;a:4:{s:7:"onclick";s:31:"app.filemanager.paste(\'paste\');";s:4:"name";s:13:"button[paste]";s:4:"size";s:28:"editpaste,editpaste_disabled";s:4:"type";s:10:"buttononly";}i:10;a:4:{s:7:"onclick";s:35:"app.filemanager.paste(\'linkpaste\');";s:4:"name";s:17:"button[linkpaste]";s:4:"size";s:28:"linkpaste,linkpaste_disabled";s:4:"type";s:10:"buttononly";}i:11;a:4:{s:7:"onclick";s:35:"app.filemanager.paste(\'mailpaste\');";s:4:"name";s:17:"button[mailpaste]";s:4:"size";s:28:"mailpaste,mailpaste_disabled";s:4:"type";s:10:"buttononly";}i:12;a:4:{s:5:"label";s:11:"File a file";s:7:"onclick";s:171:"window.open(egw::link(\'/index.php\',\'menuaction=stylite.stylite_filemanager.upload\'),\'_blank\',\'dependent=yes,width=550,height=350,scrollbars=yes,status=yes\'); return false;";s:4:"type";s:6:"button";s:4:"size";s:6:"upload";}}}','size' => '','style' => '','modified' => '1365608384',);
$templ_data[] = array('name' => 'filemanager.index.rows','template' => '','lang' => '','group' => '0','version' => '1.7.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:6:{s:2:"c1";s:2:"th";s:2:"c2";s:20:"row $row_cont[class]";s:1:"B";s:3:"30%";s:1:"D";s:3:"120";s:1:"E";s:3:"120";s:1:"K";s:2:"70";}i:1;a:11:{s:1:"A";a:4:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Type";s:4:"name";s:4:"mime";s:5:"align";s:6:"center";}s:1:"B";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Name";s:4:"name";s:4:"name";}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Size";s:4:"name";s:4:"size";}s:1:"D";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Modified";s:4:"name";s:5:"mtime";}s:1:"E";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:7:"Created";s:4:"name";s:5:"ctime";}s:1:"F";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:11:"Permissions";s:4:"name";s:4:"mode";}s:1:"G";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:3:"uid";s:5:"label";s:5:"Owner";}s:1:"H";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:4:"name";s:3:"gid";s:5:"label";s:5:"Group";}s:1:"I";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:7:"Comment";s:4:"name";s:7:"comment";}s:1:"J";a:3:{s:4:"type";s:22:"nextmatch-customfields";s:8:"readonly";s:1:"1";s:4:"name";s:12:"customfields";}s:1:"K";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:7:"Actions";s:4:"name";s:14:"legacy_actions";}i:2;a:8:{s:4:"type";s:6:"button";s:4:"size";s:5:"check";s:5:"label";s:9:"Check all";s:4:"name";s:9:"check_all";s:4:"help";s:9:"Check all";s:7:"onclick";s:98:"egw_globalObjectManager.getObjectById(\'filemanager.index.rows\').toggleAllSelected(); return false;";s:6:"needed";s:1:"1";s:5:"align";s:5:"right";}}}i:2;a:11:{s:1:"A";a:3:{s:4:"type";s:8:"vfs-mime";s:4:"name";s:4:"$row";s:5:"align";s:6:"center";}s:1:"B";a:3:{s:4:"type";s:3:"vfs";s:4:"name";s:4:"$row";s:7:"no_lang";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:8:"vfs-size";s:4:"name";s:12:"${row}[size]";s:5:"align";s:5:"right";}s:1:"D";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:13:"${row}[mtime]";s:8:"readonly";s:1:"1";}s:1:"E";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:13:"${row}[ctime]";s:8:"readonly";s:1:"1";}s:1:"F";a:2:{s:4:"type";s:8:"vfs-mode";s:4:"name";s:12:"${row}[mode]";}s:1:"G";a:3:{s:4:"type";s:7:"vfs-uid";s:4:"name";s:11:"${row}[uid]";s:7:"no_lang";s:1:"1";}s:1:"H";a:3:{s:4:"type";s:7:"vfs-gid";s:4:"name";s:11:"${row}[gid]";s:7:"no_lang";s:1:"1";}s:1:"I";a:2:{s:4:"type";s:5:"label";s:4:"name";s:15:"${row}[comment]";}s:1:"J";a:3:{s:4:"type";s:17:"customfields-list";s:4:"name";s:4:"$row";s:4:"span";s:13:",customfields";}s:1:"K";a:7:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"4";i:1;a:6:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:13:"Edit settings";s:4:"name";s:21:"edit[$row_cont[path]]";s:4:"help";s:39:"Rename, change permissions or ownership";s:7:"onclick";s:192:"window.open(egw::link(\'/index.php\',\'menuaction=filemanager.filemanager_ui.file&path=$row_cont[path]\'),\'fileprefs\',\'dependent=yes,width=495,height=425,scrollbars=yes,status=yes\'); return false;";}i:2;a:5:{s:4:"type";s:10:"buttononly";s:4:"size";s:12:"mail_post_to";s:4:"name";s:21:"mail[$row_cont[path]]";s:7:"onclick";s:43:"open_mail(\'$row_cont[path]\'); return false;";s:5:"align";s:6:"center";}i:3;a:7:{s:4:"type";s:6:"button";s:4:"name";s:23:"delete[$row_cont[path]]";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"help";s:29:"Delete this file or directory";s:7:"onclick";s:48:"return confirm(\'Delete this file or directory\');";s:5:"align";s:6:"center";}s:5:"align";s:5:"right";i:4;a:4:{s:4:"type";s:8:"checkbox";s:4:"name";s:9:"checked[]";s:5:"align";s:5:"right";s:4:"size";s:17:""$row_cont[path]"";}}}}s:4:"rows";i:2;s:4:"cols";i:11;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1259329664',);

View File

@ -62,8 +62,8 @@
<button label="Go to" id="button[go]" image="key_enter"/>
<image src="buttonseparator"/>
<button statustext="Rename, change permissions or ownership" label="Edit settings" id="edit[{$cont[nm][path]}]" onclick="window.open(egw::link('/index.php','menuaction=filemanager.filemanager_ui.file&amp;path={$cont[nm][path]}'),'fileprefs','dependent=yes,width=495,height=425,scrollbars=yes,status=yes'); return false;" image="edit"/>
<button label="Create directory" id="button[createdir]" onclick="var dir = prompt(egw::lang('New directory')); if (!dir) return false; document.getElementById(form::name('nm[path]')).value=dir;" image="button_createdir" ro_image="createdir_disabled"/>
<button label="Create a link" id="button[symlink]" onclick="var link = prompt(egw::lang('Link target')); if (!link) return false; document.getElementById(form::name('nm[path]')).value=link;" image="link" ro_image="link_disabled"/>
<buttononly label="Create directory" id="button[createdir]" onclick="app.filemanager.createdir();" options="button_createdir,createdir_disabled"/>
<buttononly label="Create a link" id="button[symlink]" onclick="app.filemanager.symlink();" options="link,link_disabled"/>
<buttononly id="button[paste]" onclick="app.filemanager.paste('paste');" options="editpaste,editpaste_disabled"/>
<buttononly id="button[linkpaste]" onclick="app.filemanager.paste('linkpaste');" options="linkpaste,linkpaste_disabled"/>
<buttononly id="button[mailpaste]" onclick="app.filemanager.paste('mailpaste');" options="mailpaste,mailpaste_disabled"/>
@ -71,10 +71,10 @@
</hbox>
</template>
<template id="filemanager.index" template="" lang="" group="0" version="1.9.003">
<description id="nm[msg]" class="redItalic"/>
<description id="msg" class="redItalic"/>
<nextmatch id="nm" template="filemanager.index.rows" header_left="filemanager.index.header_left"/>
<hbox>
<file statustext="Select file to upload in current directory" id="upload[]" onchange="app.filemanager.check_files(this);"/>
<file statustext="Select file to upload in current directory" id="upload[]" onchange="check_files(this);"/>
<button label="Upload" id="button[upload]"/>
</hbox>
<styles>