private function parseTemplatingSettings(\DOMNode $templating) {

		if(is_null($this->templating)) {
			$this->templating = new \stdClass;
			$this->templating->filters = [];
		}

		$xpath = new \DOMXPath($templating->ownerDocument);

		foreach($xpath->query("filters/filter", $templating) as $filter) {

			$id = $filter->getAttribute('id');
			$class = $filter->getAttribute('class');

			if(!$id) {
				throw new ConfigException('Templating filter without id found.');
			}

			if(!$class)	{
				throw new ConfigException(sprintf("No class for templating filter '%s' configured.", $id));
			}

			if(isset($this->templating->filters[$id])) {
				throw new ConfigException(sprintf("Templating filter '%s' has already been defined.", $id));
			}

			// clean path delimiters, prepend leading backslash, and replace slashes with backslashes

			$class = '\\' . ltrim(str_replace('/', '\\', $class), '/\\');

			// store parsed information

			$this->templating->filters[$id] = [
				'class' => $class,
				'parameters' => $filter->getAttribute('parameters')
			];

		}

	}
private function parseTemplatingSettings(\DOMNode $templating) {

		if(is_null($this->templating)) {
			$this->templating = new \stdClass;
			$this->templating->filters = [];
		}

		$xpath = new \DOMXPath($templating->ownerDocument);

		foreach($xpath->query("filters/filter", $templating) as $filter) {

			$id = $filter->getAttribute('id');
			$class = $filter->getAttribute('class');

			if(!$id) {
				throw new ConfigException('Templating filter without id found.');
			}

			if(!$class)	{
				throw new ConfigException(sprintf("No class for templating filter '%s' configured.", $id));
			}

			if(isset($this->templating->filters[$id])) {
				throw new ConfigException(sprintf("Templating filter '%s' has already been defined.", $id));
			}

			// clean path delimiters, prepend leading backslash, and replace slashes with backslashes

			$class = '\\' . ltrim(str_replace('/', '\\', $class), '/\\');

			// store parsed information

			$this->templating->filters[$id] = [
				'class' => $class,
				'parameters' => $filter->getAttribute('parameters')
			];

		}

	}
private function parseTemplatingSettings ( \ DOMNode $ templating ) { if ( is_null ( $ this -> templating ) ) { $ this -> templating = new \ stdClass ; $ this -> templating -> filters = [ ] ; } $ xpath = new \ DOMXPath ( $ templating -> ownerDocument ) ; foreach ( $ xpath -> query ( "filters/filter" , $ templating ) as $ filter ) { $ id = $ filter -> getAttribute ( 'id' ) ; $ class = $ filter -> getAttribute ( 'class' ) ; if ( ! $ id ) { throw new ConfigException ( 'Templating filter without id found.' ) ; } if ( ! $ class ) { throw new ConfigException ( sprintf ( "No class for templating filter '%s' configured." , $ id ) ) ; } if ( isset ( $ this -> templating -> filters [ $ id ] ) ) { throw new ConfigException ( sprintf ( "Templating filter '%s' has already been defined." , $ id ) ) ; } // clean path delimiters, prepend leading backslash, and replace slashes with backslashes $ class = '\\' . ltrim ( str_replace ( '/' , '\\' , $ class ) , '/\\' ) ; // store parsed information $ this -> templating -> filters [ $ id ] = [ 'class' => $ class , 'parameters' => $ filter -> getAttribute ( 'parameters' ) ] ; } }
parse templating configuration
currently only filters for SimpleTemplate templates and their configuration are parsed

@param \DOMNode $templating
parse templating configuration currently only filters for SimpleTemplate templates and their configuration are parsed