ILIAS  Release_4_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)
 Validates and cleans passed string according to a definition.
- 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
 Bool indicating whether or not negative values are allowed.
 $zero = true
 Bool indicating whether or not zero is allowed.
 $positive = true
 Bool indicating 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.

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 33 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 (   $string,
  $config,
  $context 
)

Validates and cleans passed string according to a definition.

Parameters
$stringString to be validated and cleaned.
$configMandatory HTMLPurifier_Config object.
$contextMandatory HTMLPurifier_AttrContext object.

Reimplemented from HTMLPurifier_AttrDef.

Definition at line 41 of file Integer.php.

References elseif(), and 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

Bool indicating whether or not negative values are allowed.

Definition at line 16 of file Integer.php.

Referenced by __construct().

HTMLPurifier_AttrDef_Integer::$positive = true
protected

Bool indicating whether or not positive values are allowed.

Definition at line 26 of file Integer.php.

Referenced by __construct().

HTMLPurifier_AttrDef_Integer::$zero = true
protected

Bool indicating whether or not zero is allowed.

Definition at line 21 of file Integer.php.

Referenced by __construct().


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