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