ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
HTMLPurifier_AttrDef_Integer Class Reference

Validates an integer. More...

+ Inheritance diagram for HTMLPurifier_AttrDef_Integer:
+ Collaboration diagram for HTMLPurifier_AttrDef_Integer:

Public Member Functions

 __construct ($negative=true, $zero=true, $positive=true)
 validate ($integer, $config, $context)
- Public Member Functions inherited from HTMLPurifier_AttrDef
 parseCDATA ($string)
 Convenience method that parses a string as if it were CDATA.
 make ($string)
 Factory method for creating this class from a string.

Protected Attributes

 $negative = true
 Whether or not negative values are allowed.
 $zero = true
 Whether or not zero is allowed.
 $positive = true
 Whether or not positive values are allowed.

Additional Inherited Members

- Data Fields inherited from HTMLPurifier_AttrDef
 $minimized = false
 Tells us whether or not an HTML attribute is minimized.
 $required = false
 Tells us whether or not an HTML attribute is required.
- Protected Member Functions inherited from HTMLPurifier_AttrDef
 mungeRgb ($string)
 Removes spaces from rgb(0, 0, 0) so that shorthand CSS properties work properly.
 expandCSSEscape ($string)
 Parses a possibly escaped CSS string and returns the "pure" version of it.

Detailed Description

Validates an integer.

Note
While this class was modeled off the CSS definition, no currently allowed CSS uses this type. The properties that do are: widows, orphans, z-index, counter-increment, counter-reset. Some of the HTML attributes, however, find use for a non-negative version of this.

Definition at line 10 of file Integer.php.

Constructor & Destructor Documentation

HTMLPurifier_AttrDef_Integer::__construct (   $negative = true,
  $zero = true,
  $positive = true 
)
Parameters
$negativeBool indicating whether or not negative values are allowed
$zeroBool indicating whether or not zero is allowed
$positiveBool indicating whether or not positive values are allowed

Definition at line 36 of file Integer.php.

References $negative, $positive, and $zero.

{
$this->negative = $negative;
$this->zero = $zero;
$this->positive = $positive;
}

Member Function Documentation

HTMLPurifier_AttrDef_Integer::validate (   $integer,
  $config,
  $context 
)
Parameters
string$integer
HTMLPurifier_Config$config
HTMLPurifier_Context$context
Returns
bool|string

Reimplemented from HTMLPurifier_AttrDef.

Definition at line 49 of file Integer.php.

References HTMLPurifier_AttrDef\parseCDATA().

{
$integer = $this->parseCDATA($integer);
if ($integer === '') {
return false;
}
// we could possibly simply typecast it to integer, but there are
// certain fringe cases that must not return an integer.
// clip leading sign
if ($this->negative && $integer[0] === '-') {
$digits = substr($integer, 1);
if ($digits === '0') {
$integer = '0';
} // rm minus sign for zero
} elseif ($this->positive && $integer[0] === '+') {
$digits = $integer = substr($integer, 1); // rm unnecessary plus
} else {
$digits = $integer;
}
// test if it's numeric
if (!ctype_digit($digits)) {
return false;
}
// perform scope tests
if (!$this->zero && $integer == 0) {
return false;
}
if (!$this->positive && $integer > 0) {
return false;
}
if (!$this->negative && $integer < 0) {
return false;
}
return $integer;
}

+ Here is the call graph for this function:

Field Documentation

HTMLPurifier_AttrDef_Integer::$negative = true
protected

Whether or not negative values are allowed.

bool

Definition at line 17 of file Integer.php.

Referenced by __construct().

HTMLPurifier_AttrDef_Integer::$positive = true
protected

Whether or not positive values are allowed.

bool

Definition at line 29 of file Integer.php.

Referenced by __construct().

HTMLPurifier_AttrDef_Integer::$zero = true
protected

Whether or not zero is allowed.

bool

Definition at line 23 of file Integer.php.

Referenced by __construct().


The documentation for this class was generated from the following file: