diff options
Diffstat (limited to '3rdparty/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php')
-rw-r--r-- | 3rdparty/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php | 196 |
1 files changed, 130 insertions, 66 deletions
diff --git a/3rdparty/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php b/3rdparty/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php index 7bb887bc4..c9aa3644a 100644 --- a/3rdparty/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php +++ b/3rdparty/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php @@ -1,66 +1,130 @@ -<?php
-
-/**
- * Fluent interface for validating the contents of member variables.
- * This should be immutable. See HTMLPurifier_ConfigSchema_Validator for
- * use-cases. We name this an 'atom' because it's ONLY for validations that
- * are independent and usually scalar.
- */
-class HTMLPurifier_ConfigSchema_ValidatorAtom
-{
-
- protected $context, $obj, $member, $contents;
-
- public function __construct($context, $obj, $member) {
- $this->context = $context;
- $this->obj = $obj;
- $this->member = $member;
- $this->contents =& $obj->$member;
- }
-
- public function assertIsString() {
- if (!is_string($this->contents)) $this->error('must be a string');
- return $this;
- }
-
- public function assertIsBool() {
- if (!is_bool($this->contents)) $this->error('must be a boolean');
- return $this;
- }
-
- public function assertIsArray() {
- if (!is_array($this->contents)) $this->error('must be an array');
- return $this;
- }
-
- public function assertNotNull() {
- if ($this->contents === null) $this->error('must not be null');
- return $this;
- }
-
- public function assertAlnum() {
- $this->assertIsString();
- if (!ctype_alnum($this->contents)) $this->error('must be alphanumeric');
- return $this;
- }
-
- public function assertNotEmpty() {
- if (empty($this->contents)) $this->error('must not be empty');
- return $this;
- }
-
- public function assertIsLookup() {
- $this->assertIsArray();
- foreach ($this->contents as $v) {
- if ($v !== true) $this->error('must be a lookup array');
- }
- return $this;
- }
-
- protected function error($msg) {
- throw new HTMLPurifier_ConfigSchema_Exception(ucfirst($this->member) . ' in ' . $this->context . ' ' . $msg);
- }
-
-}
-
-// vim: et sw=4 sts=4
+<?php + +/** + * Fluent interface for validating the contents of member variables. + * This should be immutable. See HTMLPurifier_ConfigSchema_Validator for + * use-cases. We name this an 'atom' because it's ONLY for validations that + * are independent and usually scalar. + */ +class HTMLPurifier_ConfigSchema_ValidatorAtom +{ + /** + * @type string + */ + protected $context; + + /** + * @type object + */ + protected $obj; + + /** + * @type string + */ + protected $member; + + /** + * @type mixed + */ + protected $contents; + + public function __construct($context, $obj, $member) + { + $this->context = $context; + $this->obj = $obj; + $this->member = $member; + $this->contents =& $obj->$member; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertIsString() + { + if (!is_string($this->contents)) { + $this->error('must be a string'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertIsBool() + { + if (!is_bool($this->contents)) { + $this->error('must be a boolean'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertIsArray() + { + if (!is_array($this->contents)) { + $this->error('must be an array'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertNotNull() + { + if ($this->contents === null) { + $this->error('must not be null'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertAlnum() + { + $this->assertIsString(); + if (!ctype_alnum($this->contents)) { + $this->error('must be alphanumeric'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertNotEmpty() + { + if (empty($this->contents)) { + $this->error('must not be empty'); + } + return $this; + } + + /** + * @return HTMLPurifier_ConfigSchema_ValidatorAtom + */ + public function assertIsLookup() + { + $this->assertIsArray(); + foreach ($this->contents as $v) { + if ($v !== true) { + $this->error('must be a lookup array'); + } + } + return $this; + } + + /** + * @param string $msg + * @throws HTMLPurifier_ConfigSchema_Exception + */ + protected function error($msg) + { + throw new HTMLPurifier_ConfigSchema_Exception(ucfirst($this->member) . ' in ' . $this->context . ' ' . $msg); + } +} + +// vim: et sw=4 sts=4 |