00001 <?php 00003 // FleaPHP Framework 00004 // 00005 // Copyright (c) 2005 - 2008 QeeYuan China Inc. (http://www.qeeyuan.com) 00006 // 00007 // 许可协议,请查看源代码中附带的 LICENSE.txt 文件, 00008 // 或者访问 http://www.fleaphp.org/ 获得详细信息。 00010 00020 // {{{ includes 00021 00022 do { 00023 if (PHP5) { 00024 if (class_exists('Smarty', false)) { break; } 00025 } else { 00026 if (class_exists('Smarty')) { break; } 00027 } 00028 00029 $viewConfig = FLEA::getAppInf('viewConfig'); 00030 if (!isset($viewConfig['smartyDir']) && !defined('SMARTY_DIR')) { 00031 FLEA::loadClass('FLEA_View_Exception_NotConfigurationSmarty'); 00032 return __THROW(new FLEA_View_Exception_NotConfigurationSmarty()); 00033 } 00034 00035 $filename = $viewConfig['smartyDir'] . '/Smarty.class.php'; 00036 if (!is_readable($filename)) { 00037 FLEA::loadClass('FLEA_View_Exception_InitSmartyFailed'); 00038 return __THROW(new FLEA_View_Exception_InitSmartyFailed($filename)); 00039 } 00040 00041 require($filename); 00042 } while (false); 00043 00044 // }}} 00045 00053 class FLEA_View_Smarty extends Smarty 00054 { 00060 function FLEA_View_Smarty() { 00061 parent::Smarty(); 00062 00063 $viewConfig = FLEA::getAppInf('viewConfig'); 00064 if (is_array($viewConfig)) { 00065 foreach ($viewConfig as $key => $value) { 00066 if (isset($this->{$key})) { 00067 $this->{$key} = $value; 00068 } 00069 } 00070 } 00071 00072 FLEA::loadClass('FLEA_View_SmartyHelper'); 00073 new FLEA_View_SmartyHelper($this); 00074 } 00075 }
1.5.3