import user attributes

This commit is contained in:
Uwe Steinmann 2015-07-30 21:05:06 +02:00
parent 3b2ff0d773
commit ff8d89dbf5

View File

@ -268,6 +268,16 @@ function insert_document($document) { /* {{{ */
} }
} }
} }
$version_attributes = array();
if(isset($initversion['user_attributes'])) {
foreach($initversion['user_attributes'] as $orgid=>$value) {
if(array_key_exists((int) $orgid, $objmap['attributedefs'])) {
$version_attributes[$objmap['attributedefs'][$orgid]] = $value;
} else {
echo "Warning: User attribute ".$orgid." cannot be mapped\n";
}
}
}
if(!$result = $folder->addDocument( if(!$result = $folder->addDocument(
$document['attributes']['name'], $document['attributes']['name'],
$document['attributes']['comment'], $document['attributes']['comment'],
@ -285,7 +295,7 @@ function insert_document($document) { /* {{{ */
$initversion['version'], $initversion['version'],
isset($initversion['attributes']['comment']) ? $initversion['attributes']['comment'] : '', isset($initversion['attributes']['comment']) ? $initversion['attributes']['comment'] : '',
$attributes, $attributes,
array(), //version_attributes $version_attributes,
null //workflow null //workflow
) )
) { ) {
@ -327,7 +337,16 @@ function insert_document($document) { /* {{{ */
} }
} }
} }
$version_attributes = array();
if(isset($version['user_attributes'])) {
foreach($version['user_attributes'] as $orgid=>$value) {
if(array_key_exists((int) $orgid, $objmap['attributedefs'])) {
$version_attributes[$objmap['attributedefs'][$orgid]] = $value;
} else {
echo "Warning: User attribute ".$orgid." cannot be mapped\n";
}
}
}
if(!empty($version['fileref'])) { if(!empty($version['fileref'])) {
$filename = tempnam('/tmp', 'FOO'); $filename = tempnam('/tmp', 'FOO');
copy($version['fileref'], $filename); copy($version['fileref'], $filename);
@ -349,7 +368,7 @@ function insert_document($document) { /* {{{ */
$reviews, //reviewers $reviews, //reviewers
$approvals, //approvers $approvals, //approvers
$version['version'], $version['version'],
array(), //attributes $version_attributes,
null //workflow null //workflow
)) { )) {
} }
@ -916,21 +935,39 @@ function characterData($parser, $data) { /* {{{ */
$cur_reviewlog['attributes'][$current['attributes']['NAME']] = $data; $cur_reviewlog['attributes'][$current['attributes']['NAME']] = $data;
break; break;
case 'USER': case 'USER':
if(isset($cur_user['attributes'][$current['attributes']['NAME']]))
$cur_user['attributes'][$current['attributes']['NAME']] .= $data;
else
$cur_user['attributes'][$current['attributes']['NAME']] = $data; $cur_user['attributes'][$current['attributes']['NAME']] = $data;
break; break;
case 'GROUP': case 'GROUP':
if(isset($cur_group['attributes'][$current['attributes']['NAME']]))
$cur_group['attributes'][$current['attributes']['NAME']] .= $data;
else
$cur_group['attributes'][$current['attributes']['NAME']] = $data; $cur_group['attributes'][$current['attributes']['NAME']] = $data;
break; break;
case 'ATTRIBUTEDEFINITION': case 'ATTRIBUTEDEFINITION':
if(isset($cur_attrdef['attributes'][$current['attributes']['NAME']]))
$cur_attrdef['attributes'][$current['attributes']['NAME']] .= $data;
else
$cur_attrdef['attributes'][$current['attributes']['NAME']] = $data; $cur_attrdef['attributes'][$current['attributes']['NAME']] = $data;
break; break;
case 'DOCUMENTCATEGORY': case 'DOCUMENTCATEGORY':
if(isset($cur_documentcat['attributes'][$current['attributes']['NAME']]))
$cur_documentcat['attributes'][$current['attributes']['NAME']] .= $data;
else
$cur_documentcat['attributes'][$current['attributes']['NAME']] = $data; $cur_documentcat['attributes'][$current['attributes']['NAME']] = $data;
break; break;
case 'KEYWORDCATEGORY': case 'KEYWORDCATEGORY':
if(isset($cur_keywordcat['attributes'][$current['attributes']['NAME']]))
$cur_keywordcat['attributes'][$current['attributes']['NAME']] .= $data;
else
$cur_keywordcat['attributes'][$current['attributes']['NAME']] = $data; $cur_keywordcat['attributes'][$current['attributes']['NAME']] = $data;
break; break;
case 'KEYWORD': case 'KEYWORD':
if(isset($cur_keyword['attributes'][$current['attributes']['NAME']]))
$cur_keyword['attributes'][$current['attributes']['NAME']] .= $data;
else
$cur_keyword['attributes'][$current['attributes']['NAME']] = $data; $cur_keyword['attributes'][$current['attributes']['NAME']] = $data;
break; break;
case 'IMAGE': case 'IMAGE':