mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-05-10 05:26:06 +00:00
file containing meta data can be specified
This commit is contained in:
parent
1de9ed37d5
commit
3d5812c86d
|
@ -48,6 +48,43 @@ if(strpos($dirname, realpath($settings->_dropFolderDir.'/'.$user->getLogin().'/'
|
|||
UI::exitError(getMLText("admin_tools"),getMLText("invalid_dropfolder_folder"));
|
||||
}
|
||||
|
||||
$metadata = array();
|
||||
if(!empty($_GET["dropfolderfileform2"])) {
|
||||
$metadatafile = realpath($settings->_dropFolderDir.'/'.$user->getLogin()."/".$_GET["dropfolderfileform2"]);
|
||||
$csvdelim = ';';
|
||||
$csvencl = '"';
|
||||
if($fp = fopen($metadatafile, 'r')) {
|
||||
$colmap = array();
|
||||
if($header = fgetcsv($fp, 0, $csvdelim, $csvencl)) {
|
||||
print_r($header);
|
||||
foreach($header as $i=>$colname) {
|
||||
if(in_array($colname, array('filename', 'category'))) {
|
||||
$colmap[$colname] = $i;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(count($colmap) > 1) {
|
||||
$nameprefix = dirname($dirname).'/';
|
||||
$allcats = $dms->getDocumentCategories();
|
||||
$catids = array();
|
||||
foreach($allcats as $cat)
|
||||
$catids[$cat->getName()] = $cat;
|
||||
while(!feof($fp)) {
|
||||
if($data = fgetcsv($fp, 0, $csvdelim, $csvencl)) {
|
||||
$metadata[$nameprefix.$data[$colmap['filename']]] = array('category'=>array());
|
||||
if($data[$colmap['category']]) {
|
||||
$kk = explode(',', $data[$colmap['category']]);
|
||||
foreach($kk as $k) {
|
||||
if(isset($catids[$k]))
|
||||
$metadata[$nameprefix.$data[$colmap['filename']]]['category'][] = $catids[$k];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$setfiledate = false;
|
||||
if(isset($_GET['setfiledate']) && $_GET["setfiledate"]) {
|
||||
$setfiledate = true;
|
||||
|
@ -58,7 +95,7 @@ if(isset($_GET['setfolderdate']) && $_GET["setfolderdate"]) {
|
|||
$setfolderdate = true;
|
||||
}
|
||||
|
||||
function import_folder($dirname, $folder, $setfiledate, $setfolderdate) { /* {{{ */
|
||||
function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadata) { /* {{{ */
|
||||
global $user, $doccount, $foldercount;
|
||||
|
||||
$d = dir($dirname);
|
||||
|
@ -87,7 +124,7 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate) { /* {{{
|
|||
|
||||
// echo $mimetype." - ".$filetype." - ".$path."\n";
|
||||
if($res = $folder->addDocument($name, $comment, $expires, $user, $keywords,
|
||||
$categories, $filetmp, $name,
|
||||
$metadata[$path]['category'], $filetmp, $name,
|
||||
$filetype, $mimetype, $sequence, $reviewers,
|
||||
$approvers, $reqversion, $version_comment)) {
|
||||
$doccount++;
|
||||
|
@ -108,7 +145,7 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate) { /* {{{
|
|||
if($setfolderdate) {
|
||||
$newfolder->setDate(filemtime($path));
|
||||
}
|
||||
if(!import_folder($path, $newfolder, $setfiledate, $setfolderdate))
|
||||
if(!import_folder($path, $newfolder, $setfiledate, $setfolderdate, $metadata))
|
||||
return false;
|
||||
} else {
|
||||
return false;
|
||||
|
@ -125,7 +162,7 @@ if($newfolder = $folder->addSubFolder($_GET["dropfolderfileform1"], '', $user, 1
|
|||
if($setfolderdate) {
|
||||
$newfolder->setDate(filemtime($dirname));
|
||||
}
|
||||
if(!import_folder($dirname, $newfolder, $setfiledate, $setfolderdate))
|
||||
if(!import_folder($dirname, $newfolder, $setfiledate, $setfolderdate, $metadata))
|
||||
$session->setSplashMsg(array('type'=>'error', 'msg'=>getMLText('error_importfs')));
|
||||
else {
|
||||
if(isset($_GET['remove']) && $_GET["remove"]) {
|
||||
|
|
|
@ -59,6 +59,10 @@ class SeedDMS_View_ImportFS extends SeedDMS_Bootstrap_Style {
|
|||
getMLText("dropfolder_folder"),
|
||||
$this->getDropFolderChooserHtml("form1", "", 1)
|
||||
);
|
||||
$this->formField(
|
||||
getMLText("dropfolder_metadata"),
|
||||
$this->getDropFolderChooserHtml("form2", "", 0)
|
||||
);
|
||||
$this->formField(
|
||||
getMLText("removeFolderFromDropFolder"),
|
||||
array(
|
||||
|
|
Loading…
Reference in New Issue
Block a user