本文整理汇总了PHP中XoopsTpl::isCached方法的典型用法代码示例。如果您正苦于以下问题:PHP XoopsTpl::isCached方法的具体用法?PHP XoopsTpl::isCached怎么用?PHP XoopsTpl::isCached使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XoopsTpl
的用法示例。
在下文中一共展示了XoopsTpl::isCached方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: buildBlock
/**
* XoopsThemeBlocksPlugin::buildBlock()
*
* @param XoopsBlock $xobject
* @param XoopsTpl $template
* @return array|bool
*/
public function buildBlock($xobject, &$template)
{
$xoops = Xoops::getInstance();
// The lame type workaround will change
// bid is added temporarily as workaround for specific block manipulation
$dirname = $xobject->getVar('dirname');
$block = array('id' => $xobject->getVar('bid'), 'module' => $dirname, 'title' => $xobject->getVar('title'), 'weight' => $xobject->getVar('weight'), 'lastmod' => $xobject->getVar('last_modified'));
$bcachetime = (int) $xobject->getVar('bcachetime');
if (empty($bcachetime)) {
$template->caching = 0;
} else {
$template->caching = 2;
$template->cache_lifetime = $bcachetime;
}
$template->setCompileId($dirname);
$tplName = ($tplName = $xobject->getVar('template')) ? "block:{$dirname}/{$tplName}" : "module:system/system_block_dummy.tpl";
//$tplName = str_replace('.html', '.tpl', $tplName);
$cacheid = $this->generateCacheId('blk_' . $xobject->getVar('bid'));
$xoops->preload()->triggerEvent('core.themeblocks.buildblock.start', array($xobject, $template->isCached($tplName, $cacheid)));
if (!$bcachetime || !$template->isCached($tplName, $cacheid)) {
//Get theme metas
$old = array();
if ($this->theme && $bcachetime) {
foreach ($this->theme->metas as $type => $value) {
$old[$type] = $this->theme->metas[$type];
}
}
//build block
if ($bresult = $xobject->buildBlock()) {
$template->assign('block', $bresult);
$block['content'] = $template->fetch($tplName, $cacheid);
} else {
$block = false;
}
//check if theme added new metas
if ($this->theme && $bcachetime) {
$metas = array();
foreach ($this->theme->metas as $type => $value) {
$dif = Xoops_Utils::arrayRecursiveDiff($this->theme->metas[$type], $old[$type]);
if (count($dif)) {
$metas[$type] = $dif;
}
}
if (count($metas)) {
Xoops_Cache::write($cacheid, $metas);
}
}
} else {
$block['content'] = $template->fetch($tplName, $cacheid);
}
//add block cached metas
if ($this->theme && $bcachetime) {
if ($metas = Xoops_Cache::read($cacheid)) {
foreach ($metas as $type => $value) {
$this->theme->metas[$type] = array_merge($this->theme->metas[$type], $metas[$type]);
}
}
}
$template->setCompileId();
return $block;
}
示例2: XoopsTpl
include __DIR__ . '/mainfile.php';
} else {
include '../../' . '/mainfile.php';
}
$xoops = Xoops::getInstance();
$xoops->disableErrorReporting();
$xoops_url = \XoopsBaseConfig::get('url');
if (function_exists('mb_http_output')) {
mb_http_output('pass');
}
header('Content-Type:text/xml; charset=utf-8');
$dirname = $xoops->isModule() ? $xoops->module->getVar('dirname') : 'system';
$tpl = new XoopsTpl();
$tpl->caching = 2;
$tpl->cache_lifetime = 3600;
if (!$tpl->isCached('module:' . $dirname . '/system_rss.tpl')) {
$tpl->assign('channel_title', XoopsLocale::convert_encoding(htmlspecialchars($xoops->getConfig('sitename'), ENT_QUOTES)));
$tpl->assign('channel_link', $xoops_url . '/');
$tpl->assign('channel_desc', XoopsLocale::convert_encoding(htmlspecialchars($xoops->getConfig('slogan'), ENT_QUOTES)));
$tpl->assign('channel_lastbuild', XoopsLocale::formatTimestamp(time(), 'rss'));
$tpl->assign('channel_webmaster', $xoops->checkEmail($xoops->getConfig('adminmail'), true));
$tpl->assign('channel_editor', $xoops->checkEmail($xoops->getConfig('adminmail'), true));
$tpl->assign('channel_category', 'News');
$tpl->assign('channel_generator', 'XOOPS');
$tpl->assign('channel_language', XoopsLocale::getLangCode());
$xoTheme = $xoops->theme();
$imgPath = $xoTheme->resourcePath('/images/logo.png');
$tpl->assign('image_url', $xoops->url($imgPath));
$dimension = getimagesize($xoops->path($imgPath));
$tpl->assign('image_width', $dimension[0]);
$tpl->assign('image_height', $dimension[1]);
示例3: isset
$xoops = Xoops::getInstance();
$xoops->disableErrorReporting();
if (function_exists('mb_http_output')) {
mb_http_output('pass');
}
$categoryid = isset($_GET['categoryid']) ? $_GET['categoryid'] : -1;
if ($categoryid != -1) {
/* @var $categoryObj PublisherCategory */
$categoryObj = $publisher->getCategoryHandler()->get($categoryid);
}
header('Content-Type:text/xml; charset=' . XoopsLocale::getCharset());
$tpl = new XoopsTpl();
$tpl->caching = 2;
$tpl->cache_lifetime = 0;
$myts = MyTextSanitizer::getInstance();
if (!$tpl->isCached('module:publisher/publisher_rss.tpl')) {
$channel_category = $publisher->getModule()->getVar('name');
$tpl->assign('channel_charset', XoopsLocale::getCharset());
$tpl->assign('channel_title', htmlspecialchars($xoops->getConfig('sitename'), ENT_QUOTES));
$tpl->assign('channel_link', PUBLISHER_URL);
$tpl->assign('channel_desc', htmlspecialchars($xoops->getConfig('slogan'), ENT_QUOTES));
$tpl->assign('channel_lastbuild', XoopsLocale::formatTimestamp(time(), 'rss'));
$tpl->assign('channel_webmaster', $xoops->getConfig('adminmail'));
$tpl->assign('channel_editor', $xoops->getConfig('adminmail'));
if ($categoryid != -1) {
$channel_category .= " > " . $categoryObj->getVar('name');
}
$tpl->assign('channel_category', htmlspecialchars($channel_category));
$tpl->assign('channel_generator', $publisher->getModule()->getVar('name'));
$tpl->assign('channel_language', XoopsLocale::getLangCode());
$tpl->assign('image_url', \XoopsBaseConfig::get('url') . '/images/logo.gif');
示例4: checkCache
/**
* XoopsTheme::checkCache()
*
* @return bool
*/
public function checkCache()
{
if ($_SERVER['REQUEST_METHOD'] != 'POST' && $this->contentCacheLifetime) {
$template = $this->contentTemplate ? $this->contentTemplate : 'module:system/system_dummy.tpl';
$this->template->caching = 2;
$this->template->cache_lifetime = $this->contentCacheLifetime;
$uri = str_replace(\XoopsBaseConfig::get('url'), '', $_SERVER['REQUEST_URI']);
// Clean uri by removing session id
if (defined('SID') && SID && strpos($uri, SID)) {
$uri = preg_replace("/([\\?&])(" . SID . "\$|" . SID . "&)/", "\\1", $uri);
}
$this->contentCacheId = $this->generateCacheId('page_' . substr(md5($uri), 0, 8));
if ($this->template->isCached($template, $this->contentCacheId)) {
Xoops::getInstance()->events()->triggerEvent('core.theme.checkcache.success', array($template, $this));
$this->render(null, null, $template);
return true;
}
}
return false;
}