mirror of
https://git.code.sf.net/p/seeddms/code
synced 2025-02-06 15:14:58 +00:00
some improvements (still unfinished)
This commit is contained in:
parent
0378295208
commit
7ed771dba8
|
@ -48,6 +48,33 @@ if(strpos($dirname, realpath($settings->_dropFolderDir.'/'.$user->getLogin().'/'
|
|||
UI::exitError(getMLText("admin_tools"),getMLText("invalid_dropfolder_folder"));
|
||||
}
|
||||
|
||||
function getBaseData($colname, $coldata, $objdata) { /* {{{ */
|
||||
$objdata[$colname] = $coldata;
|
||||
return $objdata;
|
||||
} /* }}} */
|
||||
|
||||
function getAttributeData($attrdef, $coldata, $objdata) { /* {{{ */
|
||||
$objdata['attributes'][$attrdef->getID()] = $coldata;
|
||||
return $objdata;
|
||||
} /* }}} */
|
||||
|
||||
function getCategoryData($colname, $coldata, $objdata) { /* {{{ */
|
||||
global $catids;
|
||||
$kk = explode(',', $coldata);
|
||||
foreach($kk as $k) {
|
||||
if(isset($catids[$k]))
|
||||
$objdata['category'][] = $catids[$k];
|
||||
}
|
||||
return $objdata;
|
||||
} /* }}} */
|
||||
|
||||
function getUserData($colname, $coldata, $objdata) { /* {{{ */
|
||||
global $userids;
|
||||
if(isset($userids[$coldata]))
|
||||
$objdata['owner'] = $userids[$coldata];
|
||||
return $objdata;
|
||||
} /* }}} */
|
||||
|
||||
$metadata = array();
|
||||
if(!empty($_GET["dropfolderfileform2"])) {
|
||||
$metadatafile = realpath($settings->_dropFolderDir.'/'.$user->getLogin()."/".$_GET["dropfolderfileform2"]);
|
||||
|
@ -58,32 +85,69 @@ if(!empty($_GET["dropfolderfileform2"])) {
|
|||
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;
|
||||
$colname = trim($colname);
|
||||
if(in_array($colname, array('category'))) {
|
||||
$colmap[$i] = array("getCategoryData", $colname);
|
||||
} elseif(in_array($colname, array('owner'))) {
|
||||
$colmap[$i] = array("getUserData", $colname);
|
||||
} elseif(in_array($colname, array('filename', 'category', 'name', 'comment'))) {
|
||||
$colmap[$i] = array("getBaseData", $colname);
|
||||
} elseif(substr($colname, 0, 5) == 'attr:') {
|
||||
$kk = explode(':', $colname, 2);
|
||||
if(($attrdef = $dms->getAttributeDefinitionByName($kk[1])) || ($attrdef = $dms->getAttributeDefinition((int) $kk[1]))) {
|
||||
$colmap[$i] = array("getAttributeData", $attrdef);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
echo "<pre>";print_r($colmap);echo "</pre>";
|
||||
if(count($colmap) > 1) {
|
||||
$nameprefix = dirname($dirname).'/';
|
||||
$allcats = $dms->getDocumentCategories();
|
||||
$catids = array();
|
||||
foreach($allcats as $cat)
|
||||
$catids[$cat->getName()] = $cat;
|
||||
$allusers = $dms->getAllUsers();
|
||||
$userids = array();
|
||||
foreach($allusers as $muser)
|
||||
$userids[$muser->getLogin()] = $muser;
|
||||
while(!feof($fp)) {
|
||||
if($data = fgetcsv($fp, 0, $csvdelim, $csvencl)) {
|
||||
$metadata[$nameprefix.$data[$colmap['filename']]] = array('category'=>array());
|
||||
$mi = $nameprefix.$data[$colmap['filename']];
|
||||
$metadata[$mi] = array('category'=>array());
|
||||
$md = array();
|
||||
foreach($data as $i=>$coldata) {
|
||||
if(isset($colmap[$i])) {
|
||||
$md = call_user_func($colmap[$i][0], $colmap[$i][1], $coldata, $md);
|
||||
}
|
||||
}
|
||||
$metadata[$mi] = $md;
|
||||
/*
|
||||
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];
|
||||
$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>";
|
||||
exit;
|
||||
|
||||
$setfiledate = false;
|
||||
if(isset($_GET['setfiledate']) && $_GET["setfiledate"]) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user