Added the zend framework 2 library, the path is specified in line no.26 in zend_modul...
[openemr.git] / interface / modules / zend_modules / library / Zend / Validator / ValidatorPluginManager.php
blob8e4aee858843203f3c2120fba489f903ec518476
1 <?php
2 /**
3 * Zend Framework (http://framework.zend.com/)
5 * @link http://github.com/zendframework/zf2 for the canonical source repository
6 * @copyright Copyright (c) 2005-2013 Zend Technologies USA Inc. (http://www.zend.com)
7 * @license http://framework.zend.com/license/new-bsd New BSD License
8 */
10 namespace Zend\Validator;
12 use Zend\ServiceManager\AbstractPluginManager;
13 use Zend\ServiceManager\ConfigInterface;
15 class ValidatorPluginManager extends AbstractPluginManager
17 /**
18 * Default set of validators
20 * @var array
22 protected $invokableClasses = array(
23 'alnum' => 'Zend\I18n\Validator\Alnum',
24 'alpha' => 'Zend\I18n\Validator\Alpha',
25 'barcodecode25interleaved' => 'Zend\Validator\Barcode\Code25interleaved',
26 'barcodecode25' => 'Zend\Validator\Barcode\Code25',
27 'barcodecode39ext' => 'Zend\Validator\Barcode\Code39ext',
28 'barcodecode39' => 'Zend\Validator\Barcode\Code39',
29 'barcodecode93ext' => 'Zend\Validator\Barcode\Code93ext',
30 'barcodecode93' => 'Zend\Validator\Barcode\Code93',
31 'barcodeean12' => 'Zend\Validator\Barcode\Ean12',
32 'barcodeean13' => 'Zend\Validator\Barcode\Ean13',
33 'barcodeean14' => 'Zend\Validator\Barcode\Ean14',
34 'barcodeean18' => 'Zend\Validator\Barcode\Ean18',
35 'barcodeean2' => 'Zend\Validator\Barcode\Ean2',
36 'barcodeean5' => 'Zend\Validator\Barcode\Ean5',
37 'barcodeean8' => 'Zend\Validator\Barcode\Ean8',
38 'barcodegtin12' => 'Zend\Validator\Barcode\Gtin12',
39 'barcodegtin13' => 'Zend\Validator\Barcode\Gtin13',
40 'barcodegtin14' => 'Zend\Validator\Barcode\Gtin14',
41 'barcodeidentcode' => 'Zend\Validator\Barcode\Identcode',
42 'barcodeintelligentmail' => 'Zend\Validator\Barcode\Intelligentmail',
43 'barcodeissn' => 'Zend\Validator\Barcode\Issn',
44 'barcodeitf14' => 'Zend\Validator\Barcode\Itf14',
45 'barcodeleitcode' => 'Zend\Validator\Barcode\Leitcode',
46 'barcodeplanet' => 'Zend\Validator\Barcode\Planet',
47 'barcodepostnet' => 'Zend\Validator\Barcode\Postnet',
48 'barcoderoyalmail' => 'Zend\Validator\Barcode\Royalmail',
49 'barcodesscc' => 'Zend\Validator\Barcode\Sscc',
50 'barcodeupca' => 'Zend\Validator\Barcode\Upca',
51 'barcodeupce' => 'Zend\Validator\Barcode\Upce',
52 'barcode' => 'Zend\Validator\Barcode',
53 'between' => 'Zend\Validator\Between',
54 'callback' => 'Zend\Validator\Callback',
55 'creditcard' => 'Zend\Validator\CreditCard',
56 'csrf' => 'Zend\Validator\Csrf',
57 'date' => 'Zend\Validator\Date',
58 'datestep' => 'Zend\Validator\DateStep',
59 'datetime' => 'Zend\I18n\Validator\DateTime',
60 'dbnorecordexists' => 'Zend\Validator\Db\NoRecordExists',
61 'dbrecordexists' => 'Zend\Validator\Db\RecordExists',
62 'digits' => 'Zend\Validator\Digits',
63 'emailaddress' => 'Zend\Validator\EmailAddress',
64 'explode' => 'Zend\Validator\Explode',
65 'filecount' => 'Zend\Validator\File\Count',
66 'filecrc32' => 'Zend\Validator\File\Crc32',
67 'fileexcludeextension' => 'Zend\Validator\File\ExcludeExtension',
68 'fileexcludemimetype' => 'Zend\Validator\File\ExcludeMimeType',
69 'fileexists' => 'Zend\Validator\File\Exists',
70 'fileextension' => 'Zend\Validator\File\Extension',
71 'filefilessize' => 'Zend\Validator\File\FilesSize',
72 'filehash' => 'Zend\Validator\File\Hash',
73 'fileimagesize' => 'Zend\Validator\File\ImageSize',
74 'fileiscompressed' => 'Zend\Validator\File\IsCompressed',
75 'fileisimage' => 'Zend\Validator\File\IsImage',
76 'filemd5' => 'Zend\Validator\File\Md5',
77 'filemimetype' => 'Zend\Validator\File\MimeType',
78 'filenotexists' => 'Zend\Validator\File\NotExists',
79 'filesha1' => 'Zend\Validator\File\Sha1',
80 'filesize' => 'Zend\Validator\File\Size',
81 'fileupload' => 'Zend\Validator\File\Upload',
82 'fileuploadfile' => 'Zend\Validator\File\UploadFile',
83 'filewordcount' => 'Zend\Validator\File\WordCount',
84 'float' => 'Zend\I18n\Validator\Float',
85 'greaterthan' => 'Zend\Validator\GreaterThan',
86 'hex' => 'Zend\Validator\Hex',
87 'hostname' => 'Zend\Validator\Hostname',
88 'iban' => 'Zend\Validator\Iban',
89 'identical' => 'Zend\Validator\Identical',
90 'inarray' => 'Zend\Validator\InArray',
91 'int' => 'Zend\I18n\Validator\Int',
92 'ip' => 'Zend\Validator\Ip',
93 'isbn' => 'Zend\Validator\Isbn',
94 'isinstanceof' => 'Zend\Validator\IsInstanceOf',
95 'lessthan' => 'Zend\Validator\LessThan',
96 'notempty' => 'Zend\Validator\NotEmpty',
97 'phonenumber' => 'Zend\I18n\Validator\PhoneNumber',
98 'postcode' => 'Zend\I18n\Validator\PostCode',
99 'regex' => 'Zend\Validator\Regex',
100 'sitemapchangefreq' => 'Zend\Validator\Sitemap\Changefreq',
101 'sitemaplastmod' => 'Zend\Validator\Sitemap\Lastmod',
102 'sitemaploc' => 'Zend\Validator\Sitemap\Loc',
103 'sitemappriority' => 'Zend\Validator\Sitemap\Priority',
104 'stringlength' => 'Zend\Validator\StringLength',
105 'step' => 'Zend\Validator\Step',
106 'uri' => 'Zend\Validator\Uri',
110 * Whether or not to share by default; default to false
112 * @var bool
114 protected $shareByDefault = false;
117 * Constructor
119 * After invoking parent constructor, add an initializer to inject the
120 * attached translator, if any, to the currently requested helper.
122 * @param null|ConfigInterface $configuration
124 public function __construct(ConfigInterface $configuration = null)
126 parent::__construct($configuration);
127 $this->addInitializer(array($this, 'injectTranslator'));
128 $this->addInitializer(array($this, 'injectValidatorPluginManager'));
132 * Inject a validator instance with the registered translator
134 * @param ValidatorInterface $validator
135 * @return void
137 public function injectTranslator($validator)
139 if ($validator instanceof Translator\TranslatorAwareInterface) {
140 $locator = $this->getServiceLocator();
141 if ($locator && $locator->has('MvcTranslator')) {
142 $validator->setTranslator($locator->get('MvcTranslator'));
148 * Inject a validator plugin manager
150 * @param $validator
151 * @return void
153 public function injectValidatorPluginManager($validator)
155 if ($validator instanceof ValidatorPluginManagerAwareInterface) {
156 $validator->setValidatorPluginManager($this);
161 * Validate the plugin
163 * Checks that the validator loaded is an instance of ValidatorInterface.
165 * @param mixed $plugin
166 * @return void
167 * @throws Exception\RuntimeException if invalid
169 public function validatePlugin($plugin)
171 if ($plugin instanceof ValidatorInterface) {
172 // we're okay
173 return;
176 throw new Exception\RuntimeException(sprintf(
177 'Plugin of type %s is invalid; must implement %s\ValidatorInterface',
178 (is_object($plugin) ? get_class($plugin) : gettype($plugin)),
179 __NAMESPACE__