本文整理汇总了PHP中XoopsTpl::clearCache方法的典型用法代码示例。如果您正苦于以下问题:PHP XoopsTpl::clearCache方法的具体用法?PHP XoopsTpl::clearCache怎么用?PHP XoopsTpl::clearCache使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XoopsTpl
的用法示例。
在下文中一共展示了XoopsTpl::clearCache方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: xoops_module_update
function xoops_module_update($dirname)
{
global $xoopsConfig, $xoopsDB;
$dirname = trim($dirname);
$module_handler =& xoops_gethandler('module');
$module =& $module_handler->getByDirname($dirname);
// Save current version for use in the update function
$prev_version = $module->getVar('version');
include_once XOOPS_ROOT_PATH . '/class/template.php';
$xoopsTpl = new XoopsTpl();
$xoopsTpl->clearCache($dirname);
//xoops_template_clear_module_cache($module->getVar('mid'));
// we dont want to change the module name set by admin
$temp_name = $module->getVar('name');
$module->loadInfoAsVar($dirname);
$module->setVar('name', $temp_name);
$log = '';
if (!$module_handler->insert($module)) {
$log .= sprintf(__('Could not update %s', 'rmcommon'), $module->getVar('name'));
} else {
$newmid = $module->getVar('mid');
$msgs = array();
$msgs[] = sprintf(__('Updating module %s', 'rmcommon'), $module->getVar('name'));
$tplfile_handler =& xoops_gethandler('tplfile');
$deltpl = $tplfile_handler->find('default', 'module', $module->getVar('mid'));
$delng = array();
if (is_array($deltpl)) {
// delete template file entry in db
$dcount = count($deltpl);
for ($i = 0; $i < $dcount; $i++) {
if (!$tplfile_handler->delete($deltpl[$i])) {
$delng[] = $deltpl[$i]->getVar('tpl_file');
}
}
}
$templates = $module->getInfo('templates');
if ($templates != false) {
$msgs[] = __('Updating templates...', 'rmcommon');
foreach ($templates as $tpl) {
$tpl['file'] = trim($tpl['file']);
if (!in_array($tpl['file'], $delng)) {
$tpldata =& xoops_module_gettemplate($dirname, $tpl['file']);
$tplfile =& $tplfile_handler->create();
$tplfile->setVar('tpl_refid', $newmid);
$tplfile->setVar('tpl_lastimported', 0);
$tplfile->setVar('tpl_lastmodified', time());
if (preg_match("/\\.css\$/i", $tpl['file'])) {
$tplfile->setVar('tpl_type', 'css');
} else {
$tplfile->setVar('tpl_type', 'module');
}
$tplfile->setVar('tpl_source', $tpldata, true);
$tplfile->setVar('tpl_module', $dirname);
$tplfile->setVar('tpl_tplset', 'default');
$tplfile->setVar('tpl_file', $tpl['file'], true);
$tplfile->setVar('tpl_desc', $tpl['description'], true);
if (!$tplfile_handler->insert($tplfile)) {
$msgs[] = ' <span style="color:#ff0000;">' . sprintf(__('Template %s could not be inserted!', 'rmcommon'), "<strong>" . $tpl['file'] . "</strong>") . '</span>';
} else {
$newid = $tplfile->getVar('tpl_id');
$msgs[] = ' ' . sprintf(__('Template %s inserted to the database.', 'rmcommon'), "<strong>" . $tpl['file'] . "</strong>");
if ($xoopsConfig['template_set'] == 'default') {
if (!xoops_template_touch($newid)) {
$msgs[] = ' <span style="color:#ff0000;">' . sprintf(__('ERROR: Could not recompile template %s', 'rmcommon'), "<strong>" . $tpl['file'] . "</strong>") . '</span>';
} else {
$msgs[] = ' <span>' . sprintf(__('Template %s recompiled', 'rmcommon'), "<strong>" . $tpl['file'] . "</strong>") . '</span>';
}
}
}
unset($tpldata);
} else {
$msgs[] = ' <span style="color:#ff0000;">' . sprintf(__('ERROR: Could not delete old template %s. Aborting update of this file.', 'rmcommon'), "<strong>" . $tpl['file'] . "</strong>") . '</span>';
}
}
}
$blocks = $module->getInfo('blocks');
$msgs[] = __('Rebuilding blocks...', 'rmcommon');
if ($blocks != false) {
$showfuncs = array();
$funcfiles = array();
foreach ($blocks as $i => $block) {
if (isset($block['show_func']) && $block['show_func'] != '' && isset($block['file']) && $block['file'] != '') {
$editfunc = isset($block['edit_func']) ? $block['edit_func'] : '';
$showfuncs[] = $block['show_func'];
$funcfiles[] = $block['file'];
$template = '';
if (isset($block['template']) && trim($block['template']) != '') {
$content = xoops_module_gettemplate($dirname, $block['template'], 'blocks');
}
if (!$content) {
$content = '';
} else {
$template = $block['template'];
}
$options = '';
if (!empty($block['options'])) {
$options = $block['options'];
}
$sql = "SELECT bid, name FROM " . $xoopsDB->prefix('newblocks') . " WHERE mid=" . $module->getVar('mid') . " AND func_num=" . $i . " AND show_func='" . addslashes($block['show_func']) . "' AND func_file='" . addslashes($block['file']) . "'";
$fresult = $xoopsDB->query($sql);
//.........这里部分代码省略.........
示例2: trim
}
$msgs .= '<br /><span style="font-size:smaller;">' . $mod->getVar('name') . '</span><br /><br />' . _MD_AM_RUSUREUPD;
xoops_cp_header();
xoops_confirm(array('dirname' => $module, 'op' => 'update_ok', 'fct' => 'modulesadmin'), 'admin.php', $msgs, _MD_AM_UPDATE);
xoops_cp_footer();
exit;
}
if ($op == 'update_ok') {
$dirname = trim($dirname);
$module_handler =& xoops_gethandler('module');
$module =& $module_handler->getByDirname($dirname);
// Save current version for use in the update function
$prev_version = $module->getVar('version');
include_once XOOPS_ROOT_PATH . '/class/template.php';
$xoopsTpl = new XoopsTpl();
$xoopsTpl->clearCache($dirname);
//xoops_template_clear_module_cache($module->getVar('mid'));
// we dont want to change the module name set by admin
$temp_name = $module->getVar('name');
$module->loadInfoAsVar($dirname);
$module->setVar('name', $temp_name);
xoops_cp_header();
if (!$module_handler->insert($module)) {
echo '<p>Could not update ' . $module->getVar('name') . '</p>';
echo "<br /><a href='admin.php?fct=modulesadmin'>" . _MD_AM_BTOMADMIN . "</a>";
} else {
echo "<p><a href='admin.php?fct=modulesadmin'>" . _MD_AM_BTOMADMIN . "</a><p>";
$newmid = $module->getVar('mid');
$msgs = array();
$msgs[] = _MD_AM_MODULE_DATA_UPDATE;
$tplfile_handler =& xoops_gethandler('tplfile');
示例3: XoopsTpl
$xoBreadCrumb->addLink(_AM_SYSTEM_MODULES_UPDATE);
$xoBreadCrumb->addHelp(system_adminVersion('modulesadmin', 'help') . '#update');
$xoBreadCrumb->render();
// Display message
xoops_confirm(array('dirname' => $module, 'op' => 'update_ok', 'fct' => 'modulesadmin'), 'admin.php', $msgs, _AM_SYSTEM_MODULES_UPDATE);
// Call Footer
xoops_cp_footer();
break;
case 'update_ok':
$dirname = $myts->htmlspecialchars(trim($dirname));
$module_handler =& xoops_gethandler('module');
$module =& $module_handler->getByDirname($dirname);
// Save current version for use in the update function
$prev_version = $module->getVar('version');
$clearTpl = new XoopsTpl();
$clearTpl->clearCache($dirname);
// we dont want to change the module name set by admin
$temp_name = $module->getVar('name');
$module->loadInfoAsVar($dirname);
$module->setVar('name', $temp_name);
$module->setVar('last_update', time());
// Call Header
// Define main template
$xoopsOption['template_main'] = 'system_header.html';
// Call Header
xoops_cp_header();
// Define Stylesheet
$xoTheme->addStylesheet(XOOPS_URL . '/modules/system/css/admin.css');
// Define Breadcrumb and tips
$xoBreadCrumb->addLink(_AM_SYSTEM_MODULES_ADMIN, system_adminVersion('modulesadmin', 'adminpath'));
$xoBreadCrumb->addLink(_AM_SYSTEM_MODULES_UPDATE);
示例4: xoops_module_update
/**
* @param $dirname
* @return string
*/
function xoops_module_update($dirname)
{
global $xoopsUser, $xoopsConfig, $xoopsTpl;
$dirname = trim($dirname);
$xoopsDB =& $GLOBALS['xoopsDB'];
$myts = MyTextSanitizer::getInstance();
$dirname = $myts->htmlspecialchars(trim($dirname));
$module_handler = xoops_getHandler('module');
$module = $module_handler->getByDirname($dirname);
// Save current version for use in the update function
$prev_version = $module->getVar('version');
$clearTpl = new XoopsTpl();
$clearTpl->clearCache($dirname);
// we don't want to change the module name set by admin
$temp_name = $module->getVar('name');
$module->loadInfoAsVar($dirname);
$module->setVar('name', $temp_name);
$module->setVar('last_update', time());
/*
// Call Header
// Define main template
$GLOBALS['xoopsOption']['template_main'] = 'system_header.html';
// Call Header
xoops_cp_header();
// Define Stylesheet
$xoTheme->addStylesheet(XOOPS_URL . '/modules/system/css/admin.css');
// Define Breadcrumb and tips
$xoBreadCrumb->addLink(_AM_SYSTEM_MODULES_ADMIN, system_adminVersion('modulesadmin', 'adminpath'));
$xoBreadCrumb->addLink(_AM_SYSTEM_MODULES_UPDATE);
$xoBreadCrumb->addHelp(system_adminVersion('modulesadmin', 'help') . '#update');https://www.facebook.com/photo.php?v=10154358806675333
$xoBreadCrumb->render();
*/
if (!$module_handler->insert($module)) {
echo '<p>Could not update ' . $module->getVar('name') . '</p>';
echo "<br><div class='center'><a href='admin.php?fct=modulesadmin'>" . _AM_SYSTEM_MODULES_BTOMADMIN . '</a></div>';
} else {
$newmid = $module->getVar('mid');
$msgs = array();
$msgs[] = '<div id="xo-module-log"><div class="header">';
$msgs[] = $errs[] = '<h4>' . _AM_SYSTEM_MODULES_UPDATING . $module->getInfo('name', 's') . '</h4>';
if ($module->getInfo('image') != false && trim($module->getInfo('image')) != '') {
$msgs[] = '<img src="' . XOOPS_URL . '/modules/' . $dirname . '/' . trim($module->getInfo('image')) . '" alt="" />';
}
$msgs[] = '<strong>' . _VERSION . ':</strong> ' . $module->getInfo('version') . ' ' . $module->getInfo('module_status');
if ($module->getInfo('author') != false && trim($module->getInfo('author')) != '') {
$msgs[] = '<strong>' . _AUTHOR . ':</strong> ' . $myts->htmlspecialchars(trim($module->getInfo('author')));
}
$msgs[] = '</div><div class="logger">';
$update_script = $module->getInfo('onUpdate');
if (!empty($update_script) && trim($update_script) != '') {
include_once XOOPS_ROOT_PATH . '/modules/' . $dirname . '/' . trim($update_script);
}
// execute module specific update script if any
if (function_exists('xoops_module_pre_update_' . $dirname)) {
$func = 'xoops_module_pre_update_' . $dirname;
if (!$func($module, $prev_version)) {
$msgs[] = '<p>' . sprintf(_AM_SYSTEM_MODULES_FAILED_EXECUTE, $func) . '</p>';
$msgs = array_merge($msgs, $module->getErrors());
} else {
$msgs[] = '<p>' . sprintf(_AM_SYSTEM_MODULES_FAILED_SUCESS, '<strong>' . $func . '</strong>') . '</p>';
$msgs += $module->getErrors();
}
}
$msgs[] = _AM_SYSTEM_MODULES_MODULE_DATA_UPDATE;
$tplfile_handler = xoops_getHandler('tplfile');
// irmtfan bug fix: remove codes for delete templates
/*
$deltpl = $tplfile_handler->find('default', 'module', $module->getVar('mid'));
$delng = array();
if (is_array($deltpl)) {
// delete template file entry in db
$dcount = count($deltpl);
for ($i = 0; $i < $dcount; $i++) {
if (!$tplfile_handler->delete($deltpl[$i])) {
$delng[] = $deltpl[$i]->getVar('tpl_file');
}
}
}
*/
// irmtfan bug fix: remove codes for delete templates
$templates = $module->getInfo('templates');
if ($templates != false) {
$msgs[] = _AM_SYSTEM_MODULES_TEMPLATES_UPDATE;
foreach ($templates as $tpl) {
$tpl['file'] = trim($tpl['file']);
// START irmtfan solve templates duplicate issue
// if (!in_array($tpl['file'], $delng)) { // irmtfan bug fix: remove codes for delete templates
$type = isset($tpl['type']) ? $tpl['type'] : 'module';
if (preg_match("/\\.css\$/i", $tpl['file'])) {
$type = 'css';
}
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('tpl_refid', $newmid), 'AND');
$criteria->add(new Criteria('tpl_module', $dirname), 'AND');
$criteria->add(new Criteria('tpl_tplset', 'default'), 'AND');
$criteria->add(new Criteria('tpl_file', $tpl['file']), 'AND');
//.........这里部分代码省略.........