Show
Ignore:
Timestamp:
04/13/08 07:01:19 (20 months ago)
Author:
fumiakiy
Message:

Fixed the issue in which MTElse and MTElseIf did not work correctly when "name" or "tag" argument was omitted both in static and in dynamic. BugId:69678

Also fixed the bug case filed as BugId:79027 in PHP tag handlers.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • branches/release-34/php/lib/block.mtif.php

    r1187 r1876  
    7878        } 
    7979 
    80         if (isset($args['name'])) 
    81             $var_key = $args['name']; 
    82         else if(isset($args['var'])) 
    83             $var_key = $args['var']; 
    84         else if(isset($args['tag'])) 
    85             $var_key = $args['tag']; 
    8680        require_once("function.mtsetvar.php"); 
    87         smarty_function_mtsetvar(array('name' => '__name__', 'value' => $var_key), $ctx); 
    88         smarty_function_mtsetvar(array('name' => '__value__', 'value' => $val), $ctx); 
     81        if(isset($args['tag'])) { 
     82            smarty_function_mtsetvar(array('name' => '__cond_tag__', 'value' => $args['tag']), $ctx); 
     83        } 
     84        else { 
     85            if (isset($args['name'])) 
     86                $var_key = $args['name']; 
     87            else if(isset($args['var'])) 
     88                $var_key = $args['var']; 
     89            smarty_function_mtsetvar(array('name' => '__cond_name__', 'value' => $var_key), $ctx); 
     90        } 
     91        smarty_function_mtsetvar(array('name' => '__cond_value__', 'value' => $val), $ctx); 
    8992 
    9093        if ( array_key_exists('op', $args) ) { 
     
    140143    } else { 
    141144        $vars =& $ctx->__stash['vars']; 
    142         unset($vars['__name__']); 
    143         unset($vars['__value__']); 
    144145        return $ctx->_hdlr_if($args, $content, $ctx, $repeat); 
    145146    }