openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit 4ca5ca2cf1b7502630189397fa19112004ed7f56
parent 7e5c455a63286e186f3b51e5f2c6b471ef9a7f03
Author: dankert <devnull@localhost>
Date:   Thu, 14 Jan 2010 08:47:48 +0100

Optimieren für Setzen und Entfernen der $attr_*-Variablen.

Diffstat:
MserviceClasses/TemplateEngine.class.php | 26++++++++++++++++----------
1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/serviceClasses/TemplateEngine.class.php b/serviceClasses/TemplateEngine.class.php @@ -228,10 +228,14 @@ class TemplateEngine $values[] = "'".$attrName."'=>".$this->attributeValue($attrValue); } - fwrite( $outFileHandler,'<?php '); - foreach( $attr as $attrName=>$attrValue ) - fwrite( $outFileHandler,' $attr'.$hash.'_'.$attrName."=".$this->attributeValue($attrValue).'; '); - fwrite( $outFileHandler,' ?>'); + // Variablen $attr_* setzen + if ( count($attr) > 0 ) + { + fwrite( $outFileHandler,'<?php '); + foreach( $attr as $attrName=>$attrValue ) + fwrite( $outFileHandler,'$a'.$hash.'_'.$attrName."=".$this->attributeValue($attrValue).';'); + fwrite( $outFileHandler,' ?>'); + } $file = file( $inFileName ); $ignore = false; @@ -288,17 +292,19 @@ class TemplateEngine if ( !$linebreaks ) $line = rtrim($line); - // Die Variablen "$attr" müssen pro Ebene eindeutig sein, daher wird an den + // Die Variablen "$attr_*" muessen pro Ebene eindeutig sein, daher wird an den // Variablennamen die Tiefe angehangen. - $line = str_replace('$attr','$attr'.$hash,$line); + $line = str_replace('$attr_','$a'.$hash.'_',$line); fwrite( $outFileHandler,$line ); } - // Variablen "$attr" entfernen. - fwrite( $outFileHandler,'<?php '); + // Variablen $attr_* entfernen. + $unset_attr = array(); foreach( $attr as $attrName=>$attrValue ) - fwrite( $outFileHandler,'unset($attr'.$hash.'_'.$attrName.');'); - fwrite( $outFileHandler,' ?>'); + $unset_attr[] = '$a'.$hash.'_'.$attrName; + + if ( count($unset_attr) > 0 ) + fwrite( $outFileHandler,'<?php unset('.implode(',',$unset_attr).') ?>'); if ( is_file($elFileName) ) {