filemtime can be taken over when importing from filesystem

This commit is contained in:
Uwe Steinmann 2018-09-18 18:31:15 +02:00
parent b82211a941
commit 0f6d893c49
2 changed files with 41 additions and 3 deletions

View File

@ -48,7 +48,17 @@ if(strpos($dirname, realpath($settings->_dropFolderDir.'/'.$user->getLogin().'/'
UI::exitError(getMLText("admin_tools"),getMLText("invalid_dropfolder_folder"));
}
function import_folder($dirname, $folder) { /* {{{ */
$setfiledate = false;
if(isset($_GET['setfiledate']) && $_GET["setfiledate"]) {
$setfiledate = true;
}
$setfolderdate = false;
if(isset($_GET['setfolderdate']) && $_GET["setfolderdate"]) {
$setfolderdate = true;
}
function import_folder($dirname, $folder, $setfiledate, $setfolderdate) { /* {{{ */
global $user, $doccount, $foldercount;
$d = dir($dirname);
@ -81,6 +91,10 @@ function import_folder($dirname, $folder) { /* {{{ */
$filetype, $mimetype, $sequence, $reviewers,
$approvers, $reqversion, $version_comment)) {
$doccount++;
if($setfiledate) {
$newdoc = $res[0];
$newdoc->setDate(filemtime($path));
}
} else {
return false;
}
@ -89,7 +103,10 @@ function import_folder($dirname, $folder) { /* {{{ */
$name = utf8_basename($path);
if($newfolder = $folder->addSubFolder($name, '', $user, $sequence)) {
$foldercount++;
if(!import_folder($path, $newfolder))
if($setfolderdate) {
$newfolder->setDate(filemtime($path));
}
if(!import_folder($path, $newfolder, $setfiledate, $setfolderdate))
return false;
} else {
return false;
@ -103,7 +120,10 @@ function import_folder($dirname, $folder) { /* {{{ */
$foldercount = $doccount = 0;
if($newfolder = $folder->addSubFolder($_GET["dropfolderfileform1"], '', $user, 1)) {
if(!import_folder($dirname, $newfolder))
if($setfolderdate) {
$newfolder->setDate(filemtime($dirname));
}
if(!import_folder($dirname, $newfolder, $setfiledate, $setfolderdate))
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
else {
if(isset($_GET['remove']) && $_GET["remove"]) {

View File

@ -68,6 +68,24 @@ class SeedDMS_View_ImportFS extends SeedDMS_Bootstrap_Style {
'value'=>'1'
)
);
$this->formField(
getMLText("setDateFromFile"),
array(
'element'=>'input',
'type'=>'checkbox',
'name'=>'setfiledate',
'value'=>'1'
)
);
$this->formField(
getMLText("setDateFromFolder"),
array(
'element'=>'input',
'type'=>'checkbox',
'name'=>'setfolderdate',
'value'=>'1'
)
);
$this->formSubmit("<i class=\"icon-save\"></i> ".getMLText('import'));
print "</form>\n";
$this->contentContainerEnd();