[ Index ] |
|
Code source de XOOPS 2.0.17.1 |
1 <?php 2 /** 3 * Smarty plugin 4 * @package Smarty 5 * @subpackage plugins 6 */ 7 8 /** 9 * assemble filepath of requested plugin 10 * 11 * @param string $type 12 * @param string $name 13 * @return string|false 14 */ 15 function smarty_core_assemble_plugin_filepath($params, &$smarty) 16 { 17 static $_filepaths_cache = array(); 18 19 $_plugin_filename = $params['type'] . '.' . $params['name'] . '.php'; 20 if (isset($_filepaths_cache[$_plugin_filename])) { 21 return $_filepaths_cache[$_plugin_filename]; 22 } 23 $_return = false; 24 25 foreach ((array)$smarty->plugins_dir as $_plugin_dir) { 26 27 $_plugin_filepath = $_plugin_dir . DIRECTORY_SEPARATOR . $_plugin_filename; 28 29 // see if path is relative 30 if (!preg_match("/^([\/\\\\]|[a-zA-Z]:[\/\\\\])/", $_plugin_dir)) { 31 $_relative_paths[] = $_plugin_dir; 32 // relative path, see if it is in the SMARTY_DIR 33 if (@is_readable(SMARTY_DIR . $_plugin_filepath)) { 34 $_return = SMARTY_DIR . $_plugin_filepath; 35 break; 36 } 37 } 38 // try relative to cwd (or absolute) 39 if (@is_readable($_plugin_filepath)) { 40 $_return = $_plugin_filepath; 41 break; 42 } 43 } 44 45 if($_return === false) { 46 // still not found, try PHP include_path 47 if(isset($_relative_paths)) { 48 foreach ((array)$_relative_paths as $_plugin_dir) { 49 50 $_plugin_filepath = $_plugin_dir . DIRECTORY_SEPARATOR . $_plugin_filename; 51 52 $_params = array('file_path' => $_plugin_filepath); 53 require_once (SMARTY_CORE_DIR . 'core.get_include_path.php'); 54 if(smarty_core_get_include_path($_params, $smarty)) { 55 $_return = $_params['new_file_path']; 56 break; 57 } 58 } 59 } 60 } 61 $_filepaths_cache[$_plugin_filename] = $_return; 62 return $_return; 63 } 64 65 /* vim: set expandtab: */ 66 67 ?>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Nov 25 11:44:32 2007 | par Balluche grâce à PHPXref 0.7 |
![]() |