Файл: concrete5.7.5.6/concrete/vendor/zendframework/zend-validator/src/ValidatorPluginManager.php
Строк: 307
<?php
/**
* Zend Framework (http://framework.zend.com/)
*
* @link http://github.com/zendframework/zf2 for the canonical source repository
* @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
namespace ZendValidator;
use ZendServiceManagerAbstractPluginManager;
use ZendServiceManagerConfigInterface;
class ValidatorPluginManager extends AbstractPluginManager
{
/**
* Default set of validators
*
* @var array
*/
protected $invokableClasses = array(
'alnum' => 'ZendI18nValidatorAlnum',
'alpha' => 'ZendI18nValidatorAlpha',
'barcodecode25interleaved' => 'ZendValidatorBarcodeCode25interleaved',
'barcodecode25' => 'ZendValidatorBarcodeCode25',
'barcodecode39ext' => 'ZendValidatorBarcodeCode39ext',
'barcodecode39' => 'ZendValidatorBarcodeCode39',
'barcodecode93ext' => 'ZendValidatorBarcodeCode93ext',
'barcodecode93' => 'ZendValidatorBarcodeCode93',
'barcodeean12' => 'ZendValidatorBarcodeEan12',
'barcodeean13' => 'ZendValidatorBarcodeEan13',
'barcodeean14' => 'ZendValidatorBarcodeEan14',
'barcodeean18' => 'ZendValidatorBarcodeEan18',
'barcodeean2' => 'ZendValidatorBarcodeEan2',
'barcodeean5' => 'ZendValidatorBarcodeEan5',
'barcodeean8' => 'ZendValidatorBarcodeEan8',
'barcodegtin12' => 'ZendValidatorBarcodeGtin12',
'barcodegtin13' => 'ZendValidatorBarcodeGtin13',
'barcodegtin14' => 'ZendValidatorBarcodeGtin14',
'barcodeidentcode' => 'ZendValidatorBarcodeIdentcode',
'barcodeintelligentmail' => 'ZendValidatorBarcodeIntelligentmail',
'barcodeissn' => 'ZendValidatorBarcodeIssn',
'barcodeitf14' => 'ZendValidatorBarcodeItf14',
'barcodeleitcode' => 'ZendValidatorBarcodeLeitcode',
'barcodeplanet' => 'ZendValidatorBarcodePlanet',
'barcodepostnet' => 'ZendValidatorBarcodePostnet',
'barcoderoyalmail' => 'ZendValidatorBarcodeRoyalmail',
'barcodesscc' => 'ZendValidatorBarcodeSscc',
'barcodeupca' => 'ZendValidatorBarcodeUpca',
'barcodeupce' => 'ZendValidatorBarcodeUpce',
'barcode' => 'ZendValidatorBarcode',
'between' => 'ZendValidatorBetween',
'callback' => 'ZendValidatorCallback',
'creditcard' => 'ZendValidatorCreditCard',
'csrf' => 'ZendValidatorCsrf',
'date' => 'ZendValidatorDate',
'datestep' => 'ZendValidatorDateStep',
'datetime' => 'ZendI18nValidatorDateTime',
'dbnorecordexists' => 'ZendValidatorDbNoRecordExists',
'dbrecordexists' => 'ZendValidatorDbRecordExists',
'digits' => 'ZendValidatorDigits',
'emailaddress' => 'ZendValidatorEmailAddress',
'explode' => 'ZendValidatorExplode',
'filecount' => 'ZendValidatorFileCount',
'filecrc32' => 'ZendValidatorFileCrc32',
'fileexcludeextension' => 'ZendValidatorFileExcludeExtension',
'fileexcludemimetype' => 'ZendValidatorFileExcludeMimeType',
'fileexists' => 'ZendValidatorFileExists',
'fileextension' => 'ZendValidatorFileExtension',
'filefilessize' => 'ZendValidatorFileFilesSize',
'filehash' => 'ZendValidatorFileHash',
'fileimagesize' => 'ZendValidatorFileImageSize',
'fileiscompressed' => 'ZendValidatorFileIsCompressed',
'fileisimage' => 'ZendValidatorFileIsImage',
'filemd5' => 'ZendValidatorFileMd5',
'filemimetype' => 'ZendValidatorFileMimeType',
'filenotexists' => 'ZendValidatorFileNotExists',
'filesha1' => 'ZendValidatorFileSha1',
'filesize' => 'ZendValidatorFileSize',
'fileupload' => 'ZendValidatorFileUpload',
'fileuploadfile' => 'ZendValidatorFileUploadFile',
'filewordcount' => 'ZendValidatorFileWordCount',
'float' => 'ZendI18nValidatorFloat',
'greaterthan' => 'ZendValidatorGreaterThan',
'hex' => 'ZendValidatorHex',
'hostname' => 'ZendValidatorHostname',
'iban' => 'ZendValidatorIban',
'identical' => 'ZendValidatorIdentical',
'inarray' => 'ZendValidatorInArray',
'int' => 'ZendI18nValidatorInt',
'ip' => 'ZendValidatorIp',
'isbn' => 'ZendValidatorIsbn',
'isinstanceof' => 'ZendValidatorIsInstanceOf',
'lessthan' => 'ZendValidatorLessThan',
'notempty' => 'ZendValidatorNotEmpty',
'phonenumber' => 'ZendI18nValidatorPhoneNumber',
'postcode' => 'ZendI18nValidatorPostCode',
'regex' => 'ZendValidatorRegex',
'sitemapchangefreq' => 'ZendValidatorSitemapChangefreq',
'sitemaplastmod' => 'ZendValidatorSitemapLastmod',
'sitemaploc' => 'ZendValidatorSitemapLoc',
'sitemappriority' => 'ZendValidatorSitemapPriority',
'stringlength' => 'ZendValidatorStringLength',
'step' => 'ZendValidatorStep',
'uri' => 'ZendValidatorUri',
);
/**
* Whether or not to share by default; default to false
*
* @var bool
*/
protected $shareByDefault = false;
/**
* Constructor
*
* After invoking parent constructor, add an initializer to inject the
* attached translator, if any, to the currently requested helper.
*
* @param null|ConfigInterface $configuration
*/
public function __construct(ConfigInterface $configuration = null)
{
parent::__construct($configuration);
$this->addInitializer(array($this, 'injectTranslator'));
$this->addInitializer(array($this, 'injectValidatorPluginManager'));
}
/**
* Inject a validator instance with the registered translator
*
* @param ValidatorInterface $validator
* @return void
*/
public function injectTranslator($validator)
{
if ($validator instanceof TranslatorTranslatorAwareInterface) {
$locator = $this->getServiceLocator();
if ($locator && $locator->has('MvcTranslator')) {
$validator->setTranslator($locator->get('MvcTranslator'));
}
}
}
/**
* Inject a validator plugin manager
*
* @param $validator
* @return void
*/
public function injectValidatorPluginManager($validator)
{
if ($validator instanceof ValidatorPluginManagerAwareInterface) {
$validator->setValidatorPluginManager($this);
}
}
/**
* Validate the plugin
*
* Checks that the validator loaded is an instance of ValidatorInterface.
*
* @param mixed $plugin
* @return void
* @throws ExceptionRuntimeException if invalid
*/
public function validatePlugin($plugin)
{
if ($plugin instanceof ValidatorInterface) {
// we're okay
return;
}
throw new ExceptionRuntimeException(sprintf(
'Plugin of type %s is invalid; must implement %sValidatorInterface',
(is_object($plugin) ? get_class($plugin) : gettype($plugin)),
__NAMESPACE__
));
}
}