remove imported folder if requested

This commit is contained in:
Uwe Steinmann 2017-02-03 12:21:51 +01:00
parent 8f781f5c3b
commit 04a241111f
2 changed files with 16 additions and 4 deletions

View File

@ -40,8 +40,9 @@ if ($folder->getAccessMode($user) < M_READWRITE) {
if (empty($_GET["dropfolderfileform1"])) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_target_folder"));
}
$dirname = $settings->_dropFolderDir.'/'.$user->getLogin()."/".$_GET["dropfolderfileform1"];
if(!is_dir($dirname)) {
$dirname = realpath($settings->_dropFolderDir.'/'.$user->getLogin()."/".$_GET["dropfolderfileform1"]);
if(strpos($dirname, realpath($settings->_dropFolderDir.'/'.$user->getLogin().'/')) !== 0 || !is_dir($dirname)) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_dropfolder_folder"));
}
@ -102,8 +103,14 @@ $foldercount = $doccount = 0;
if($newfolder = $folder->addSubFolder($_GET["dropfolderfileform1"], '', $user, 1)) {
if(!import_folder($dirname, $newfolder))
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
else
else {
if(isset($_GET['remove']) && $_GET["remove"]) {
$cmd = 'rm -rf '.$dirname;
$ret = null;
system($cmd, $ret);
}
$session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_importfs', array('docs'=>$doccount, 'folders'=>$foldercount))));
}
} else {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
}

View File

@ -66,9 +66,14 @@ class SeedDMS_View_ImportFS extends SeedDMS_Bootstrap_Style {
/* Setting drop folder dir to "" will force to take the default from settings.xml */
$this->printDropFolderChooserHtml("form1", "", 1);
print "</div></div>";
print "<div class=\"control-group\"><label class=\"control-label\">".getMLText('removeFolderFromDropFolder')."</label><div class=\"controls\">";
print "<input type='checkbox' name='remove' value='1'/>";
print "</div></div>";
print "<div class=\"control-group\"><label class=\"control-label\">";
print "</label><div class=\"controls\">";
print "<input type='submit' class='btn' name='' value='".getMLText("import")."'/><br />";
print "<input type='submit' class='btn' name='' value='".getMLText("import")."'/>";
print "</div></div>";
print "</form>\n";
$this->contentContainerEnd();