metadata file may have data for custom attributes

This commit is contained in:
Uwe Steinmann 2020-02-21 09:59:58 +01:00
parent e2ac404760
commit 453da9ce00

View File

@ -83,7 +83,6 @@ if(!empty($_GET["dropfolderfileform2"])) {
if($fp = fopen($metadatafile, 'r')) { if($fp = fopen($metadatafile, 'r')) {
$colmap = array(); $colmap = array();
if($header = fgetcsv($fp, 0, $csvdelim, $csvencl)) { if($header = fgetcsv($fp, 0, $csvdelim, $csvencl)) {
print_r($header);
foreach($header as $i=>$colname) { foreach($header as $i=>$colname) {
$colname = trim($colname); $colname = trim($colname);
if(in_array($colname, array('category'))) { if(in_array($colname, array('category'))) {
@ -100,7 +99,7 @@ if(!empty($_GET["dropfolderfileform2"])) {
} }
} }
} }
echo "<pre>";print_r($colmap);echo "</pre>"; // echo "<pre>";print_r($colmap);echo "</pre>";
if(count($colmap) > 1) { if(count($colmap) > 1) {
$nameprefix = dirname($dirname).'/'; $nameprefix = dirname($dirname).'/';
$allcats = $dms->getDocumentCategories(); $allcats = $dms->getDocumentCategories();
@ -114,40 +113,23 @@ if(!empty($_GET["dropfolderfileform2"])) {
while(!feof($fp)) { while(!feof($fp)) {
if($data = fgetcsv($fp, 0, $csvdelim, $csvencl)) { if($data = fgetcsv($fp, 0, $csvdelim, $csvencl)) {
$mi = $nameprefix.$data[$colmap['filename']]; $mi = $nameprefix.$data[$colmap['filename']];
$metadata[$mi] = array('category'=>array()); // $metadata[$mi] = array('category'=>array());
$md = array(); $md = array();
$md['attributes'] = array();
foreach($data as $i=>$coldata) { foreach($data as $i=>$coldata) {
if(isset($colmap[$i])) { if(isset($colmap[$i])) {
$md = call_user_func($colmap[$i][0], $colmap[$i][1], $coldata, $md); $md = call_user_func($colmap[$i][0], $colmap[$i][1], $coldata, $md);
} }
} }
$metadata[$mi] = $md; if(!empty($md['filename']))
/* $metadata[$nameprefix.$md['filename']] = $md;
if($data[$colmap['category']]) {
$kk = explode(',', $data[$colmap['category']]);
foreach($kk as $k) {
if(isset($catids[$k]))
$metadata[$mi]['category'][] = $catids[$k];
}
}
if($data[$colmap['owner']]) {
if(isset($userids[trim($data[$colmap['owner']])]))
$metadata[$mi]['owner'] = $userids[trim($data[$colmap['owner']])];
}
if($data[$colmap['name']]) {
$metadata[$mi]['name'] = $data[$colmap['name']];
}
if($data[$colmap['comment']]) {
$metadata[$mi]['comment'] = $data[$colmap['comment']];
}
*/
} }
} }
} }
} }
} }
echo "<pre>";print_r($metadata);echo "</pre>"; //echo "<pre>";print_r($metadata);echo "</pre>";
exit; //exit;
$setfiledate = false; $setfiledate = false;
if(isset($_GET['setfiledate']) && $_GET["setfiledate"]) { if(isset($_GET['setfiledate']) && $_GET["setfiledate"]) {
@ -173,7 +155,6 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
$reviewers = array(); $reviewers = array();
$approvers = array(); $approvers = array();
$comment = '';
$version_comment = ''; $version_comment = '';
$reqversion = 1; $reqversion = 1;
$expires = false; $expires = false;
@ -186,11 +167,16 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
if (is_bool($lastDotIndex) && !$lastDotIndex) $filetype = "."; if (is_bool($lastDotIndex) && !$lastDotIndex) $filetype = ".";
else $filetype = substr($name, $lastDotIndex); else $filetype = substr($name, $lastDotIndex);
// echo $mimetype." - ".$filetype." - ".$path."\n"; $docname = !empty($metadata[$path]['name']) ? $metadata[$path]['name'] : $name;
if($res = $folder->addDocument($name, $comment, $expires, $user, $keywords, $comment = !empty($metadata[$path]['comment']) ? $metadata[$path]['comment'] : '';
$owner = !empty($metadata[$path]['owner']) ? $metadata[$path]['owner'] : $user;
echo $mimetype." - ".$filetype." - ".$path."<br />\n";
if($res = $folder->addDocument($docname, $comment, $expires, $owner, $keywords,
$metadata[$path]['category'], $filetmp, $name, $metadata[$path]['category'], $filetmp, $name,
$filetype, $mimetype, $sequence, $reviewers, $filetype, $mimetype, $sequence, $reviewers,
$approvers, $reqversion, $version_comment)) { $approvers, $reqversion, $version_comment,
$metadata[$path]['attributes'])) {
$doccount++; $doccount++;
if($setfiledate) { if($setfiledate) {
$newdoc = $res[0]; $newdoc = $res[0];
@ -199,7 +185,9 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
$lc->setDate(filemtime($path)); $lc->setDate(filemtime($path));
} }
} else { } else {
return false; echo "Error importing ".$path."<br />";
echo "<pre>".print_r($res, true)."</pre>";
// return false;
} }
set_time_limit(30); set_time_limit(30);
} elseif(is_dir($path)) { } elseif(is_dir($path)) {
@ -212,7 +200,7 @@ function import_folder($dirname, $folder, $setfiledate, $setfolderdate, $metadat
if(!import_folder($path, $newfolder, $setfiledate, $setfolderdate, $metadata)) if(!import_folder($path, $newfolder, $setfiledate, $setfolderdate, $metadata))
return false; return false;
} else { } else {
return false; // return false;
} }
} }
$sequence++; $sequence++;