* Name: sugar_include
* Purpose: Handles rendering the global file includes from the metadata files defined * in templateMeta=>includes. * * @author Collin Lee {clee@sugarcrm.com} * @param array * @param Smarty */ function smarty_function_sugar_include($params, &$smarty) { global $app_strings; if(isset($params['type']) && $params['type'] == 'php') { if(!isset($params['file'])) { $smarty->trigger_error($app_strings['ERR_MISSING_REQUIRED_FIELDS'] . 'include'); } $includeFile = $params['file']; if(!file_exists($includeFile)) { $smarty->trigger_error($app_strings['ERR_NO_SUCH_FILE'] . ': ' . $includeFile); } ob_start(); require($includeFile); $output_html = ob_get_contents(); ob_end_clean(); echo $output_html; } else if(is_array($params['include'])) { $code = ''; foreach($params['include'] as $include) { if(isset($include['file'])) { $file = $include['file']; if(preg_match('/[\.]js$/si',$file)) { $code .= ""; } else if(preg_match('/[\.]php$/si', $file)) { require_once($file); } } } //foreach return $code; } //if } ?>