*/ WBClass::load('WBHtml_JS'); /** * Add JavaScript * * This is a simple interface to WBHTML_JS * * @version 0.3.0 * @package Wombat * @subpackage patTemplate */ class patTemplate_Function_Script extends patTemplate_Function { /** * name of the function * @access private * @var string */ public $_name = 'Script'; /** * tell that this function has to be executed during runtime * @var string */ public $_type = PATTEMPLATE_FUNCTION_RUNTIME; /** * call the function * * @param array $params parameters of the function (= attributes of the tag) * @param string $content inside tag * @return string content to insert into the template */ public function call( $params, $content ) { // nothing to do if (empty($content)) { return ''; } if (!isset ($params['area'])){ $params['area'] = 'include'; } $area = WBHtml_JS::AREA_INCLUDE; switch (strtolower($params['area'])) { case 'onload': WBHtml_JS::add($content, WBHtml_JS::AREA_ONLOAD); return ''; break; case 'code': return sprintf(WBHtml_JS::FMT_CODE, $content); break; case 'foot': WBHtml_JS::add($content, WBHtml_JS::AREA_FOOT); return ''; break; case 'script': $area = WBHtml_JS::AREA_INCLUDE_SCRIPT; break; case 'defer': $area = WBHtml_JS::AREA_INCLUDE_DEFER; break; case 'include': default: break; } $content = str_replace('.', '/', $content); $content = trim($content, '/'); WBHtml_JS::add($content, $area); return ''; } }