* Copyright (c) 2006, Cake Software Foundation, Inc. * 1785 E. Sahara Avenue, Suite 490-204 * Las Vegas, Nevada 89104 * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * * @filesource * @copyright Copyright (c) 2006, Cake Software Foundation, Inc. * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project * @package cake * @subpackage cake.cake.libs.view.helpers * @since CakePHP v 0.10.0.1076 * @version $Revision$ * @modifiedby $LastChangedBy$ * @lastmodified $Date$ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ /** * Javascript Helper class for easy use of JavaScript. * * JavascriptHelper encloses all methods needed while working with JavaScript. * * @package cake * @subpackage cake.cake.libs.view.helpers */ class JavascriptHelper extends Helper{ var $_cachedEvents = array(); var $_cacheEvents = false; var $_cacheToFile = false; var $_cacheAll = false; var $_rules = array(); var $safe = false; /** * Returns a JavaScript script tag. * * @param string $script The JavaScript to be wrapped in SCRIPT tags. * @param boolean $allowCache Allows the script to be cached if non-event caching is active * @param boolean $safe Wraps the script in an HTML comment and a CDATA block * @return string The full SCRIPT element, with the JavaScript inside it. */ function codeBlock($script = null, $allowCache = true, $safe = false) { if ($this->_cacheEvents && $this->_cacheAll && $allowCache && $script !== null) { $this->_cachedEvents[] = $script; } else { $block = ($script !== null); if ($safe || $this->safe) { $script = "\n" . '' . "\n"; } } if ($block) { return sprintf($this->tags['javascriptblock'], $script); } else { return sprintf($this->tags['javascriptstart'], $script); } } } /** * Returns a JavaScript include tag (SCRIPT element) * * @param string $url URL to JavaScript file. * @param boolean $inline If true, the