本文整理汇总了PHP中IPSLib::cacheFurlTemplates方法的典型用法代码示例。如果您正苦于以下问题:PHP IPSLib::cacheFurlTemplates方法的具体用法?PHP IPSLib::cacheFurlTemplates怎么用?PHP IPSLib::cacheFurlTemplates使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPSLib
的用法示例。
在下文中一共展示了IPSLib::cacheFurlTemplates方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _checkForFurl
/**
* Try and deconstruct the link if it's a FURRY FURL
*
* @access protected
* @param string Incoming URL
* @return array Array of request data or false
*/
protected function _checkForFurl($url)
{
$_urlBits = array();
$_toTest = $url;
$templates = array();
if (is_file(FURL_CACHE_PATH)) {
$templates = array();
require FURL_CACHE_PATH;
/*noLibHook*/
$_seoTemplates = $templates;
} else {
/* Attempt to write it */
$_seoTemplates = IPSLib::buildFurlTemplates();
try {
IPSLib::cacheFurlTemplates();
} catch (Exception $e) {
}
}
if (is_array($_seoTemplates) and count($_seoTemplates)) {
foreach ($_seoTemplates as $key => $data) {
if (empty($data['in']['regex'])) {
continue;
}
if (preg_match($data['in']['regex'], $_toTest, $matches)) {
if (is_array($data['in']['matches'])) {
foreach ($data['in']['matches'] as $_replace) {
$k = IPSText::parseCleanKey($_replace[0]);
if (strpos($_replace[1], '$') !== false) {
$v = IPSText::parseCleanValue($matches[intval(str_replace('$', '', $_replace[1]))]);
} else {
$v = IPSText::parseCleanValue($_replace[1]);
}
$_urlBits[$k] = $v;
}
}
if (strpos($_toTest, $_seoTemplates['__data__']['varBlock']) !== false) {
$_parse = substr($_toTest, strpos($_toTest, $_seoTemplates['__data__']['varBlock']) + strlen($_seoTemplates['__data__']['varBlock']));
$_data = explode($_seoTemplates['__data__']['varSep'], $_parse);
$_c = 0;
foreach ($_data as $_v) {
if (!$_c) {
$k = IPSText::parseCleanKey($_v);
$v = '';
$_c++;
} else {
$v = IPSText::parseCleanValue($_v);
$_c = 0;
$_urlBits[$k] = $v;
}
}
}
break;
}
}
//-----------------------------------------
// If using query string furl, extract any
// secondary query string.
// Ex: http://localhost/index.php?/path/file.html?key=value
// Will pull the key=value properly
//-----------------------------------------
$_qmCount = substr_count($_toTest, '?');
if ($_qmCount > 1) {
$_secondQueryString = substr($_toTest, strrpos($_toTest, '?') + 1);
$_secondParams = explode('&', $_secondQueryString);
if (count($_secondParams)) {
foreach ($_secondParams as $_param) {
list($k, $v) = explode('=', $_param);
$k = IPSText::parseCleanKey($k);
$v = IPSText::parseCleanValue($v);
$_urlBits[$k] = $v;
}
}
}
/* Process URL bits for extra ? in them */
if (is_array($_urlBits) and count($_urlBits)) {
foreach ($_urlBits as $k => $v) {
if (strstr($v, '?')) {
list($rvalue, $more) = explode('?', $v);
if ($rvalue and $more) {
/* Reset key with correct value */
$_v = $rvalue;
$_urlBits[$k] = $_v;
/* Now add in the other value */
if (strstr($more, '=')) {
list($_k, $_v) = explode('=', $more);
if ($_k and $_v) {
$_urlBits[$_k] = $_v;
}
}
}
}
}
}
//.........这里部分代码省略.........
示例2: finish
/**
* Finalizes installation and rebuilds caches
*
* @return @e void
*/
public function finish()
{
/* INIT */
$vars = $this->getVars();
$output = array();
$errors = array();
/* Init Data */
$data = IPSSetUp::fetchXmlAppInformation($vars['app_directory'], $this->settings['gb_char_set']);
$_numbers = IPSSetUp::fetchAppVersionNumbers($vars['app_directory']);
/* Grab Data */
$data['app_directory'] = $vars['app_directory'];
$data['current_version'] = $_numbers['current'][0] ? $_numbers['current'][0] : $this->lang->words['cur_version_none'];
$data['latest_version'] = $_numbers['latest'][1];
$data['next_version'] = $_numbers['next'][0];
/* Rebuild applications and modules cache */
$this->cache->rebuildCache('app_cache', 'global');
$this->cache->rebuildCache('module_cache', 'global');
$this->cache->rebuildCache('app_menu_cache', 'global');
$this->cache->rebuildCache('group_cache', 'global');
$this->cache->rebuildCache('notifications', 'global');
$this->cache->rebuildCache('report_plugins', 'global');
/* Rebuild application specific caches */
$_file = $this->app_full_path . 'extensions/coreVariables.php';
if (is_file($_file)) {
$CACHE = array();
require $_file;
/*noLibHook*/
if (is_array($CACHE) and count($CACHE)) {
foreach ($CACHE as $key => $cdata) {
$this->cache->rebuildCache($key, $vars['app_directory']);
}
}
}
/* Rebuild GLOBAL CACHES! */
try {
IPSLib::cacheGlobalCaches();
} catch (Exception $e) {
// Show an error?
}
/* Rebuild FURLs */
$furltemplatesfile = $this->app_full_path;
if (IPB_USE_ONLY_ID_FURL && is_file($furltemplatesfile . '/extensions/furlTemplatesID.php')) {
$furltemplatesfile .= '/extensions/furlTemplatesID.php';
} else {
$furltemplatesfile .= '/extensions/furlTemplates.php';
}
if (is_file($furltemplatesfile)) {
try {
IPSLib::cacheFurlTemplates();
} catch (Exception $e) {
// Show an error?
}
}
/* Show completed screen... */
$this->registry->output->html .= $this->html->setup_completed_screen($data, $vars['type']);
}
示例3: install_template_caches
/**
* Install Tenplate Caches
*
* @return void
*/
public function install_template_caches()
{
//-----------------------------------------
// INIT
//-----------------------------------------
$this->settings['base_url'] = IPSSetUp::getSavedData('install_url');
$previous = $_REQUEST['previous'];
//-----------------------------------------
// Fetch next 'un
//-----------------------------------------
$skinId = intval($this->request['skinId']);
$skinData = array();
$output = array();
//-----------------------------------------
// Recache skins: Moved here so they are
// build after hooks are added
//-----------------------------------------
/* Load skin classes */
require_once IPS_ROOT_PATH . 'sources/classes/skins/skinFunctions.php';
/*noLibHook*/
require_once IPS_ROOT_PATH . 'sources/classes/skins/skinCaching.php';
/*noLibHook*/
require_once IPS_ROOT_PATH . 'sources/classes/skins/skinImportExport.php';
/*noLibHook*/
$skinFunctions = new skinImportExport($this->registry);
/* Grab skin data */
$skinData = $this->DB->buildAndFetch(array('select' => '*', 'from' => 'skin_collections', 'where' => 'set_id > ' . $skinId . ' AND set_parent_id=0', 'order' => 'set_id ASC', 'limit' => array(0, 1)));
if ($skinData['set_id']) {
$skinFunctions->rebuildPHPTemplates($skinData['set_id']);
$output = array_merge($output, $skinFunctions->fetchMessages(TRUE));
if ($skinFunctions->fetchErrorMessages() !== FALSE) {
$this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
}
$skinFunctions->rebuildCSS($skinData['set_id']);
$output = array_merge($output, $skinFunctions->fetchMessages(TRUE));
if ($skinFunctions->fetchErrorMessages() !== FALSE) {
$this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
}
$skinFunctions->rebuildReplacementsCache($skinData['set_id']);
$output = array_merge($output, $skinFunctions->fetchMessages(TRUE));
if ($skinFunctions->fetchErrorMessages() !== FALSE) {
$this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
}
$output[] = "Обновлен кеш стиля " . $skinData['set_name'] . "...";
/* Go for the next */
$this->_finishStep($output, "Обновление: Кеш стилей", 'upgrade&do=templatecache&skinId=' . $skinData['set_id']);
} else {
/* All diddly done */
$output[] = "Кеш стилей обновлен";
$skinFunctions->rebuildSkinSetsCache();
/* Rebuild FURL & GLOBAL caches */
try {
IPSLib::cacheFurlTemplates();
IPSLib::cacheGlobalCaches();
} catch (Exception $error) {
}
/* Clear out minify files */
try {
if (is_dir(DOC_IPS_ROOT_PATH . 'cache/tmp')) {
foreach (new DirectoryIterator(DOC_IPS_ROOT_PATH . 'cache/tmp') as $cache) {
if ($cache->getMTime() < time() - 60 * 60 * 24 * 7 and $cache->getFilename() != 'index.html') {
@unlink($cache->getPathname());
}
}
}
} catch (Exception $e) {
}
/* Show message and go */
$this->_finishStep($output, "Upgrade: Skin Caches", 'done');
}
}
示例4: _fUrlInit
/**
* INIT furls
* Performs set up and figures out any incoming links
*
* @return @e void
*/
protected static function _fUrlInit()
{
/**
* Fix request uri
*/
self::_fixRequestUri();
if (ipsRegistry::$settings['use_friendly_urls']) {
/* Grab and store accessing URL */
self::$_uri = preg_replace("/s=(&|\$)/", '', str_replace('/?', '/' . IPS_PUBLIC_SCRIPT . '?', $_SERVER['REQUEST_URI']));
$_urlBits = array();
/* Grab FURL data... */
if (!IN_DEV and is_file(FURL_CACHE_PATH)) {
$templates = array();
include FURL_CACHE_PATH;
/*noLibHook*/
self::$_seoTemplates = $templates;
} else {
/* Attempt to write it */
self::$_seoTemplates = IPSLib::buildFurlTemplates();
try {
IPSLib::cacheFurlTemplates();
} catch (Exception $e) {
}
}
if (is_array(self::$_seoTemplates) and count(self::$_seoTemplates)) {
$uri = $_SERVER['REQUEST_URI'] ? $_SERVER['REQUEST_URI'] : @getenv('REQUEST_URI');
/* Bug 21295 - remove known URL from test URI */
$_t = !empty(ipsRegistry::$settings['board_url']) ? @parse_url(ipsRegistry::$settings['board_url']) : @parse_url(ipsRegistry::$settings['base_url']);
$_toTest = ($_t['path'] and $_t['path'] != '/') ? preg_replace("#^{$_t['path']}#", '', $uri) : str_replace($_t['scheme'] . '://' . $_t['host'], '', $uri);
$_404Check = $_toTest;
//We want to retain any /index.php for this test later in this block of code
$_toTest = str_ireplace(array('//' . IPS_PUBLIC_SCRIPT . '?', '/' . IPS_PUBLIC_SCRIPT . '?', '/' . IPS_PUBLIC_SCRIPT), '', $_toTest);
$_gotMatch = false;
foreach (self::$_seoTemplates as $key => $data) {
if (empty($data['in']['regex'])) {
continue;
}
/* Clean up regex */
$data['in']['regex'] = str_replace('#{__varBlock__}', preg_quote(self::$_seoTemplates['__data__']['varBlock'], '#'), $data['in']['regex']);
if (preg_match($data['in']['regex'], $_toTest, $matches)) {
$_gotMatch = true;
/* Handling pages as a special thing? */
if ($data['isPagesMode']) {
if (strstr($_toTest, self::$_seoTemplates['__data__']['varPage'])) {
preg_match('#(' . preg_quote(self::$_seoTemplates['__data__']['varPage'], '#') . '(\\d+?))(?:$|' . preg_quote(self::$_seoTemplates['__data__']['varBlock'], '#') . ')#', $_toTest, $pageMatches);
if ($pageMatches[1]) {
$k = 'page';
$_GET[$k] = intval($pageMatches[2]);
$_POST[$k] = intval($pageMatches[2]);
$_REQUEST[$k] = intval($pageMatches[2]);
$_urlBits[$k] = intval($pageMatches[2]);
ipsRegistry::$request[$k] = intval($pageMatches[2]);
$_toTest = str_replace($pageMatches[1], '', $_toTest);
}
} else {
/* Redirect all < 3.4 links to the new sexy awesome format if need be */
if (self::$_seoTemplates['__data__']['varBlock'] != '/page__' && $uri && strstr($uri, '/page__')) {
preg_match('#(.*)(page__.*)$#', $uri, $matches);
$url = $matches[1];
$query = $matches[2];
$newQuery = '?';
$data = explode('__', substr($query, 6));
for ($i = 0, $j = count($data); $i < $j; $i++) {
$newQuery .= ($i % 2 == 0 ? '&' : '=') . $data[$i];
}
/* Class output not created here */
header("HTTP/1.1 301 Moved Permanently");
header("Location: " . $_t['scheme'] . '://' . $_t['host'] . $url . $newQuery);
exit;
}
}
}
if (is_array($data['in']['matches'])) {
foreach ($data['in']['matches'] as $_replace) {
$k = IPSText::parseCleanKey($_replace[0]);
if (strpos($_replace[1], '$') !== false) {
$v = IPSText::parseCleanValue($matches[intval(str_replace('$', '', $_replace[1]))]);
} else {
$v = IPSText::parseCleanValue($_replace[1]);
}
$_GET[$k] = $v;
$_POST[$k] = $v;
$_REQUEST[$k] = $v;
$_urlBits[$k] = $v;
ipsRegistry::$request[$k] = $v;
}
}
if (strpos($_toTest, self::$_seoTemplates['__data__']['varBlock']) !== false) {
/* Changed how the input variables are parsed based on feedback in bug report 24907
@link http://community.invisionpower.com/tracker/issue-24907-member-list-pagination-not-work-with-checkbox
Input variables now preserve array depth properly as a result */
$_parse = substr($_toTest, strpos($_toTest, self::$_seoTemplates['__data__']['varBlock']) + strlen(self::$_seoTemplates['__data__']['varBlock']));
$_data = explode(self::$_seoTemplates['__data__']['varSep'], $_parse);
$_query = '';
//.........这里部分代码省略.........
示例5: install_caches
//.........这里部分代码省略.........
ipsRegistry::cache()->setCache('stats', $cache, array('array' => 1));
//-----------------------------------------
// Adjust the table?
//-----------------------------------------
if ($extra_install and method_exists($extra_install, 'after_inserts_run')) {
$q = $extra_install->after_inserts_run('caches');
}
$output[] = "Все кеши обновлены";
//-----------------------------------------
// Recache skins: Moved here so they are
// build after hooks are added
//-----------------------------------------
/* Load skin classes */
require_once IPS_ROOT_PATH . 'sources/classes/skins/skinFunctions.php';
/*noLibHook*/
require_once IPS_ROOT_PATH . 'sources/classes/skins/skinCaching.php';
/*noLibHook*/
require_once IPS_ROOT_PATH . 'sources/classes/skins/skinImportExport.php';
/*noLibHook*/
$skinFunctions = new skinImportExport($this->registry);
/* Grab skin data */
$this->DB->build(array('select' => '*', 'from' => 'skin_collections'));
$this->DB->execute();
while ($row = $this->DB->fetch()) {
/* Bit of jiggery pokery... */
if ($row['set_key'] == 'default') {
$row['set_key'] = 'root';
$row['set_id'] = 0;
}
$skinSets[$row['set_key']] = $row;
}
foreach ($skinSets as $skinKey => $skinData) {
/* Bit of jiggery pokery... */
if ($skinData['set_key'] == 'root') {
$skinData['set_key'] = 'default';
$skinData['set_id'] = 1;
$skinKey = 'default';
}
$skinFunctions->rebuildPHPTemplates($skinData['set_id']);
if ($skinFunctions->fetchErrorMessages() !== FALSE) {
$this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
}
$skinFunctions->rebuildCSS($skinData['set_id']);
if ($skinFunctions->fetchErrorMessages() !== FALSE) {
$this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
}
$skinFunctions->rebuildReplacementsCache($skinData['set_id']);
if ($skinFunctions->fetchErrorMessages() !== FALSE) {
$this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
}
}
$skinFunctions->rebuildSkinSetsCache();
$output[] = "Кеш стиля обновлен";
/* Rebuild FURL & GLOBAL caches */
try {
IPSLib::cacheFurlTemplates();
IPSLib::cacheGlobalCaches();
} catch (Exception $error) {
}
}
//-----------------------------------------
// Now install other caches
//-----------------------------------------
if ($next['key']) {
$_PATH = IPSLib::getAppDir($next['key']) . '/extensions/';
if (is_file($_PATH . 'coreVariables.php')) {
//-----------------------------------------
// Adjust the table?
//-----------------------------------------
if ($extra_install and method_exists($extra_install, 'before_inserts_run')) {
$q = $extra_install->before_inserts_run('caches');
}
# Grab cache master file
require_once $_PATH . 'coreVariables.php';
/*noLibHook*/
if (is_array($CACHE)) {
foreach ($CACHE as $cs_key => $cs_data) {
$output[] = $next['title'] . ": Обновление {$cs_key}...";
ipsRegistry::cache()->rebuildCache($cs_key, $next['key']);
}
} else {
$output[] = $next['title'] . ": Нет кешей для обновления...";
}
//-----------------------------------------
// Adjust the table?
//-----------------------------------------
if ($extra_install and method_exists($extra_install, 'after_inserts_run')) {
$q = $extra_install->after_inserts_run('caches');
}
} else {
$output[] = $next['title'] . ": Нет кешей для обновления...";
}
//-----------------------------------------
// Done.. so get some more!
//-----------------------------------------
$this->_finishStep($output, "Установка: кеш", 'install&do=caches&previous=' . $next['key']);
} else {
$this->_finishStep($output, "Установка: кеш", 'done');
}
}
示例6: applicationSave
//.........这里部分代码省略.........
$this->applicationForm($type);
return;
}
if ((empty($app_enabled) || empty($app_public)) && in_array($app_directory, array('core', 'forums', 'members'))) {
$this->registry->output->showError($this->lang->words['cannot_toggle_defaults'], 111161.2);
}
/* $etup update array */
$array = array('app_title' => $app_title, 'app_public_title' => $app_public, 'app_enabled' => $app_enabled, 'app_hide_tab' => intval($this->request['app_hide_tab']), 'app_description' => trim($this->request['app_description']), 'app_author' => trim($this->request['app_author']), 'app_version' => trim($this->request['app_version']), 'app_directory' => $app_directory, 'app_website' => trim($this->request['app_website']), 'app_update_check' => trim($this->request['app_update_check']), 'app_global_caches' => is_array($this->request['app_global_caches']) && count($this->request['app_global_caches']) ? implode(',', $this->request['app_global_caches']) : '', 'app_tab_groups' => is_array($this->request['app_tab_groups']) && count($this->request['app_tab_groups']) ? implode(',', $this->request['app_tab_groups']) : '');
//-----------------------------------------
// IN DEV?
//-----------------------------------------
if (IN_DEV) {
$array['app_protected'] = intval($this->request['app_protected']);
}
//-----------------------------------------
// Save...
//-----------------------------------------
if ($type == 'add') {
$array['app_added'] = IPS_UNIX_TIME_NOW;
$array['app_location'] = 'other';
$max = $this->DB->buildAndFetch(array('select' => 'MAX(app_position) as position', 'from' => 'core_applications'));
$array['app_position'] = intval($max['position']) + 1;
$this->DB->insert('core_applications', $array);
$this->registry->output->global_message = $this->lang->words['a_newapp'];
} else {
/* We're disabling the app? */
if (empty($app_enabled)) {
$array['app_position'] = 0;
} else {
if (empty($application['app_enabled'])) {
$appsCount = $this->DB->buildAndFetch(array('select' => 'COUNT(*) as total', 'from' => 'core_applications', 'where' => 'app_enabled=1'));
$array['app_position'] = $appsCount['total'] + 1;
}
}
/* Update the application record */
$this->DB->update('core_applications', $array, 'app_id=' . $application['app_id']);
/* Update modules and tasks, if the application directory changed */
if ($application['app_directory'] != $app_directory) {
$sphinxRebuild = true;
$this->DB->update('task_manager', array('task_application' => $app_directory), "task_application='{$application['app_directory']}'");
$this->DB->update('core_sys_module', array('sys_module_application' => $app_directory), "sys_module_application='{$application['app_directory']}'");
$this->DB->update('admin_logs', array('appcomponent' => $app_directory), "appcomponent='{$application['app_directory']}'");
$this->DB->update('core_editor_autosave', array('eas_app' => $app_directory), "eas_app='{$application['app_directory']}'");
$this->DB->update('core_incoming_emails', array('rule_app' => $app_directory), "rule_app='{$application['app_directory']}'");
$this->DB->update('core_item_markers', array('item_app' => $app_directory), "item_app='{$application['app_directory']}'");
$this->DB->update('core_like', array('like_app' => $app_directory), "like_app='{$application['app_directory']}'");
$this->DB->update('core_like_cache', array('like_cache_app' => $app_directory), "like_cache_app='{$application['app_directory']}'");
$this->DB->update('core_share_links_log', array('log_data_app' => $app_directory), "log_data_app='{$application['app_directory']}'");
$this->DB->update('core_sys_lang_words', array('word_app' => $app_directory), "word_app='{$application['app_directory']}'");
$this->DB->update('core_sys_settings_titles', array('conf_title_app' => $app_directory), "conf_title_app='{$application['app_directory']}'");
$this->DB->update('core_tags', array('tag_meta_app' => $app_directory), "tag_meta_app='{$application['app_directory']}'");
$this->DB->update('custom_bbcode', array('bbcode_app' => $app_directory), "bbcode_app='{$application['app_directory']}'");
$this->DB->update('faq', array('app' => $app_directory), "app='{$application['app_directory']}'");
$this->DB->update('inline_notifications', array('notify_meta_app' => $app_directory), "notify_meta_app='{$application['app_directory']}'");
$this->DB->update('permission_index', array('app' => $app_directory), "app='{$application['app_directory']}'");
$this->DB->update('reputation_cache', array('app' => $app_directory), "app='{$application['app_directory']}'");
$this->DB->update('reputation_index', array('app' => $app_directory), "app='{$application['app_directory']}'");
$this->DB->update('skin_css', array('css_app' => $app_directory), "css_app='{$application['app_directory']}'");
$this->DB->update('skin_css_previous', array('p_css_app' => $app_directory), "p_css_app='{$application['app_directory']}'");
$this->DB->update('upgrade_history', array('upgrade_app' => $app_directory), "upgrade_app='{$application['app_directory']}'");
}
/* Set the message */
$this->registry->output->global_message = $this->lang->words['a_editappdone'];
}
/* Have we toggled this? */
if ($app_enabled != $application['app_enabled']) {
$sphinxRebuild = true;
}
//-----------------------------------------
// Recache
//-----------------------------------------
$this->applicationsRecache();
$this->applicationsMenuDataRecache();
try {
IPSLib::cacheFurlTemplates();
IPSLib::cacheGlobalCaches();
} catch (Exception $e) {
}
/**
* Re-enable the tasks if app is active
* (more effective than checking per-case)
*/
if ($app_enabled) {
$this->DB->update('task_manager', array('task_enabled' => 1), "task_application='{$app_directory}'");
}
/* Check for possible hook warnings */
if ($type == 'edit' && $application['app_enabled'] && !$app_enabled) {
// Switch the enabled value here or check will fail with the current cache!
ipsRegistry::$applications[$application['app_directory']]['app_enabled'] = 0;
$this->_checkHooksWarnings($application['app_directory']);
}
//-----------------------------------------
// Sphinx involved?
//-----------------------------------------
if ($sphinxRebuild and $this->settings['search_method'] == 'sphinx' && is_file(IPSLib::getAppDir($app_directory) . '/extensions/sphinxTemplate.php')) {
$this->registry->output->global_message .= sprintf($this->lang->words['rebuild_sphinx'], $this->settings['_base_url']);
}
/* All done */
$this->applicationsOverview();
}
示例7: init
protected static function init()
{
if (is_file(FURL_CACHE_PATH)) {
$templates = array();
require FURL_CACHE_PATH;
/*noLibHook*/
self::$_seoTemplates = $templates;
} else {
/* Attempt to write it */
self::$_seoTemplates = IPSLib::buildFurlTemplates();
try {
IPSLib::cacheFurlTemplates();
} catch (Exception $e) {
}
}
}
示例8: install_template_caches
/**
* Install Tenplate Caches
*
* @return void
*/
public function install_template_caches()
{
//-----------------------------------------
// INIT
//-----------------------------------------
$this->settings['base_url'] = IPSSetUp::getSavedData('install_url');
$previous = $_REQUEST['previous'];
//-----------------------------------------
// Fetch next 'un
//-----------------------------------------
$skinId = intval($this->request['skinId']);
$skinData = array();
$output = array();
//-----------------------------------------
// Recache skins: Moved here so they are
// build after hooks are added
//-----------------------------------------
/* Load skin classes */
require_once IPS_ROOT_PATH . 'sources/classes/skins/skinFunctions.php';
require_once IPS_ROOT_PATH . 'sources/classes/skins/skinCaching.php';
require_once IPS_ROOT_PATH . 'sources/classes/skins/skinImportExport.php';
$skinFunctions = new skinImportExport($this->registry);
/* Grab skin data */
$skinData = $this->DB->buildAndFetch(array('select' => '*', 'from' => 'skin_collections', 'where' => 'set_id > ' . $skinId . ' AND set_parent_id=0', 'order' => 'set_id ASC', 'limit' => array(0, 1)));
if ($skinData['set_id']) {
$skinFunctions->rebuildPHPTemplates($skinData['set_id']);
$output = array_merge($output, $skinFunctions->fetchMessages(TRUE));
if ($skinFunctions->fetchErrorMessages() !== FALSE) {
$this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
}
$skinFunctions->rebuildCSS($skinData['set_id']);
$output = array_merge($output, $skinFunctions->fetchMessages(TRUE));
if ($skinFunctions->fetchErrorMessages() !== FALSE) {
$this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
}
$skinFunctions->rebuildReplacementsCache($skinData['set_id']);
$output = array_merge($output, $skinFunctions->fetchMessages(TRUE));
if ($skinFunctions->fetchErrorMessages() !== FALSE) {
$this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
}
$output[] = "Recached skin " . $skinData['set_name'] . "...";
/* Go for the next */
$this->_finishStep($output, "Upgrade: Skin Caches", 'upgrade&do=templatecache&skinId=' . $skinData['set_id']);
} else {
/* All diddly done */
$output[] = "All skins recached";
$skinFunctions->rebuildSkinSetsCache();
/* Rebuild FURL cache */
try {
IPSLib::cacheFurlTemplates();
} catch (Exception $error) {
}
$this->_finishStep($output, "Upgrade: Skin Caches", 'done');
}
}
示例9: seoRebuild
/**
* Build the FURL templates file into cache
*
* @access public
* @return void
*/
public function seoRebuild()
{
try {
IPSLib::cacheFurlTemplates();
$msg = $this->lang->words['furl_cache_rebuilt'];
} catch (Exception $e) {
$msg = $e->getMessage();
switch ($msg) {
case 'CANNOT_WRITE':
$msg = $this->lang->words['seo_cannot_write'];
break;
case 'NO_DATA_TO_WRITE':
$msg = $this->lang->words['seo_no_data'];
break;
}
}
$this->registry->output->global_message = $msg;
$this->registry->output->silentRedirectWithMessage($this->settings['base_url'] . $this->form_code . '&do=applications_overview');
}