mirror of
				https://github.com/Icinga/icingaweb2.git
				synced 2025-10-27 01:14:04 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			101 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * Abstract base token class that all others inherit from.
 | |
|  */
 | |
| abstract class HTMLPurifier_Token
 | |
| {
 | |
|     /**
 | |
|      * Line number node was on in source document. Null if unknown.
 | |
|      * @type int
 | |
|      */
 | |
|     public $line;
 | |
| 
 | |
|     /**
 | |
|      * Column of line node was on in source document. Null if unknown.
 | |
|      * @type int
 | |
|      */
 | |
|     public $col;
 | |
| 
 | |
|     /**
 | |
|      * Lookup array of processing that this token is exempt from.
 | |
|      * Currently, valid values are "ValidateAttributes" and
 | |
|      * "MakeWellFormed_TagClosedError"
 | |
|      * @type array
 | |
|      */
 | |
|     public $armor = array();
 | |
| 
 | |
|     /**
 | |
|      * Used during MakeWellFormed.  See Note [Injector skips]
 | |
|      * @type
 | |
|      */
 | |
|     public $skip;
 | |
| 
 | |
|     /**
 | |
|      * @type
 | |
|      */
 | |
|     public $rewind;
 | |
| 
 | |
|     /**
 | |
|      * @type
 | |
|      */
 | |
|     public $carryover;
 | |
| 
 | |
|     /**
 | |
|      * @param string $n
 | |
|      * @return null|string
 | |
|      */
 | |
|     public function __get($n)
 | |
|     {
 | |
|         if ($n === 'type') {
 | |
|             trigger_error('Deprecated type property called; use instanceof', E_USER_NOTICE);
 | |
|             switch (get_class($this)) {
 | |
|                 case 'HTMLPurifier_Token_Start':
 | |
|                     return 'start';
 | |
|                 case 'HTMLPurifier_Token_Empty':
 | |
|                     return 'empty';
 | |
|                 case 'HTMLPurifier_Token_End':
 | |
|                     return 'end';
 | |
|                 case 'HTMLPurifier_Token_Text':
 | |
|                     return 'text';
 | |
|                 case 'HTMLPurifier_Token_Comment':
 | |
|                     return 'comment';
 | |
|                 default:
 | |
|                     return null;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sets the position of the token in the source document.
 | |
|      * @param int $l
 | |
|      * @param int $c
 | |
|      */
 | |
|     public function position($l = null, $c = null)
 | |
|     {
 | |
|         $this->line = $l;
 | |
|         $this->col = $c;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Convenience function for DirectLex settings line/col position.
 | |
|      * @param int $l
 | |
|      * @param int $c
 | |
|      */
 | |
|     public function rawPosition($l, $c)
 | |
|     {
 | |
|         if ($c === -1) {
 | |
|             $l++;
 | |
|         }
 | |
|         $this->line = $l;
 | |
|         $this->col = $c;
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Converts a token into its corresponding node.
 | |
|      */
 | |
|     abstract public function toNode();
 | |
| }
 | |
| 
 | |
| // vim: et sw=4 sts=4
 |