Optional parameter bug fixed. Deprecated curly braces syntax fixed. Thanks for reporting both, Matthias :)
This commit is contained in:
		
							parent
							
								
									e65bb9c549
								
							
						
					
					
						commit
						04900d4154
					
				| @ -383,7 +383,10 @@ function theme_def_feed_comments_link($str, $feed, $id) { | ||||
| 	return BLOG_BASEURL . "?x=entry:$id;comments:1;feed:{$feed}"; | ||||
| } | ||||
| 
 | ||||
| function theme_comments_feed_link($feed = 'rss2', $id) { | ||||
| function theme_comments_feed_link($feed, $id) { | ||||
| 	if (empty($feed)) { | ||||
| 		$feed = 'rss2'; | ||||
| 	} | ||||
| 	return apply_filters('post_comments_feed_link', '', $feed, $id); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -37,21 +37,25 @@ | ||||
| 
 | ||||
| /** | ||||
|  * String parser mode: Search for the next character | ||||
|  * | ||||
|  * @see StringParser::_parserMode | ||||
|  */ | ||||
| define('STRINGPARSER_MODE_SEARCH', 1); | ||||
| /** | ||||
|  * String parser mode: Look at each character of the string | ||||
|  * | ||||
|  * @see StringParser::_parserMode | ||||
|  */ | ||||
| define('STRINGPARSER_MODE_LOOP', 2); | ||||
| /** | ||||
|  * Filter type: Prefilter | ||||
|  * | ||||
|  * @see StringParser::addFilter, StringParser::_prefilters | ||||
|  */ | ||||
| define('STRINGPARSER_FILTER_PRE', 1); | ||||
| /** | ||||
|  * Filter type: Postfilter | ||||
|  * | ||||
|  * @see StringParser::addFilter, StringParser::_postfilters | ||||
|  */ | ||||
| define('STRINGPARSER_FILTER_POST', 2); | ||||
| @ -64,6 +68,7 @@ define ('STRINGPARSER_FILTER_POST', 2); | ||||
|  * @package stringparser | ||||
|  */ | ||||
| class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * String parser mode | ||||
| 	 * | ||||
| @ -87,6 +92,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Raw text | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @var string | ||||
| 	 */ | ||||
| @ -94,6 +100,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Parse stack | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @var array | ||||
| 	 */ | ||||
| @ -101,6 +108,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Current position in raw text | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @var integer | ||||
| 	 */ | ||||
| @ -108,6 +116,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Root node | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @var mixed | ||||
| 	 */ | ||||
| @ -115,6 +124,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Length of the text | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @var integer | ||||
| 	 */ | ||||
| @ -143,6 +153,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Characters or strings to look for | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @var array | ||||
| 	 */ | ||||
| @ -168,6 +179,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Current parser status | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @var int | ||||
| 	 */ | ||||
| @ -175,6 +187,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Prefilters | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @var array | ||||
| 	 */ | ||||
| @ -182,6 +195,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Postfilters | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @var array | ||||
| 	 */ | ||||
| @ -189,6 +203,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Recently reparsed? | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @var bool | ||||
| 	 */ | ||||
| @ -209,8 +224,10 @@ class StringParser { | ||||
| 	 * Add a filter | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param int $type The type of the filter | ||||
| 	 * @param mixed $callback The callback to call | ||||
| 	 * @param int $type | ||||
| 	 *        	The type of the filter | ||||
| 	 * @param mixed $callback | ||||
| 	 *        	The callback to call | ||||
| 	 * @return bool | ||||
| 	 * @see STRINGPARSER_FILTER_PRE, STRINGPARSER_FILTER_POST | ||||
| 	 */ | ||||
| @ -238,7 +255,8 @@ class StringParser { | ||||
| 	 * Remove all filters | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param int $type The type of the filter or 0 for all | ||||
| 	 * @param int $type | ||||
| 	 *        	The type of the filter or 0 for all | ||||
| 	 * @return bool | ||||
| 	 * @see STRINGPARSER_FILTER_PRE, STRINGPARSER_FILTER_POST | ||||
| 	 */ | ||||
| @ -264,7 +282,8 @@ class StringParser { | ||||
| 	 * This function parses the text | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param string $text The text to parse | ||||
| 	 * @param string $text | ||||
| 	 *        	The text to parse | ||||
| 	 * @return mixed Either the root object of the tree if no output method | ||||
| 	 *         is defined, the tree reoutput to e.g. a string or false | ||||
| 	 *         if an internal error occured, such as a parse error if | ||||
| @ -410,6 +429,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Abstract method: Manipulate the tree | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @return bool | ||||
| 	 */ | ||||
| @ -419,6 +439,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Abstract method: Output tree | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @return bool | ||||
| 	 */ | ||||
| @ -462,7 +483,7 @@ class StringParser { | ||||
| 		// if yes, how should this be achieved? Another member of
 | ||||
| 		// StringParser_Node?
 | ||||
| 		$this->_setStatus(0); | ||||
| 		$res = $this->_appendText ($this->_text{$topelem->occurredAt}); | ||||
| 		$res = $this->_appendText($this->_text [$topelem->occurredAt]); | ||||
| 		if (!$res) { | ||||
| 			return false; | ||||
| 		} | ||||
| @ -475,6 +496,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Abstract method: Close remaining blocks | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 */ | ||||
| 	function _closeRemainingBlocks() { | ||||
| @ -497,6 +519,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Abstract method: Initialize the parser | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 */ | ||||
| 	function _parserInit() { | ||||
| @ -505,6 +528,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Abstract method: Set a specific status | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 */ | ||||
| 	function _setStatus($status) { | ||||
| @ -519,9 +543,12 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Abstract method: Handle status | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @param int $status The current status | ||||
| 	 * @param string $needle The needle that was found | ||||
| 	 * @param int $status | ||||
| 	 *        	The current status | ||||
| 	 * @param string $needle | ||||
| 	 *        	The needle that was found | ||||
| 	 * @return bool | ||||
| 	 */ | ||||
| 	function _handleStatus($status, $needle) { | ||||
| @ -532,6 +559,7 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Search mode loop | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @return bool | ||||
| 	 */ | ||||
| @ -571,7 +599,7 @@ class StringParser { | ||||
| 				return false; | ||||
| 			} | ||||
| 			if (!$res) { | ||||
| 				$res = $this->_appendText ($this->_text{$this->_cpos}); | ||||
| 				$res = $this->_appendText($this->_text [$this->_cpos]); | ||||
| 				if (!$res) { | ||||
| 					return false; | ||||
| 				} | ||||
| @ -606,63 +634,64 @@ class StringParser { | ||||
| 	function _loop() { | ||||
| 		// HACK: This method ist not yet implemented correctly, the code below
 | ||||
| 		// DOES NOT WORK! Do not use!
 | ||||
| 		 | ||||
| 		return false; | ||||
| 		/* | ||||
| 		while ($this->_cpos < $this->_length) { | ||||
| 			$needle = $this->_strDetect ($this->_charactersSearch, $this->_cpos); | ||||
| 			 | ||||
| 			if ($needle === false) { | ||||
| 				// not found => see if character is allowed
 | ||||
| 				if (!in_array ($this->_text{$this->_cpos}, $this->_charactersAllowed)) { | ||||
| 					if ($strict) { | ||||
| 						return false; | ||||
| 					} | ||||
| 					// ignore
 | ||||
| 					continue; | ||||
| 				} | ||||
| 				// lot's of FIXMES
 | ||||
| 				$res = $this->_appendText ($this->_text{$this->_cpos}); | ||||
| 				if (!$res) { | ||||
| 					return false; | ||||
| 				} | ||||
| 			} | ||||
| 			 | ||||
| 			// get subtext
 | ||||
| 			$subtext = substr ($this->_text, $offset, $offset - $this->_cpos); | ||||
| 			$res = $this->_appendText ($subtext); | ||||
| 			if (!$res) { | ||||
| 				return false; | ||||
| 			} | ||||
| 			$this->_cpos = $subtext; | ||||
| 			$res = $this->_handleStatus ($this->_status, $needle); | ||||
| 			if (!$res && $strict) { | ||||
| 				return false; | ||||
| 			} | ||||
| 		} | ||||
| 		// original status 0 => no problem
 | ||||
| 		if (!$this->_status) { | ||||
| 			return true; | ||||
| 		} | ||||
| 		// not in original status? strict mode?
 | ||||
| 		if ($this->strict) { | ||||
| 			return false; | ||||
| 		} | ||||
| 		// break up parsing operation of current node
 | ||||
| 		$res = $this->_reparseAfterCurrentBlock (); | ||||
| 		if (!$res) { | ||||
| 			return false; | ||||
| 		} | ||||
| 		// this will not cause an infinite loop because
 | ||||
| 		// _reparseAfterCurrentBlock will increase _cpos by one!
 | ||||
| 		return $this->_loop (); | ||||
| 		 * while ($this->_cpos < $this->_length) { | ||||
| 		 * $needle = $this->_strDetect ($this->_charactersSearch, $this->_cpos); | ||||
| 		 * | ||||
| 		 * if ($needle === false) { | ||||
| 		 * // not found => see if character is allowed
 | ||||
| 		 * if (!in_array ($this->_text{$this->_cpos}, $this->_charactersAllowed)) { | ||||
| 		 * if ($strict) { | ||||
| 		 * return false; | ||||
| 		 * } | ||||
| 		 * // ignore
 | ||||
| 		 * continue; | ||||
| 		 * } | ||||
| 		 * // lot's of FIXMES
 | ||||
| 		 * $res = $this->_appendText ($this->_text{$this->_cpos}); | ||||
| 		 * if (!$res) { | ||||
| 		 * return false; | ||||
| 		 * } | ||||
| 		 * } | ||||
| 		 * | ||||
| 		 * // get subtext
 | ||||
| 		 * $subtext = substr ($this->_text, $offset, $offset - $this->_cpos); | ||||
| 		 * $res = $this->_appendText ($subtext); | ||||
| 		 * if (!$res) { | ||||
| 		 * return false; | ||||
| 		 * } | ||||
| 		 * $this->_cpos = $subtext; | ||||
| 		 * $res = $this->_handleStatus ($this->_status, $needle); | ||||
| 		 * if (!$res && $strict) { | ||||
| 		 * return false; | ||||
| 		 * } | ||||
| 		 * } | ||||
| 		 * // original status 0 => no problem
 | ||||
| 		 * if (!$this->_status) { | ||||
| 		 * return true; | ||||
| 		 * } | ||||
| 		 * // not in original status? strict mode?
 | ||||
| 		 * if ($this->strict) { | ||||
| 		 * return false; | ||||
| 		 * } | ||||
| 		 * // break up parsing operation of current node
 | ||||
| 		 * $res = $this->_reparseAfterCurrentBlock (); | ||||
| 		 * if (!$res) { | ||||
| 		 * return false; | ||||
| 		 * } | ||||
| 		 * // this will not cause an infinite loop because
 | ||||
| 		 * // _reparseAfterCurrentBlock will increase _cpos by one!
 | ||||
| 		 * return $this->_loop (); | ||||
| 		 */ | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Abstract method Append text depending on current status | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @param string $text The text to append | ||||
| 	 * @param string $text | ||||
| 	 *        	The text to append | ||||
| 	 * @return bool On success, the function returns true, else false | ||||
| 	 */ | ||||
| 	function _appendText($text) { | ||||
| @ -675,8 +704,10 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Append text to last text child of current top parser stack node | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @param string $text The text to append | ||||
| 	 * @param string $text | ||||
| 	 *        	The text to append | ||||
| 	 * @return bool On success, the function returns true, else false | ||||
| 	 */ | ||||
| 	function _appendToLastTextChild($text) { | ||||
| @ -689,7 +720,8 @@ class StringParser { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Searches {@link StringParser::_text _text} for every needle that is | ||||
| 	 * specified by using the {@link PHP_MANUAL#strpos strpos} function. It
 | ||||
| 	 * specified by using the {@link PHP_MANUAL#strpos strpos} function.
 | ||||
| 	 * It | ||||
| 	 * returns an associative array with the key <code>'needle'</code> | ||||
| 	 * pointing at the string that was found first and the key | ||||
| 	 * <code>'offset'</code> pointing at the offset at which the string was | ||||
| @ -717,15 +749,22 @@ class StringParser { | ||||
| 			} | ||||
| 		} | ||||
| 
 | ||||
| 		return array ($cur_needle, $cur_offset, 'needle' => $cur_needle, 'offset' => $cur_offset); | ||||
| 		return array( | ||||
| 			$cur_needle, | ||||
| 			$cur_offset, | ||||
| 			'needle' => $cur_needle, | ||||
| 			'offset' => $cur_offset | ||||
| 		); | ||||
| 	} | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Detects a string at the current position | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @param array $needles The strings that are to be detected | ||||
| 	 * @param int $offset The current offset | ||||
| 	 * @param array $needles | ||||
| 	 *        	The strings that are to be detected | ||||
| 	 * @param int $offset | ||||
| 	 *        	The current offset | ||||
| 	 * @return mixed The string that was detected or the needle | ||||
| 	 */ | ||||
| 	function _strDetect($needles, $offset) { | ||||
| @ -738,12 +777,12 @@ class StringParser { | ||||
| 		return false; | ||||
| 	} | ||||
| 
 | ||||
| 	 | ||||
| 	/** | ||||
| 	 * Adds a node to the current parse stack | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @param object $node The node that is to be added | ||||
| 	 * @param object $node | ||||
| 	 *        	The node that is to be added | ||||
| 	 * @return bool True on success, else false. | ||||
| 	 * @see StringParser_Node, StringParser::_stack | ||||
| 	 */ | ||||
| @ -783,7 +822,10 @@ class StringParser { | ||||
| 		} | ||||
| 		$method = array_shift($args); | ||||
| 		$stack_count = count($this->_stack); | ||||
| 		$method = array (&$this->_stack[$stack_count-1], $method); | ||||
| 		$method = array( | ||||
| 			&$this->_stack [$stack_count - 1], | ||||
| 			$method | ||||
| 		); | ||||
| 		if (!is_callable($method)) { | ||||
| 			return; // oops?
 | ||||
| 		} | ||||
| @ -800,29 +842,35 @@ class StringParser { | ||||
| 		$stack_count = count($this->_stack); | ||||
| 		return $this->_stack [$stack_count - 1]->$var; | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * Node type: Unknown node | ||||
|  * | ||||
|  * @see StringParser_Node::_type | ||||
|  */ | ||||
| define('STRINGPARSER_NODE_UNKNOWN', 0); | ||||
| 
 | ||||
| /** | ||||
|  * Node type: Root node | ||||
|  * | ||||
|  * @see StringParser_Node::_type | ||||
|  */ | ||||
| define('STRINGPARSER_NODE_ROOT', 1); | ||||
| 
 | ||||
| /** | ||||
|  * Node type: Text node | ||||
|  * | ||||
|  * @see StringParser_Node::_type | ||||
|  */ | ||||
| define('STRINGPARSER_NODE_TEXT', 2); | ||||
| 
 | ||||
| /** | ||||
|  * Global value that is a counter of string parser node ids. Compare it to a | ||||
|  * Global value that is a counter of string parser node ids. | ||||
|  * Compare it to a | ||||
|  * sequence in databases. | ||||
|  * | ||||
|  * @var int | ||||
|  */ | ||||
| $GLOBALS ['__STRINGPARSER_NODE_ID'] = 0; | ||||
| @ -839,6 +887,7 @@ $GLOBALS['__STRINGPARSER_NODE_ID'] = 0; | ||||
|  * @package stringparser | ||||
|  */ | ||||
| class StringParser_Node { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * The type of this node. | ||||
| 	 * | ||||
| @ -909,7 +958,8 @@ class StringParser_Node { | ||||
| 	 * assigns it. | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param int $occurredAt The position in the text where this node | ||||
| 	 * @param int $occurredAt | ||||
| 	 *        	The position in the text where this node | ||||
| 	 *        	occurred at. If not determinable, it is -1. | ||||
| 	 * @global __STRINGPARSER_NODE_ID | ||||
| 	 */ | ||||
| @ -934,7 +984,8 @@ class StringParser_Node { | ||||
| 	 * Prepend a node | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param object $node The node to be prepended. | ||||
| 	 * @param object $node | ||||
| 	 *        	The node to be prepended. | ||||
| 	 * @return bool On success, the function returns true, else false. | ||||
| 	 */ | ||||
| 	function prependChild(&$node) { | ||||
| @ -975,8 +1026,10 @@ class StringParser_Node { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * Append text to last text child | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param string $text The text to append | ||||
| 	 * @param string $text | ||||
| 	 *        	The text to append | ||||
| 	 * @return bool On success, the function returns true, else false | ||||
| 	 */ | ||||
| 	function appendToLastTextChild($text) { | ||||
| @ -998,7 +1051,8 @@ class StringParser_Node { | ||||
| 	 * property of the node that is to be appended. | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param object $node The node that is to be appended. | ||||
| 	 * @param object $node | ||||
| 	 *        	The node that is to be appended. | ||||
| 	 * @return bool On success, the function returns true, else false. | ||||
| 	 */ | ||||
| 	function appendChild(&$node) { | ||||
| @ -1032,8 +1086,10 @@ class StringParser_Node { | ||||
| 	 * Insert a node before another node | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param object $node The node to be inserted. | ||||
| 	 * @param object $reference The reference node where the new node is | ||||
| 	 * @param object $node | ||||
| 	 *        	The node to be inserted. | ||||
| 	 * @param object $reference | ||||
| 	 *        	The reference node where the new node is | ||||
| 	 *        	to be inserted before. | ||||
| 	 * @return bool On success, the function returns true, else false. | ||||
| 	 */ | ||||
| @ -1084,8 +1140,10 @@ class StringParser_Node { | ||||
| 	 * Insert a node after another node | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param object $node The node to be inserted. | ||||
| 	 * @param object $reference The reference node where the new node is | ||||
| 	 * @param object $node | ||||
| 	 *        	The node to be inserted. | ||||
| 	 * @param object $reference | ||||
| 	 *        	The reference node where the new node is | ||||
| 	 *        	to be inserted after. | ||||
| 	 * @return bool On success, the function returns true, else false. | ||||
| 	 */ | ||||
| @ -1141,10 +1199,12 @@ class StringParser_Node { | ||||
| 	 * return false. | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param mixed $child The child to destroy; either an integer | ||||
| 	 * @param mixed $child | ||||
| 	 *        	The child to destroy; either an integer | ||||
| 	 *        	specifying the index of the child or a reference | ||||
| 	 *        	to the child itself. | ||||
| 	 * @param bool $destroy Destroy the child afterwards. | ||||
| 	 * @param bool $destroy | ||||
| 	 *        	Destroy the child afterwards. | ||||
| 	 * @return bool On success, the function returns true, else false. | ||||
| 	 */ | ||||
| 	function removeChild(&$child, $destroy = false) { | ||||
| @ -1178,8 +1238,7 @@ class StringParser_Node { | ||||
| 		} | ||||
| 
 | ||||
| 		// inkonsistency
 | ||||
| 		if ($this->_children[$child]->_parent === null || | ||||
| 		    $this->_children[$child]->_parent->_id != $this->_id) { | ||||
| 		if ($this->_children [$child]->_parent === null || $this->_children [$child]->_parent->_id != $this->_id) { | ||||
| 			return false; | ||||
| 		} | ||||
| 
 | ||||
| @ -1187,7 +1246,8 @@ class StringParser_Node { | ||||
| 		// as $object->_parent is a reference to $this!
 | ||||
| 		// because of this, we have to unset the variable to remove
 | ||||
| 		// the reference and then redeclare the variable
 | ||||
| 		unset ($object->_parent); $object->_parent = null; | ||||
| 		unset($object->_parent); | ||||
| 		$object->_parent = null; | ||||
| 
 | ||||
| 		// we have to unset it because else it will be overridden in
 | ||||
| 		// in the loop
 | ||||
| @ -1248,7 +1308,8 @@ class StringParser_Node { | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @static | ||||
| 	 * @param object $node The node to destroy | ||||
| 	 * @param object $node | ||||
| 	 *        	The node to destroy | ||||
| 	 * @return bool True on success, else false. | ||||
| 	 */ | ||||
| 	static function destroyNode(&$node) { | ||||
| @ -1304,7 +1365,8 @@ class StringParser_Node { | ||||
| 	 * node. | ||||
| 	 * | ||||
| 	 * @access protected | ||||
| 	 * @param mixed $child The node to look for. | ||||
| 	 * @param mixed $child | ||||
| 	 *        	The node to look for. | ||||
| 	 * @return mixed The index of the child node on success, else false. | ||||
| 	 */ | ||||
| 	function _findChild(&$child) { | ||||
| @ -1326,7 +1388,8 @@ class StringParser_Node { | ||||
| 	 * Checks equality of this node and another node | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param mixed $node The node to be compared with | ||||
| 	 * @param mixed $node | ||||
| 	 *        	The node to be compared with | ||||
| 	 * @return bool True if the other node equals to this node, else false. | ||||
| 	 */ | ||||
| 	function equals(&$node) { | ||||
| @ -1337,8 +1400,10 @@ class StringParser_Node { | ||||
| 	 * Determines whether a criterium matches this node | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param string $criterium The criterium that is to be checked | ||||
| 	 * @param mixed $value The value that is to be compared | ||||
| 	 * @param string $criterium | ||||
| 	 *        	The criterium that is to be checked | ||||
| 	 * @param mixed $value | ||||
| 	 *        	The value that is to be compared | ||||
| 	 * @return bool True if this node matches that criterium | ||||
| 	 */ | ||||
| 	function matchesCriterium($criterium, $value) { | ||||
| @ -1351,8 +1416,10 @@ class StringParser_Node { | ||||
| 	 * This may be used to implement getElementsByTagName etc. | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param string $criterium The criterium that is to be checked | ||||
| 	 * @param mixed $value The value that is to be compared | ||||
| 	 * @param string $criterium | ||||
| 	 *        	The criterium that is to be checked | ||||
| 	 * @param mixed $value | ||||
| 	 *        	The value that is to be compared | ||||
| 	 * @return array All subnodes that match this criterium | ||||
| 	 */ | ||||
| 	function &getNodesByCriterium($criterium, $value) { | ||||
| @ -1381,8 +1448,10 @@ class StringParser_Node { | ||||
| 	 * Similar to getNodesByCriterium | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param string $criterium The criterium that is to be checked | ||||
| 	 * @param mixed $value The value that is to be compared | ||||
| 	 * @param string $criterium | ||||
| 	 *        	The criterium that is to be checked | ||||
| 	 * @param mixed $value | ||||
| 	 *        	The value that is to be compared | ||||
| 	 * @return int The number of subnodes that match this criterium | ||||
| 	 */ | ||||
| 	function getNodeCountByCriterium($criterium, $value) { | ||||
| @ -1403,9 +1472,12 @@ class StringParser_Node { | ||||
| 	 * This dumps a tree of nodes | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param string $prefix The prefix that is to be used for indentation | ||||
| 	 * @param string $linesep The line separator | ||||
| 	 * @param int $level The initial level of indentation | ||||
| 	 * @param string $prefix | ||||
| 	 *        	The prefix that is to be used for indentation | ||||
| 	 * @param string $linesep | ||||
| 	 *        	The line separator | ||||
| 	 * @param int $level | ||||
| 	 *        	The initial level of indentation | ||||
| 	 * @return string | ||||
| 	 */ | ||||
| 	function dump($prefix = " ", $linesep = "\n", $level = 0) { | ||||
| @ -1428,6 +1500,7 @@ class StringParser_Node { | ||||
| 		} | ||||
| 		return (string) $this->_type; | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| /** | ||||
| @ -1436,6 +1509,7 @@ class StringParser_Node { | ||||
|  * @package stringparser | ||||
|  */ | ||||
| class StringParser_Node_Root extends StringParser_Node { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * The type of this node. | ||||
| 	 * | ||||
| @ -1446,6 +1520,7 @@ class StringParser_Node_Root extends StringParser_Node { | ||||
| 	 * @see STRINGPARSER_NODE_ROOT | ||||
| 	 */ | ||||
| 	var $_type = STRINGPARSER_NODE_ROOT; | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| /** | ||||
| @ -1454,6 +1529,7 @@ class StringParser_Node_Root extends StringParser_Node { | ||||
|  * @package stringparser | ||||
|  */ | ||||
| class StringParser_Node_Text extends StringParser_Node { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * The type of this node. | ||||
| 	 * | ||||
| @ -1475,6 +1551,7 @@ class StringParser_Node_Text extends StringParser_Node { | ||||
| 
 | ||||
| 	/** | ||||
| 	 * The content of this node | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @var string | ||||
| 	 */ | ||||
| @ -1484,8 +1561,10 @@ class StringParser_Node_Text extends StringParser_Node { | ||||
| 	 * Constructor | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param string $content The initial content of this element | ||||
| 	 * @param int $occurredAt The position in the text where this node | ||||
| 	 * @param string $content | ||||
| 	 *        	The initial content of this element | ||||
| 	 * @param int $occurredAt | ||||
| 	 *        	The position in the text where this node | ||||
| 	 *        	occurred at. If not determinable, it is -1. | ||||
| 	 * @see StringParser_Node_Text::content | ||||
| 	 */ | ||||
| @ -1498,7 +1577,8 @@ class StringParser_Node_Text extends StringParser_Node { | ||||
| 	 * Append text to content | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param string $text The text to append | ||||
| 	 * @param string $text | ||||
| 	 *        	The text to append | ||||
| 	 * @see StringParser_Node_Text::content | ||||
| 	 */ | ||||
| 	function appendText($text) { | ||||
| @ -1509,8 +1589,10 @@ class StringParser_Node_Text extends StringParser_Node { | ||||
| 	 * Set a flag | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param string $name The name of the flag | ||||
| 	 * @param mixed $value The value of the flag | ||||
| 	 * @param string $name | ||||
| 	 *        	The name of the flag | ||||
| 	 * @param mixed $value | ||||
| 	 *        	The value of the flag | ||||
| 	 */ | ||||
| 	function setFlag($name, $value) { | ||||
| 		$this->_flags [$name] = $value; | ||||
| @ -1521,9 +1603,12 @@ class StringParser_Node_Text extends StringParser_Node { | ||||
| 	 * Get Flag | ||||
| 	 * | ||||
| 	 * @access public | ||||
| 	 * @param string $flag The requested flag | ||||
| 	 * @param string $type The requested type of the return value | ||||
| 	 * @param mixed $default The default return value | ||||
| 	 * @param string $flag | ||||
| 	 *        	The requested flag | ||||
| 	 * @param string $type | ||||
| 	 *        	The requested type of the return value | ||||
| 	 * @param mixed $default | ||||
| 	 *        	The default return value | ||||
| 	 */ | ||||
| 	function getFlag($flag, $type = 'mixed', $default = null) { | ||||
| 		if (!isset($this->_flags [$flag])) { | ||||
| @ -1542,6 +1627,7 @@ class StringParser_Node_Text extends StringParser_Node { | ||||
| 	function _dumpToString() { | ||||
| 		return "text \"" . substr(preg_replace('/\s+/', ' ', $this->content), 0, 40) . "\" [f:" . preg_replace('/\s+/', ' ', join(':', array_keys($this->_flags))) . "]"; | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| ?>
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 azett
						azett