openrat-cms

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

commit d71f9b0404ce9ac12eb3b6d88e2a02ea80eda829
parent 7894fccc450e7a597b4558304c44b84e9fdb36f4
Author: dankert <devnull@localhost>
Date:   Sat, 20 Jan 2007 16:17:47 +0100

Erweiterung f?r neues Value-Binding

Diffstat:
themes/default/include/html/if.inc.php | 42++++++++++++++++++++++++++++--------------
1 file changed, 28 insertions(+), 14 deletions(-)

diff --git a/themes/default/include/html/if.inc.php b/themes/default/include/html/if.inc.php @@ -1,26 +1,37 @@ <?php // Wahr-Vergleich - if ( !empty($attr_true) ) - $exec = $$attr_true == true; +// Html::debug($attr); + + if ( isset($attr_true) ) + { + if (gettype($attr_true) === '' && gettype($attr_true) === '1') + $exec = $$attr_true == true; + else + $exec = $attr_true == true; + } // Falsch-Vergleich - elseif ( !empty($attr_false) ) - $exec = $$attr_false != true; - + elseif ( isset($attr_false) ) + { + if (gettype($attr_false) === '' && gettype($attr_false) === '1') + $exec = $$attr_false == false; + else + $exec = $attr_false == false; + } // Inhalt-Vergleich mit Wertliste - elseif( !empty($attr_contains) ) + elseif( isset($attr_contains) ) $exec = in_array($$attr_var,explode(',',$attr_contains)); // Inhalt-Vergleich - elseif( !empty($attr_var) ) + elseif( isset($attr_var) ) $exec = $$attr_var == $attr_value; // Vergleich auf leer - elseif ( !empty($attr_empty) ) + elseif ( isset($attr_empty) ) { if ( !isset($$attr_empty) ) - $exec = true; + $exec = empty($attr_empty); elseif ( is_array($$attr_empty) ) $exec = (count($$attr_empty)==0); elseif ( is_bool($$attr_empty) ) @@ -30,10 +41,10 @@ } // Vergleich auf Vorhandensein - elseif ( !empty($attr_present) ) + elseif ( isset($attr_present) ) { if ( !isset($$attr_present) ) - $exec = false; + $exec = !empty($attr_present); elseif ( is_array($$attr_present) ) $exec = (count($$attr_present)>0); elseif ( is_bool($$attr_present) ) @@ -45,10 +56,10 @@ } // Vergleich auf nicht-leer - elseif ( !empty($attr_notempty) ) + elseif ( isset($attr_notempty) ) { if ( !isset($$attr_notempty) ) - $exec = false; + $exec = !empty($attr_notempty); elseif ( is_array($$attr_notempty) ) $exec = (count($$attr_notempty)>0); elseif ( is_bool($$attr_notempty) ) @@ -60,7 +71,10 @@ } else { - die("error in IF"); + Html::debug( $attr ); + echo("error in IF line ".__LINE__); + echo("assume: FALSE"); + $exec = false; } // Ergebnis umdrehen