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"])) { if (empty($_GET["dropfolderfileform1"])) {
UI::exitError(getMLText("admin_tools"),getMLText("invalid_target_folder")); 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")); 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($newfolder = $folder->addSubFolder($_GET["dropfolderfileform1"], '', $user, 1)) {
if(!import_folder($dirname, $newfolder)) if(!import_folder($dirname, $newfolder))
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs'))); $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)))); $session->setSplashMsg(array('type'=>'success', 'msg'=>getMLText('splash_importfs', array('docs'=>$doccount, 'folders'=>$foldercount))));
}
} else { } else {
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs'))); $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 */ /* Setting drop folder dir to "" will force to take the default from settings.xml */
$this->printDropFolderChooserHtml("form1", "", 1); $this->printDropFolderChooserHtml("form1", "", 1);
print "</div></div>"; 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 "<div class=\"control-group\"><label class=\"control-label\">";
print "</label><div class=\"controls\">"; 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 "</div></div>";
print "</form>\n"; print "</form>\n";
$this->contentContainerEnd(); $this->contentContainerEnd();