Changeset 15776
- Timestamp:
- 2007/09/20 14:22:18 (19 years ago)
- File:
-
- 1 edited
-
branches/feature-templates/data/class/SC_View.php (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/feature-templates/data/class/SC_View.php
r15690 r15776 12 12 class SC_View { 13 13 14 /** Smarty¥¤¥ó¥¹¥¿¥ó¥¹ */ 14 15 var $_smarty; 15 var $objSiteInfo; // ¥µ¥¤¥È¾ðÊó 16 17 // ¥³¥ó¥¹¥È¥é¥¯¥¿ 18 function SC_View($siteinfo = true) { 19 global $SC_VIEW_PHP_DIR; 16 /** SC_SiteInfo¤Î¥¤¥ó¥¹¥¿¥ó¥¹ */ 17 var $objSiteInfo; 18 /** ¥Ú¡¼¥¸½ÐÎÏ¥Ù¥ó¥Á¥Þ¡¼¥¯¤Î³«»Ï»þ´Ö */ 19 var $time_start; 20 21 /** 22 * ¥³¥ó¥¹¥È¥é¥¯¥¿ 23 * 24 * @param boolean $assignSiteInfo ¥µ¥¤¥È¾ðÊó¤òassign¤¹¤ë¤«¤É¤¦¤« 25 */ 26 function SC_View($assignSiteInfo = true) { 27 // ¥Ú¡¼¥¸½ÐÎϤΥ٥ó¥Á¥Þ¡¼¥¯¥¹¥¿¡¼¥È 28 $this->setStartTime(); 29 30 // Smarty½é´ü²½ 31 $this->initSmarty(); 32 33 // ¥µ¥¤¥È¾ðÊó¤òassign¤¹¤ë 34 if($assignSiteInfo) $this->assignSiteInfo(); 35 } 36 37 /** 38 * Smarty¤Î½é´ü²½. 39 * ½¤¾þ»ì¤ä¥Æ¥ó¥×¥ì¡¼¥È´Ø¿ô¤ÎÄêµÁ¤ò¹Ô¤¦. 40 * 41 * @param void 42 * @return void 43 */ 44 function initSmarty() { 45 $SC_VIEW_PHP_DIR = realpath(dirname(__FILE__)); 20 46 21 47 $this->_smarty = new Smarty; … … 37 63 $this->_smarty->register_function("sfRmDupSlash", "sfRmDupSlash"); 38 64 $this->_smarty->register_function("sfCutString", "sfCutString"); 39 $this->_smarty->plugins_dir =array("plugins", $SC_VIEW_PHP_DIR . "/../smarty_extends");65 $this->_smarty->plugins_dir = array("plugins", $SC_VIEW_PHP_DIR . "/../smarty_extends"); 40 66 $this->_smarty->register_function("sf_mb_convert_encoding","sf_mb_convert_encoding"); 41 67 $this->_smarty->register_function("sf_mktime","sf_mktime"); … … 46 72 $this->_smarty->register_function("sfIsHTTPS","sfIsHTTPS"); 47 73 $this->_smarty->default_modifiers = array('script_escape'); 48 49 if(ADMIN_MODE == '1') { 50 $this->time_start = time(); 51 } 52 53 // ¥µ¥¤¥È¾ðÊó¤ò¼èÆÀ¤¹¤ë 54 if($siteinfo) { 55 if(!defined('LOAD_SITEINFO')) { 56 $this->objSiteInfo = new SC_SiteInfo(); 57 $arrInfo['arrSiteInfo'] = $this->objSiteInfo->data; 58 59 // ÅÔÆ»Éܸ©Ì¾¤òÊÑ´¹ 60 global $arrPref; 61 $arrInfo['arrSiteInfo']['pref'] = $arrPref[$arrInfo['arrSiteInfo']['pref']]; 62 63 // ¥µ¥¤¥È¾ðÊó¤ò³ä¤êÅö¤Æ¤ë 64 foreach ($arrInfo as $key => $value){ 65 $this->_smarty->assign($key, $value); 66 } 67 68 define('LOAD_SITEINFO', 1); 69 } 70 } 71 } 72 73 // ¥Æ¥ó¥×¥ì¡¼¥È¤ËÃͤò³ä¤êÅö¤Æ¤ë 74 function assign($val1, $val2) { 75 $this->_smarty->assign($val1, $val2); 76 } 77 78 // ¥Æ¥ó¥×¥ì¡¼¥È¤Î½èÍý·ë²Ì¤ò¼èÆÀ 74 } 75 76 /** 77 * ¥Ú¡¼¥¸½ÐÎÏ¥Ù¥ó¥Á¥Þ¡¼¥¯¤Î³«»Ï»þ´Ö¤ò¥»¥Ã¥È¤¹¤ë. 78 * 79 * @param void 80 * @return void 81 */ 82 function setStartTime() { 83 // TODO PEAR::BenchMark»È¤¦¡© 84 $this->time_start = time(); 85 } 86 87 /** 88 * ¥Ç¥Õ¥©¥ë¥È¥Ñ¥é¥á¡¼¥¿¤òassign¤¹¤ë. 89 */ 90 function defaultAssign() { 91 $arrDefaultParams = array( 92 'URL_DIR' => URL_DIR, 93 //'TPL_PKG_DIR' => $this->getTemplatePath() 94 ); 95 $this->assignArray($arrDefaultParams); 96 } 97 98 /** 99 * ¥µ¥¤¥È¾ðÊó¤òassign¤¹¤ë. 100 * 101 * @param void 102 * @return void 103 */ 104 function assignSiteInfo() { 105 if (!defined('LOAD_SITEINFO')) { 106 $this->objSiteInfo = new SC_SiteInfo(); 107 $arrInfo['arrSiteInfo'] = $this->objSiteInfo->data; 108 109 // ÅÔÆ»Éܸ©Ì¾¤òÊÑ´¹ 110 global $arrPref; 111 $arrInfo['arrSiteInfo']['pref'] = $arrPref[$arrInfo['arrSiteInfo']['pref']]; 112 113 // ¥µ¥¤¥È¾ðÊó¤ò³ä¤êÅö¤Æ¤ë 114 $this->assignArray($arrInfo); 115 116 define('LOAD_SITEINFO', 1); 117 } 118 } 119 120 /** 121 * ¥Æ¥ó¥×¥ì¡¼¥È¤ËÃͤò³ä¤êÅö¤Æ¤ë 122 * 123 * @param string $key 124 * @param mixed $value 125 * @return void 126 */ 127 function assign($key, $value) { 128 $this->_smarty->assign($key, $value); 129 } 130 131 /** 132 * ¥Æ¥ó¥×¥ì¡¼¥È¤Î½èÍý·ë²Ì¤ò¼èÆÀ 133 * 134 * @param string $template tpl¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹ 135 * @return string ½ÐÎÏ·ë²Ì 136 */ 79 137 function fetch($template) { 80 138 return $this->_smarty->fetch($template); 81 139 } 82 140 83 // ¥Æ¥ó¥×¥ì¡¼¥È¤Î½èÍý·ë²Ì¤òɽ¼¨ 84 function display($template, $no_error = false) { 85 if(!$no_error) { 141 /** 142 * ¥Æ¥ó¥×¥ì¡¼¥È¤Î½èÍý·ë²Ì¤òɽ¼¨. 143 * 144 * @param string $template tpl¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹ 145 * @return void 146 */ 147 function display($template, $display = false) { 148 // ¥°¥í¡¼¥Ð¥ë¥¨¥é¡¼¤Îɽ¼¨ 149 $this->displayGlobalError($display); 150 151 // ²èÌÌɽ¼¨ 152 $this->_smarty->display($template); 153 154 // ¥Ù¥ó¥Á¥Þ¡¼¥¯·ë²Ì¤Îɽ¼¨ 155 $this->displayBenchMark(); 156 } 157 158 /** 159 * ¥°¥í¡¼¥Ð¥ë¥¨¥é¡¼¤òɽ¼¨¤¹¤ë. 160 * 161 * @param boolean $display 162 * @return void 163 */ 164 function displayGlobalError($display = false) { 165 if (!$display) { 86 166 global $GLOBAL_ERR; 87 167 if(!defined('OUTPUT_ERR')) { … … 90 170 } 91 171 } 92 93 $this->_smarty->display($template); 94 if(ADMIN_MODE == '1') { 172 } 173 174 /** 175 * ¥Ú¡¼¥¸½ÐÎÏ¥Ù¥ó¥Á¥Þ¡¼¥¯¤Î·ë²Ì¤òɽ¼¨¤¹¤ë. 176 * ADMIN_MODE¤¬true¤Î¤È¤¤Î¤ß͸ú. 177 * 178 * @param void 179 * @return void 180 */ 181 function displayBenchMark() { 182 if (ADMIN_MODE) { 95 183 $time_end = time(); 96 184 $time = $time_end - $this->time_start; … … 99 187 } 100 188 101 // ¥ª¥Ö¥¸¥§¥¯¥ÈÆâ¤ÎÊÑ¿ô¤ò¤¹¤Ù¤Æ³ä¤êÅö¤Æ¤ë¡£ 102 function assignobj($obj) { 103 $data = get_object_vars($obj); 104 105 foreach ($data as $key => $value){ 106 $this->_smarty->assign($key, $value); 107 } 108 } 109 110 // Ï¢ÁÛÇÛÎóÆâ¤ÎÊÑ¿ô¤ò¤¹¤Ù¤Æ³ä¤êÅö¤Æ¤ë¡£ 111 function assignarray($array) { 112 foreach ($array as $key => $val) { 113 $this->_smarty->assign($key, $val); 114 } 115 } 116 117 // ¥Ç¥Ð¥Ã¥° 189 /** 190 * ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥á¥ó¥ÐÊÑ¿ô¤òassign¤¹¤ë. 191 * 192 * @param object $obj LC_Page¤Î¥¤¥ó¥¹¥¿¥ó¥¹ 193 * @return void 194 */ 195 function assignObj($obj) { 196 $this->assignArray(get_object_vars($obj)); 197 } 198 199 /** 200 * Ï¢ÁÛÇÛÎó¤òassign¤¹¤ë. 201 * 202 * @param array $arrAssignVars assign¤¹¤ëÏ¢ÁÛÇÛÎó 203 * @return void 204 */ 205 function assignArray($arrAssignVars) { 206 foreach ($arrAssignVars as $key => $val) { 207 $this->assign($key, $val); 208 } 209 } 210 211 /** 212 * »ÈÍѤ·¤Æ¤¤¤ë¥Æ¥ó¥×¥ì¡¼¥È¥Ñ¥Ã¥±¡¼¥¸¤Î¥Ñ¥¹¤ò¼èÆÀ¤¹¤ë 213 */ 214 function getTemplatePath() { 215 $objQuery = new SC_Query(); 216 $arrRet = $objQuery->select('top_tpl', 'dtb_baseinfo'); 217 218 if (isset($arrRet[0]['top_tpl'])) { 219 $selectTemplate = $arrRet[0]['top_tpl']; 220 $TPL_PKG_PATH = USER_PATH . "packages/${selectTemplate}/"; 221 222 $TPL_PKG_DIR = URL_DIR . USER_DIR . "packages/${selectTemplate}/"; 223 $this->assign('TPL_PKG_DIR', $TPL_PKG_DIR); 224 225 return $TPL_PKG_PATH; 226 } 227 return null; 228 } 229 /** 230 * Smarty¤Î¥Ç¥Ð¥Ã¥°½ÐÎϤò͸ú¤Ë¤¹¤ë. 231 * 232 * @param void 233 * @return void 234 */ 118 235 function debug($var = true){ 119 236 $this->_smarty->debugging = $var; … … 127 244 $this->_smarty->compile_dir = COMPILE_ADMIN_DIR; 128 245 } 246 247 function display($template) { 248 $tpl_mainpage = $this->_smarty->get_template_vars('tpl_mainpage'); 249 $template_dir = $this->getTemplatePath(); 250 251 if ($template_dir) { 252 $template_dir .= 'templates/admin/'; 253 254 // tpl_mainpage¤Èmain_frame.tpl¤¬Î¾Êý¸ºß¤¹¤ë»þ¤Î¤ß¥Æ¥ó¥×¥ì¡¼¥È¥Ñ¥Ã¥±¡¼¥¸¤Ç½ÐÎÏ 255 if (file_exists($template_dir . $tpl_mainpage) 256 && file_exists($template_dir . $template)) { 257 258 $this->_smarty->template_dir = $template_dir; 259 } 260 } 261 262 $this->_smarty->display($template); 263 } 129 264 } 130 265 … … 146 281 } 147 282 } 283 284 function display($template) { 285 $tpl_mainpage = $this->_smarty->get_template_vars('tpl_mainpage'); 286 $template_dir = $this->getTemplatePath(); 287 288 if ($template_dir) { 289 $template_dir .= 'templates/'; 290 291 if ( 292 (file_exists($template_dir . $tpl_mainpage) || file_exists($tpl_mainpage)) 293 && file_exists($template_dir . $template)) { 294 295 $this->_smarty->template_dir = $template_dir; 296 } 297 } 298 299 $this->_smarty->display($template); 300 } 148 301 } 149 302 … … 154 307 $this->_smarty->compile_dir = $compile_dir; 155 308 } 309 310 function display($template) { 311 $this->_smarty->display($template); 312 } 156 313 } 157 314 … … 171 328 } 172 329 } 330 173 331 ?>
Note: See TracChangeset
for help on using the changeset viewer.
