Example #1
0
 /**
  * 
  * @param type $oObj
  * @param type $sCss
  * @return type
  */
 public function generateAdminLinks($oObj, $sCss)
 {
     JCH_DEBUG ? JchPlatformProfiler::start('GenerateAdminLinks') : null;
     $params = clone $this->params;
     $params->set('javascript', '1');
     $params->set('css', '1');
     $params->set('excludeAllExtensions', '0');
     $params->set('css_minify', '0');
     $params->set('debug', '0');
     $params->set('bottom_js', '2');
     ##<procode>##
     $params->set('pro_phpAndExternal', '1');
     $params->set('pro_inlineScripts', '1');
     $params->set('pro_lazyload', '0');
     ##</procode>##
     $sHtml = $oObj->getOriginalHtml();
     $oParser = new JchOptimizeParser($params, $sHtml, JchOptimizeFileRetriever::getInstance());
     $aLinks = $oParser->getReplacedFiles();
     if ($sCss == '' && !empty($aLinks['css'][0])) {
         $oCombiner = new JchOptimizeCombiner($params, $this->bBackend);
         $oCssParser = new JchOptimizeCssParser($params, $this->bBackend);
         $oCombiner->combineFiles($aLinks['css'][0], 'css', $oCssParser);
         $sCss = $oCombiner->css;
     }
     $oSpriteGenerator = new JchOptimizeSpriteGenerator($params);
     $aLinks['images'] = $oSpriteGenerator->processCssUrls($sCss, TRUE);
     ##<procode>##
     $sRegex = $oParser->getLazyLoadRegex();
     preg_match_all($sRegex, $oParser->getBodyHtml(), $aMatches);
     $aLinks['lazyload'] = $aMatches[1];
     ##</procode>##
     JCH_DEBUG ? JchPlatformProfiler::stop('GenerateAdminLinks', TRUE) : null;
     return $aLinks;
 }
 /**
  * Optimize website by aggregating css and js
  *
  */
 public function process($sHtml)
 {
     JCH_DEBUG ? JchPlatformProfiler::start('Process', TRUE) : null;
     JCH_DEBUG ? JchPlatformProfiler::start('LoadClass') : null;
     loadJchOptimizeClass(array('JchOptimizeBase', 'JchOptimizeParser', 'JchOptimizeFileRetriever', 'JchOptimizeLinkBuilder', 'JchOptimizeHelper'));
     JCH_DEBUG ? JchPlatformProfiler::stop('LoadClass', TRUE) : null;
     try {
         $oParser = new JchOptimizeParser($this->params, $sHtml, JchOptimizeFileRetriever::getInstance());
         $oLinkBuilder = new JchOptimizeLinkBuilder($oParser);
         $oLinkBuilder->insertJchLinks();
         $oParser->runCookieLessDomain();
         $oParser->lazyLoadImages();
         $this->params->set('isXhtml', $oLinkBuilder->isXhtml());
         $this->params->set('isHtml5', $oParser->isHtml5());
         $sOptimizedHtml = JchOptimizeHelper::minifyHtml($oParser->getHtml(), $this->params);
     } catch (Exception $ex) {
         JchOptimizeLogger::log($ex->getMessage(), $this->params);
         $sOptimizedHtml = $sHtml;
     }
     spl_autoload_unregister('loadJchOptimizeClass');
     JCH_DEBUG ? JchPlatformProfiler::stop('Process', TRUE) : null;
     JCH_DEBUG ? JchPlatformProfiler::attachProfiler($sOptimizedHtml) : null;
     if (version_compare(PHP_VERSION, '7', '>=')) {
         ini_set('pcre.jit', $this->jit);
     }
     return $sOptimizedHtml;
 }
Example #3
0
 /**
  * 
  * @param type $oObj
  * @param type $sCss
  * @return type
  */
 public function generateAdminLinks($oObj, $sCss)
 {
     JCH_DEBUG ? JchPlatformProfiler::start('GenerateAdminLinks') : null;
     $params = clone $this->params;
     $params->set('combine_files_enable', '1');
     $params->set('javascript', '1');
     $params->set('css', '1');
     $params->set('gzip', '0');
     $params->set('css_minify', '0');
     $params->set('js_minify', '0');
     $params->set('html_minify', '0');
     $params->set('defer_js', '0');
     $params->set('debug', '0');
     $params->set('bottom_js', '2');
     $params->set('includeAllExtensions', '1');
     $params->set('excludeCss', array());
     $params->set('excludeJs', array());
     $params->set('excludeCssComponents', array());
     $params->set('excludeJsComponents', array());
     $params->set('csg_exclude_images', array());
     $params->set('csg_include_images', array());
     $sHtml = $oObj->getOriginalHtml();
     $oParser = new JchOptimizeParser($params, $sHtml, JchOptimizeFileRetriever::getInstance());
     $aLinks = $oParser->getReplacedFiles();
     if ($sCss == '' && !empty($aLinks['css'][0])) {
         $oCombiner = new JchOptimizeCombiner($params, $this->bBackend);
         $oCssParser = new JchOptimizeCssParser($params, $this->bBackend);
         $oCombiner->combineFiles($aLinks['css'][0], 'css', $oCssParser);
         $sCss = $oCombiner->css;
     }
     $oSpriteGenerator = new JchOptimizeSpriteGenerator($params);
     $aLinks['images'] = $oSpriteGenerator->processCssUrls($sCss, TRUE);
     JCH_DEBUG ? JchPlatformProfiler::stop('GenerateAdminLinks', TRUE) : null;
     return $aLinks;
 }
        /**
         * Optimize website by aggregating css and js
         *
         */
        public function process($sHtml)
        {
                JCH_DEBUG ? JchPlatformProfiler::mark('beforeProcess plgSystem (JCH Optimize)') : null;

                loadJchOptimizeClass(array('JchOptimizeBase', 'JchOptimizeParser', 'JchOptimizeFileRetriever', 
                        'JchOptimizeLinkBuilder', 'JchOptimizeHelper'));
                
                JCH_DEBUG ? JchPlatformProfiler::mark('afterLoadClass plgSystem (JCH Optimize)') : null;
                
                try
                {
                        $oParser = new JchOptimizeParser($this->params, $sHtml, JchOptimizeFileRetriever::getInstance());

                        $oLinkBuilder = new JchOptimizeLinkBuilder($oParser);
                        $oLinkBuilder->insertJchLinks();

                        $sOptimizedHtml = JchOptimizeHelper::minifyHtml($oParser->getHtml(), $this->params);
                }
                catch (Exception $ex)
                {
                        JchOptimizeLogger::log($ex->getMessage(), $this->params);

                        $sOptimizedHtml = $sHtml;
                }

                spl_autoload_unregister('loadJchOptimizeClass');

                JCH_DEBUG ? JchPlatformProfiler::mark('afterProcess plgSystem (JCH Optimize)') : null;

                return $sOptimizedHtml;
        }
Example #5
0
 /**
  * Optimize website by aggregating css and js
  *
  */
 public function process()
 {
     global $_PROFILER, $oParams;
     JCH_DEBUG ? $_PROFILER->mark('beforeProcess plgSystem (JCH Optimize)') : null;
     $sHtml = JResponse::getBody();
     try {
         $oParser = new JchOptimizeParser($oParams, $sHtml);
         $oLinkBuilder = new JchOptimizeLinkBuilder($oParams, $oParser);
         $oLinkBuilder->insertJchLinks();
         $this->sSearchArea = $oParser->getSearchArea();
         $sHtml = $this->minifyHtml($oParser->getHtml());
     } catch (Exception $ex) {
         if ($oParams->get('log', 0)) {
             JchOptimizeLogger::log($ex->getMessage());
         }
     }
     JResponse::setBody($sHtml);
     spl_autoload_unregister('loadJchOptimizeClass');
     JCH_DEBUG ? $_PROFILER->mark('afterProcess plgSystem (JCH Optimize)') : null;
 }
Example #6
0
 /**
  * Optimize website by aggregating css and js
  *
  */
 public function process($sHtml)
 {
     JCH_DEBUG ? JchPlatformProfiler::start('Process', TRUE) : null;
     JCH_DEBUG ? JchPlatformProfiler::start('LoadClass') : null;
     loadJchOptimizeClass(array('JchOptimizeBase', 'JchOptimizeParser', 'JchOptimizeFileRetriever', 'JchOptimizeLinkBuilder', 'JchOptimizeHelper'));
     JCH_DEBUG ? JchPlatformProfiler::stop('LoadClass', TRUE) : null;
     try {
         $oParser = new JchOptimizeParser($this->params, $sHtml, JchOptimizeFileRetriever::getInstance());
         $oLinkBuilder = new JchOptimizeLinkBuilder($oParser);
         $oLinkBuilder->insertJchLinks();
         $this->params->set('xhtml', $oLinkBuilder->isXhtml());
         $sOptimizedHtml = JchOptimizeHelper::minifyHtml($oParser->getHtml(), $this->params);
     } catch (Exception $ex) {
         JchOptimizeLogger::log($ex->getMessage(), $this->params);
         $sOptimizedHtml = $sHtml;
     }
     spl_autoload_unregister('loadJchOptimizeClass');
     JCH_DEBUG ? JchPlatformProfiler::stop('Process', TRUE) : null;
     JCH_DEBUG ? JchPlatformProfiler::attachProfiler($sOptimizedHtml) : null;
     return $sOptimizedHtml;
 }
Example #7
0
 /**
  * 
  * @param type $oObj
  * @param type $sCss
  * @return type
  */
 public function generateAdminLinks($oObj, $sCss)
 {
     JCH_DEBUG ? JchPlatformProfiler::mark('beforeGenerateAdminLinks plgSystem (JCH Optimize)') : null;
     $params = clone $this->params;
     $params->set('javascript', '1');
     $params->set('css', '1');
     $params->set('excludeAllExtensions', '0');
     $params->set('css_minify', '0');
     $params->set('debug', '0');
     $params->set('bottom_js', '2');
     $sHtml = $oObj->getOriginalHtml();
     $oParser = new JchOptimizeParser($params, $sHtml, JchOptimizeFileRetriever::getInstance());
     $aLinks = $oParser->getReplacedFiles();
     if ($sCss == '') {
         $oCombiner = new JchOptimizeCombiner($params, $this->bBackend);
         $oCssParser = new JchOptimizeCssParser($params, $this->bBackend);
         $oCombiner->combineFiles($aLinks['css'][0], 'css', $oCssParser);
         $sCss = $oCombiner->css;
     }
     $oSpriteGenerator = new JchOptimizeSpriteGenerator($params);
     $aLinks['images'] = $oSpriteGenerator->processCssUrls($sCss, TRUE);
     JCH_DEBUG ? JchPlatformProfiler::mark('afterGenerateAdminLinks plgSystem (JCH Optimize)') : null;
     return $aLinks;
 }