Example #1
0
 /**
  * printJs method
  *
  * @param mixed $sizeLimit null
  * @return void
  * @access protected
  */
 function _printJs($sizeLimit = null)
 {
     foreach ($this->__jsViewStack as $package => $files) {
         if (isset($this->__jsStack[$package])) {
             $this->__jsStack[$package] = Set::merge($this->__jsStack[$package], $this->__jsViewStack[$package]);
         } else {
             $this->__jsStack[$package] = $this->__jsViewStack[$package];
         }
     }
     $this->__jsViewStack = array();
     if (!$this->__jsStack) {
         $return = $this->__scripts;
         $this->__scripts = '';
         return $return;
     }
     if ($sizeLimit === true) {
         if (!isset($this->__RequestHandler)) {
             App::import('Component', 'RequestHandler');
             $this->__RequestHandler = new RequestHandlerComponent();
         }
         if ($this->__RequestHandler->isMobile()) {
             $sizeLimit = 25 * 1024;
         }
     }
     if (isset($this->__jsStack['jquery'])) {
         $this->__jsStack = array_merge(array('jquery' => $this->__jsStack['jquery']), $this->__jsStack);
     }
     $urls = MiCompressor::url($this->__jsStack, array('type' => 'js', 'sizeLimit' => $sizeLimit));
     $this->__jsStack = array('default' => array());
     $return = array();
     foreach ((array) $urls as $url) {
         $url = str_replace($this->webroot, '/', $this->url($url));
         $return[] = $this->Html->script($url);
     }
     $return[] = $this->__scripts . $this->__scriptsView;
     $this->__scripts = $this->__scriptsView = '';
     return "\r" . implode("\r", $return) . "\r";
 }