function t3_init() { t3import('core.parameter'); t3import('core.extendable'); t3import('core.template'); t3import('core.basetemplate'); t3import('core.cache'); t3import('core.head'); t3import('core.hook'); t3import('core.joomla.view'); if (!class_exists('JModuleHelper', false)) { t3import('core.joomla.modulehelper'); } t3import('core.joomla.pagination'); //Load template language $this->loadLanguage('tpl_' . T3_ACTIVE_TEMPLATE, JPATH_SITE); $params = T3Common::get_template_based_params(); //instance cache object. $devmode = $params ? $params->get('devmode', '0') == '1' : false; T3Cache::getInstance($devmode); //Check if enable T3 info mode. Enable by default (if not set) if ($params->get('infomode', 1) == 1) { if (!JRequest::getCmd('t3info') && JRequest::getCmd('tp')) { JRequest::setVar('t3info', JRequest::getCmd('tp')); } } $key = T3Cache::getPageKey(); $data = null; $user =& JFactory::getUser(); if (!$devmode && JRequest::getCmd('cache') != 'no') { T3Cache::setCaching(true); JResponse::allowCache(true); } $data = T3Cache::get($key); if ($data) { if (!preg_match('#<jdoc:include\\ type="([^"]+)" (.*)\\/>#iU', $data)) { $mainframe = JFactory::getApplication(); $token = JUtility::getToken(); $search = '#<input type="hidden" name="[0-9a-f]{32}" value="1" />#'; $replacement = '<input type="hidden" name="' . $token . '" value="1" />'; $data = preg_replace($search, $replacement, $data); JResponse::setBody($data); echo JResponse::toString($mainframe->getCfg('gzip')); if (JDEBUG) { global $_PROFILER; $_PROFILER->mark('afterCache'); echo implode('', $_PROFILER->getBuffer()); } $mainframe->close(); } } //Preload template t3import('core.preload'); $preload = T3Preload::getInstance(); $preload->load(); $doc =& JFactory::getDocument(); $t3 = T3Template::getInstance($doc); $t3->_html = $data; }
function onAfterRender() { $app = JFactory::getApplication(); t3import('core.admin.util'); $util = new JAT3_AdminUtil(); if ($app->isAdmin()) { ob_start(); $util->show_button_clearCache(); $content = ob_get_clean(); $buffer = JResponse::getBody(); $buffer = preg_replace('/<\\/body>/', $content . "\n</body>", $buffer); JResponse::setBody($buffer); } if ($util->checkPermission()) { if (JAT3_AdminUtil::checkCondition_for_Menu()) { // HTML= Parser lib require_once T3Path::path(T3_CORE) . DS . 'libs' . DS . "html_parser.php"; $_body = JResponse::getBody(); require_once T3Path::path(T3_CORE) . DS . 'admin' . DS . "util.php"; // Replace content $jat3core = new JAT3_AdminUtil(); $_body = $jat3core->replaceContent($_body); if ($_body) { JResponse::setBody($_body); } } } if (!T3Common::detect()) { return; } if ($util->checkPermission()) { if ($util->checkCondition()) { $params = T3Path::path(T3_CORE) . DS . 'admin' . DS . 'index.php'; if (file_exists($params)) { ob_start(); include $params; $content = ob_get_clean(); $buffer = JResponse::getBody(); $buffer = preg_replace('/<\\/body>/', $content . "\n</body>", $buffer); JResponse::setBody($buffer); } } return; } if (!$app->isAdmin()) { //Expires date set to very long //JResponse::setHeader( 'Expires', gmdate( 'D, d M Y H:i:s', time() + 3600000 ) . ' GMT', true ); //JResponse::setHeader( 'Last-Modified', gmdate( 'D, d M Y H:i:s', time()) . ' GMT', true ); JResponse::setHeader('Expires', '', true); JResponse::setHeader('Cache-Control', 'private', true); //Update cache in case of the whole page is cached $key = T3Cache::getPageKey(); if (($data = T3Cache::get($key)) && !preg_match('#<jdoc:include\\ type="([^"]+)" (.*)\\/>#iU', $data)) { $buffer = JResponse::getBody(); T3Cache::store($buffer, $key); } } }