From 9e5f7e70a81d5ea9dcba425eaf74bcb540a8e963 Mon Sep 17 00:00:00 2001
From: llaffont <llaffont@git-test.afi-sa.fr>
Date: Mon, 30 Sep 2013 09:34:41 +0000
Subject: [PATCH] Ajout Validate_Facettes

---
 .gitattributes                       |  1 +
 library/ZendAfi/Validate/Facette.php | 39 ++++++++++++++++++++++++++++
 2 files changed, 40 insertions(+)
 create mode 100644 library/ZendAfi/Validate/Facette.php

diff --git a/.gitattributes b/.gitattributes
index dfdf96bd212..4e5c660d443 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2721,6 +2721,7 @@ library/ZendAfi/Form/VignetteNotice.php -text
 library/ZendAfi/Mail.php -text
 library/ZendAfi/Translate.php -text
 library/ZendAfi/Validate/EmailAddress.php -text
+library/ZendAfi/Validate/Facette.php -text
 library/ZendAfi/Validate/FieldGreater.php -text
 library/ZendAfi/Validate/FieldsGreater.php -text
 library/ZendAfi/Validate/Isbn.php -text
diff --git a/library/ZendAfi/Validate/Facette.php b/library/ZendAfi/Validate/Facette.php
new file mode 100644
index 00000000000..c5907ce6e86
--- /dev/null
+++ b/library/ZendAfi/Validate/Facette.php
@@ -0,0 +1,39 @@
+<?php
+/**
+ * Copyright (c) 2012, Agence Française Informatique (AFI). All rights reserved.
+ *
+ * AFI-OPAC 2.0 is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE as published by
+ * the Free Software Foundation.
+ *
+ * There are special exceptions to the terms and conditions of the AGPL as it
+ * is applied to this software (see README file).
+ *
+ * AFI-OPAC 2.0 is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * along with AFI-OPAC 2.0; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA 
+ */
+class ZendAfi_Validate_Facette extends Zend_Validate_Abstract {
+	const INVALID_FACETTE = 'invalidFacette';
+	
+	protected $_messageTemplates = [self::INVALID_FACETTE   => "'%value%' n'est pas une facette valide"];
+
+	public function isValid($value) {
+		$value = (string)$value;
+		$this->_setValue($value);
+
+    /** Facettes valides: YMET Lfre S234*/
+		if (preg_match('/^(Y\w+)|(L\w+)|([A-Z]+\d+)$/', $value))
+			return true;
+
+		$this->_error(self::INVALID_FACETTE);
+		return false;
+	}
+}
+
+?>
\ No newline at end of file
-- 
GitLab