From de793abb7b05fdc5a5a9804ae6af8ddc3fc2ffd6 Mon Sep 17 00:00:00 2001 From: Uwe Steinmann Date: Mon, 30 May 2016 19:26:19 +0200 Subject: [PATCH] use SeedDMS_Core_Attribute->validate() --- op/op.AddDocument.php | 28 ++++++++++++++++++---------- op/op.EditAttributes.php | 30 +++++++++++++++++++----------- 2 files changed, 37 insertions(+), 21 deletions(-) diff --git a/op/op.AddDocument.php b/op/op.AddDocument.php index 739dce85b..3e0cbde72 100644 --- a/op/op.AddDocument.php +++ b/op/op.AddDocument.php @@ -82,17 +82,25 @@ else foreach($attributes as $attrdefid=>$attribute) { $attrdef = $dms->getAttributeDefinition($attrdefid); if($attribute) { - if($attrdef->getRegex()) { - if(!preg_match($attrdef->getRegex(), $attribute)) { - UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_no_regex_match")); - } - } - if(is_array($attribute)) { - if($attrdef->getMinValues() > count($attribute)) { - UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName()))); - } - if($attrdef->getMaxValues() && $attrdef->getMaxValues() < count($attribute)) { + if(!$attrdef->validate($attribute)) { + switch($attrdef->getValidationError()) { + case 5: + UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_malformed_email", array("attrname"=>$attrdef->getName(), "value"=>$attribute))); + break; + case 4: + UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_malformed_url", array("attrname"=>$attrdef->getName(), "value"=>$attribute))); + break; + case 3: + UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_no_regex_match", array("attrname"=>$attrdef->getName(), "value"=>$attribute, "regex"=>$attrdef->getRegex()))); + break; + case 2: UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_max_values", array("attrname"=>$attrdef->getName()))); + break; + case 1: + UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName()))); + break; + default: + UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured")); } } } elseif($attrdef->getMinValues() > 0) { diff --git a/op/op.EditAttributes.php b/op/op.EditAttributes.php index 607f7ff3f..90d9c9c2b 100644 --- a/op/op.EditAttributes.php +++ b/op/op.EditAttributes.php @@ -65,17 +65,25 @@ if($attributes) { foreach($attributes as $attrdefid=>$attribute) { $attrdef = $dms->getAttributeDefinition($attrdefid); if($attribute) { - if($attrdef->getRegex()) { - if(!preg_match($attrdef->getRegex(), $attribute)) { - UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_no_regex_match")); - } - if(is_array($attribute)) { - if($attrdef->getMinValues() > count($attribute)) { - UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName()))); - } - if($attrdef->getMaxValues() && $attrdef->getMaxValues() < count($attribute)) { - UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_max_values", array("attrname"=>$attrdef->getName()))); - } + if(!$attrdef->validate($attribute)) { + switch($attrdef->getValidationError()) { + case 5: + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_malformed_email", array("attrname"=>$attrdef->getName(), "value"=>$attribute))); + break; + case 4: + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_malformed_url", array("attrname"=>$attrdef->getName(), "value"=>$attribute))); + break; + case 3: + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_no_regex_match", array("attrname"=>$attrdef->getName(), "value"=>$attribute, "regex"=>$attrdef->getRegex()))); + break; + case 2: + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_max_values", array("attrname"=>$attrdef->getName()))); + break; + case 1: + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("attr_min_values", array("attrname"=>$attrdef->getName()))); + break; + default: + UI::exitError(getMLText("document_title", array("documentname" => $document->getName())),getMLText("error_occured")); } } if(!isset($oldattributes[$attrdefid]) || $attribute != $oldattributes[$attrdefid]->getValue()) {