/** * * @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; }
/** * * @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; }
/** * 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; }
/** * 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; }
/** * * @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; }