コード例 #1
0
 function setSmartyVar($smartyVar, $smartyValue)
 {
     $smartyVar = preg_replace('/\\.?$/m', '', trim(strtolower($smartyVar)));
     if (!in_array($smartyVar, array_keys($this->t3_smartyVars))) {
         return false;
     }
     // Exit if no corresponding Smarty class variable exists
     if (is_array($this->{$smartyVar}) || is_array($smartyValue)) {
         $smartyValue = is_array($smartyValue) ? tx_smarty_div::removeDotsFromTS($smartyValue) : t3lib_div::trimExplode(',', $smartyValue, 1);
         $smartyValue = array_map(array('tx_smarty_div', 'booleanize'), $smartyValue);
         if ($this->t3_smartyVars[$smartyVar]) {
             $smartyValue = array_map(array('tx_smarty_div', 'getFileAbsName'), $smartyValue);
         }
         $this->{$smartyVar} = array_merge_recursive($this->{$smartyVar}, $smartyValue);
     } else {
         if ($this->t3_smartyVars[$smartyVar]) {
             $smartyValue = tx_smarty_div::getFileAbsName($smartyValue);
         }
         $this->{$smartyVar} = tx_smarty_div::booleanize($smartyValue);
     }
     return true;
 }