mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-25 01:13:25 +01:00
* Filemanager: When user tries to access a directory with no permission, redirect to previous directory instead of home
This commit is contained in:
parent
18852b91bc
commit
8778be01ff
@ -905,6 +905,8 @@ class filemanager_ui
|
||||
*/
|
||||
function get_rows(&$query, &$rows)
|
||||
{
|
||||
$old_session = Api\Cache::getSession('filemanager','index');
|
||||
|
||||
// do NOT store query, if hierarchical data / children are requested
|
||||
if (!$query['csv_export'])
|
||||
{
|
||||
@ -933,15 +935,19 @@ class filemanager_ui
|
||||
if (!Vfs::stat($query['path'],true) || !Vfs::is_dir($query['path']) || !Vfs::check_access($query['path'],Vfs::READABLE))
|
||||
{
|
||||
// only redirect, if it would be to some other location, gives redirect-loop otherwise
|
||||
if ($query['path'] != ($path = static::get_home_dir()))
|
||||
foreach([$old_session['path'], static::get_home_dir()] as $new_path)
|
||||
{
|
||||
// we will leave here, since we are not allowed, or the location does not exist. Index must handle that, and give
|
||||
// an appropriate message
|
||||
Egw::redirect_link('/index.php',array('menuaction'=>'filemanager.filemanager_ui.index',
|
||||
'path' => $path,
|
||||
'msg' => lang('The requested path %1 is not available.',Vfs::decodePath($query['path'])),
|
||||
'ajax' => 'true'
|
||||
));
|
||||
if ($new_path && Vfs::stat($new_path) && $query['path'] != $new_path)
|
||||
{
|
||||
// we will leave here, since we are not allowed, or the location does not exist. Index must handle that, and give
|
||||
// an appropriate message
|
||||
Egw::redirect_link('/index.php', array('menuaction' => 'filemanager.filemanager_ui.index',
|
||||
'path' => $new_path,
|
||||
'msg' => lang('The requested path %1 is not available.', Vfs::decodePath($query['path'])),
|
||||
'ajax' => 'true'
|
||||
));
|
||||
break;
|
||||
}
|
||||
}
|
||||
$rows = array();
|
||||
return 0;
|
||||
@ -971,6 +977,10 @@ class filemanager_ui
|
||||
{
|
||||
$row['class'] .= 'noEdit ';
|
||||
}
|
||||
if(!Vfs::is_executable($path))
|
||||
{
|
||||
$row['class'] .= 'noExecute';
|
||||
}
|
||||
}
|
||||
elseif (!$dir_is_writable[Vfs::dirname($path)])
|
||||
{
|
||||
|
@ -103,15 +103,11 @@
|
||||
<rows>
|
||||
<row>
|
||||
<description value="User"/>
|
||||
<menulist>
|
||||
<menupopup type="select-account" label="@ro_uid_root" id="uid" options="root,accounts"/>
|
||||
</menulist>
|
||||
<select-account label="@ro_uid_root" id="uid" empty_label="root" account_type="accounts"/>
|
||||
</row>
|
||||
<row>
|
||||
<description value="Group"/>
|
||||
<menulist>
|
||||
<menupopup type="select-account" label="@ro_gid_root" id="gid" options="root,groups"/>
|
||||
</menulist>
|
||||
<select-account label="@ro_gid_root" id="gid" empty_label="root" account_type="groups"/>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
|
Loading…
Reference in New Issue
Block a user