From 9964778245bef0871b10d23372153237794355b2 Mon Sep 17 00:00:00 2001 From: conradverm Date: Tue, 29 Jan 2008 13:54:02 +0000 Subject: [PATCH] KTS-2895 "DocumentUtil::saveMetadata clears metadata when novalidation option is set" Fixed. --- lib/documentmanagement/documentutil.inc.php | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) diff --git a/lib/documentmanagement/documentutil.inc.php b/lib/documentmanagement/documentutil.inc.php index 4d654eb..f00dd9a 100644 --- a/lib/documentmanagement/documentutil.inc.php +++ b/lib/documentmanagement/documentutil.inc.php @@ -256,20 +256,12 @@ class KTDocumentUtil { 'documenttypeid' => $iDocumentTypeId, )); -// if (is_null($oContents)) { -// $res = KTDocumentUtil::setIncomplete($oDocument, 'contents'); -// if (PEAR::isError($res)) { -// $oDocument->delete(); -// return $res; -// } -// } else { - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt('Storing contents'))); - $res = KTDocumentUtil::storeContents($oDocument, '', $aOptions); - if (PEAR::isError($res)) { - $oDocument->delete(); - return $res; - } -// } + $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt('Storing contents'))); + $res = KTDocumentUtil::storeContents($oDocument, '', $aOptions); + if (PEAR::isError($res)) { + $oDocument->delete(); + return $res; + } if (is_null($aMetadata)) { $res = KTDocumentUtil::setIncomplete($oDocument, 'metadata'); @@ -278,7 +270,7 @@ class KTDocumentUtil { return $res; } } else { - // $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt('Saving metadata'))); + $oUploadChannel->sendMessage(new KTUploadGenericMessage(_kt('Saving metadata'))); $res = KTDocumentUtil::saveMetadata($oDocument, $aMetadata, $aOptions); if (PEAR::isError($res)) { $oDocument->delete(); @@ -420,13 +412,15 @@ class KTDocumentUtil { function saveMetadata(&$oDocument, $aMetadata, $aOptions = null) { $table = 'document_fields_link'; $bNoValidate = KTUtil::arrayGet($aOptions, 'novalidate', false); - if ($bNoValidate !== true) { + if ($bNoValidate !== true) + { $res = KTDocumentUtil::validateMetadata($oDocument, $aMetadata); + if (PEAR::isError($res)) + { + return $res; + } + $aMetadata = empty($res)?array():$res; } - if (PEAR::isError($res)) { - return $res; - } - $aMetadata = empty($res)?array():$res; $iMetadataVersionId = $oDocument->getMetadataVersionId(); $res = DBUtil::runQuery(array("DELETE FROM $table WHERE metadata_version_id = ?", array($iMetadataVersionId))); -- libgit2 0.21.4