PageRenderTime 47ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/www/libs/Zend/Validator/ValidatorPluginManager.php

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