本文整理汇总了PHP中IPSLib::fetchVersionNumber方法的典型用法代码示例。如果您正苦于以下问题:PHP IPSLib::fetchVersionNumber方法的具体用法?PHP IPSLib::fetchVersionNumber怎么用?PHP IPSLib::fetchVersionNumber使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPSLib
的用法示例。
在下文中一共展示了IPSLib::fetchVersionNumber方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: doExecute
//.........这里部分代码省略.........
$reg_end = "";
$unfinished_upgrade = 0;
$ipsNewsData = $this->cache->getCache('ipsNewsData');
if (!isset($ipsNewsData['time']) or $ipsNewsData['time'] < time() - 43200) {
$classToLoad = IPSLib::loadLibrary(IPS_KERNEL_PATH . 'classFileManagement.php', 'classFileManagement');
$classFileManagement = new $classToLoad();
if (strpos($this->settings['base_url'], 'https://') !== false) {
$ipsNewsData['news'] = $classFileManagement->getFileContents('https://external.ipslink.com/ipboard33/dashboard/index.php?v=' . ipsRegistry::$vn_full);
$ipsNewsData['vcheck'] = $classFileManagement->getFileContents('https://external.ipslink.com/latestversioncheck/ipb30x.php?' . base64_encode(ipsRegistry::$vn_full . '|^|' . $this->settings['board_url']));
} else {
$ipsNewsData['news'] = $classFileManagement->getFileContents('http://external.ipslink.com/ipboard33/dashboard/index.php?v=' . ipsRegistry::$vn_full);
$ipsNewsData['vcheck'] = $classFileManagement->getFileContents('http://external.ipslink.com/latestversioncheck/ipb30x.php?' . base64_encode(ipsRegistry::$vn_full . '|^|' . $this->settings['board_url']));
}
$ipsNewsData['time'] = time();
$this->cache->setCache('ipsNewsData', $ipsNewsData, array('array' => 1));
}
//-----------------------------------------
// Get MySQL & PHP Version
//-----------------------------------------
$this->DB->getSqlVersion();
//-----------------------------------------
// Upgrade history?
//-----------------------------------------
$latest_version = array('upgrade_version_id' => NULL);
$this->DB->build(array('select' => '*', 'from' => 'upgrade_history', 'order' => 'upgrade_version_id DESC', 'limit' => array(1)));
$this->DB->execute();
while ($r = $this->DB->fetch()) {
$latest_version = $r;
}
//-----------------------------------------
// Resetting security image?
//-----------------------------------------
if ($this->request['reset_security_flag'] and $this->request['reset_security_flag'] == 1 and $this->request['new_build']) {
$_latest = IPSLib::fetchVersionNumber('core');
$new_build = intval($this->request['new_build']);
$new_reason = trim(substr($this->request['new_reason'], 0, 1));
$new_version = $_latest['long'] . '.' . $new_build . '.' . $new_reason;
$this->DB->update('upgrade_history', array('upgrade_notes' => $new_version), 'upgrade_version_id=' . $latest_version['upgrade_version_id']);
$latest_version['upgrade_notes'] = $new_version;
}
//-----------------------------------------
// Got real version number?
//-----------------------------------------
ipsRegistry::$version = 'v' . $latest_version['upgrade_version_human'];
ipsRegistry::$vn_full = !empty($latest_version['upgrade_notes']) ? $latest_version['upgrade_notes'] : ipsRegistry::$vn_full;
//-----------------------------------------
// Notepad
//-----------------------------------------
if ($this->request['save'] and $this->request['save'] == 1) {
$_POST['notes'] = $_POST['notes'] ? $_POST['notes'] : $this->lang->words['cp_acpnotes'];
$this->cache->setCache('adminnotes', IPSText::stripslashes($_POST['notes']), array('donow' => 1, 'array' => 0));
}
$text = $this->lang->words['cp_acpnotes'];
if (!$this->cache->getCache('adminnotes')) {
$this->cache->setCache('adminnotes', $text, array('donow' => 1, 'array' => 0));
}
$this->cache->updateCacheWithoutSaving('adminnotes', htmlspecialchars($this->cache->getCache('adminnotes'), ENT_QUOTES));
$this->cache->updateCacheWithoutSaving('adminnotes', str_replace("&#", "&#", $this->cache->getCache('adminnotes')));
$content['ad_notes'] = $this->html->acp_notes($this->cache->getCache('adminnotes'));
//-----------------------------------------
// ADMINS USING CP
//-----------------------------------------
$t_time = time() - 60 * 10;
$time_now = time();
$seen_name = array();
$acponline = "";
示例2: doExecute
/**
* Main class entry point
*
* @access public
* @param object ipsRegistry reference
* @return void [Outputs to screen]
*/
public function doExecute(ipsRegistry $registry)
{
//-----------------------------------------
// Load skin
//-----------------------------------------
$this->html = $this->registry->output->loadTemplate('cp_skin_mycp');
//-----------------------------------------
// Load language
//-----------------------------------------
$this->registry->getClass('class_localization')->loadLanguageFile(array('admin_mycp'));
//-----------------------------------------
// Set up stuff
//-----------------------------------------
$this->form_code = $this->html->form_code = 'module=mycp&section=dashboard';
$this->form_code_js = $this->html->form_code_js = 'module=mycp§ion=dashboard';
//-----------------------------------------
// INIT
//-----------------------------------------
define('IPS_NEWS_URL', 'http://external./globalfeeds/news/');
define('IPS_BULLETINS_URL', 'http://external./ipbfeeds/300/staffbulletin/');
define('IPS_VERSION_CHECK_URL', 'http://www./latestversioncheck/ipb30x.php');
$content = array();
$thiscontent = "";
$latest_version = array();
$reg_end = "";
$sm_install = 0;
$lock_file = 0;
$converter = 0;
$fulltext_a = 0;
$unfinished_upgrade = 0;
$urls = array('news' => IPS_NEWS_URL, 'keiths_bits' => IPS_BULLETINS_URL, 'version_check' => IPS_VERSION_CHECK_URL, 'blogs' => 'http://external./globalfeeds/blog/');
if (@file_exists(IPS_ROOT_PATH . 'install/index.php')) {
$sm_install = 1;
}
if (@file_exists(DOC_IPS_ROOT_PATH . 'cache/installer_lock.php')) {
$lock_file = 1;
}
if (@is_dir(IPS_ROOT_PATH . 'applications_addon/ips/convert/')) {
$converter = 1;
if (!@file_exists(DOC_IPS_ROOT_PATH . 'cache/converter_lock.php')) {
$converter = 2;
}
}
if ($this->DB->checkFulltextSupport()) {
if (!$this->DB->getFulltextStatus('posts')) {
$fulltext_a = 1;
}
}
require_once IPS_ROOT_PATH . '/setup/sources/base/setup.php';
$versions = IPSSetUp::fetchAppVersionNumbers('core');
if ($versions['current'][0] != $versions['latest'][0]) {
$unfinished_upgrade = 1;
}
//-----------------------------------------
// Get MySQL & PHP Version
//-----------------------------------------
$this->DB->getSqlVersion();
//-----------------------------------------
// Upgrade history?
//-----------------------------------------
$latest_version = array('upgrade_version_id' => NULL);
$this->DB->build(array('select' => '*', 'from' => 'upgrade_history', 'order' => 'upgrade_version_id DESC', 'limit' => array(1)));
$this->DB->execute();
while ($r = $this->DB->fetch()) {
$latest_version = $r;
}
//-----------------------------------------
// Resetting security image?
//-----------------------------------------
if ($this->request['reset_security_flag'] and $this->request['reset_security_flag'] == 1 and $this->request['new_build']) {
$_latest = IPSLib::fetchVersionNumber('core');
$new_build = intval($this->request['new_build']);
$new_reason = trim(substr($this->request['new_reason'], 0, 1));
$new_version = $_latest['long'] . '.' . $new_build . '.' . $new_reason;
$this->DB->update('upgrade_history', array('upgrade_notes' => $new_version), 'upgrade_version_id=' . $latest_version['upgrade_version_id']);
$latest_version['upgrade_notes'] = $new_version;
}
//-----------------------------------------
// Got real version number?
//-----------------------------------------
ipsRegistry::$version = 'v' . $latest_version['upgrade_version_human'];
ipsRegistry::$vn_full = (isset($latest_version['upgrade_notes']) and $latest_version['upgrade_notes']) ? $latest_version['upgrade_notes'] : ipsRegistry::$vn_full;
//-----------------------------------------
// Licensed?
//-----------------------------------------
$urls['keiths_bits'] = IPS_BULLETINS_URL . '?v=' . ipsRegistry::$vn_full;
//-----------------------------------------
// Notepad
//-----------------------------------------
if ($this->request['save'] and $this->request['save'] == 1) {
$_POST['notes'] = $_POST['notes'] ? $_POST['notes'] : $this->lang->words['cp_acpnotes'];
$this->cache->setCache('adminnotes', IPSText::stripslashes($_POST['notes']), array('donow' => 1, 'deletefirst' => 0, 'array' => 0));
}
//.........这里部分代码省略.........
示例3: importFromCacheFiles
/**
* Builds the language db entries from cache
*
* @param boolean return as normal
* @return @e void
* @author Josh
*/
public function importFromCacheFiles($returnAsNormal = TRUE)
{
//-----------------------------------------
// INIT
//-----------------------------------------
$msg = array();
$lang_id = 1;
$LATESTVERSION = IPSLib::fetchVersionNumber();
//-----------------------------------------
// Check
//-----------------------------------------
if (!is_array($_POST['apps'])) {
$this->registry->output->global_message = $this->lang->words['l_noapp'];
$this->languagesList();
return;
}
//-----------------------------------------
// Loop through apps...
//-----------------------------------------
foreach (ipsRegistry::$applications as $app => $app_data) {
if (in_array($app, $_POST['apps'])) {
//-----------------------------------------
// Get directory
//-----------------------------------------
$_dir = IPS_CACHE_PATH . 'cache/lang_cache/master_lang/';
//-----------------------------------------
// Go through directories
//-----------------------------------------
if (is_dir($_dir)) {
$dh = opendir($_dir);
while ($f = readdir($dh)) {
if ($f[0] == '.' || $f == 'index.html') {
continue;
}
if (preg_match("#^" . $app . '_\\S+?\\.php$#', $f)) {
//-----------------------------------------
// INIT
//-----------------------------------------
$updated = 0;
$inserted = 0;
$word_pack = preg_replace("#^" . $app . '_(\\S+?)\\.php$#', "\\1", $f);
$lang = array();
$db_lang = array();
//-----------------------------------------
// Delete current language bits
//-----------------------------------------
$this->DB->delete('core_sys_lang_words', "lang_id=1 AND word_app='" . $app . "' AND word_pack='" . $word_pack . "'");
if (IPS_IS_SHELL) {
$stdout = fopen('php://stdout', 'w');
fwrite($stdout, 'Processing: ' . $f . "\n");
fclose($stdout);
}
require $_dir . $f;
/*noLibHook*/
//-----------------------------------------
// Loop
//-----------------------------------------
foreach ($lang as $k => $v) {
$inserted++;
$insert = array('lang_id' => $lang_id, 'word_app' => $app, 'word_pack' => $word_pack, 'word_key' => $k, 'word_default' => IPSText::encodeForXml($v), 'word_default_version' => $LATESTVERSION['long'], 'word_js' => 0);
$this->DB->insert('core_sys_lang_words', $insert);
}
$msg[] = sprintf($this->lang->words['indev_lang_import'], $f, $inserted, $updated);
} else {
if (preg_match('/(\\.js)$/', $f) and $app == 'core') {
$_js_word_pack = '';
if ($f == 'ipb.lang.js') {
$_js_word_pack = 'public_js';
} else {
if ($f == 'acp.lang.js') {
$_js_word_pack = 'admin_js';
}
}
//-----------------------------------------
// Delete current words for this app and word pack
//-----------------------------------------
$this->DB->delete('core_sys_lang_words', "lang_id=1 AND word_app='" . $app . "' AND word_pack='" . $_js_word_pack . "'");
if (IPS_IS_SHELL) {
$stdout = fopen('php://stdout', 'w');
fwrite($stdout, 'Processing: ' . $f . "\n");
fclose($stdout);
}
//-----------------------------------------
// Get each line
//-----------------------------------------
$js_file = file($_dir . $f);
//-----------------------------------------
// Loop through lines and import
//-----------------------------------------
foreach ($js_file as $r) {
//-----------------------------------------
// preg_match what we want
//-----------------------------------------
//.........这里部分代码省略.........
示例4: fetchRedirects
//.........这里部分代码省略.........
$_RESET['app'] = 'forums';
$_RESET['module'] = 'forums';
$_RESET['section'] = 'forums';
$_RESET['showforum'] = intval($_REQUEST['showforum']);
$_RESET['f'] = intval($_REQUEST['showforum']);
}
# TOPIC
if (!empty($_REQUEST['showtopic']) or isset($_REQUEST['act']) and $_REQUEST['act'] == 'ST') {
$_RESET['app'] = 'forums';
$_RESET['module'] = 'forums';
$_RESET['section'] = 'topics';
if (!$_REQUEST['t']) {
$_RESET['t'] = intval($_REQUEST['showtopic']);
} else {
if ($_REQUEST['t'] and !$_REQUEST['showtopic']) {
$_RESET['showtopic'] = intval($_REQUEST['t']);
}
}
}
if (isset($_REQUEST['act']) && $_REQUEST['act'] == 'findpost' || !empty($_REQUEST['findpost'])) {
$_RESET['pid'] = intval($_REQUEST['pid'] ? $_REQUEST['pid'] : $_REQUEST['findpost']);
$_RESET['app'] = 'forums';
$_RESET['module'] = 'forums';
$_RESET['section'] = 'findpost';
}
# PROFILE
if (isset($_REQUEST['showuser'])) {
$_RESET['app'] = 'members';
$_RESET['module'] = 'profile';
$_RESET['section'] = 'view';
$_RESET['id'] = intval($_REQUEST['showuser']);
}
if (isset($_REQUEST['act']) && $_REQUEST['act'] == 'members') {
$_RESET['app'] = 'members';
$_RESET['module'] = 'list';
}
# RSS
if (isset($_GET['act']) && $_GET['act'] == 'rss' && !empty($_GET['id'])) {
$_RESET['app'] = 'core';
$_RESET['module'] = 'global';
$_RESET['section'] = 'rss';
$_RESET['type'] = 'forums';
}
# Redirect IPN URLs to IP.Nexus / IP.Subscriptions
if (isset($_REQUEST['act']) and $_REQUEST['act'] == 'paysubs' or isset($_REQUEST['app']) and $_REQUEST['app'] == 'subscriptions') {
/* Brute force allow access */
if (!defined('IPS_ENFORCE_ACCESS')) {
define('IPS_ENFORCE_ACCESS', TRUE);
}
$_RESET['old'] = '1';
// If Nexus is installed, go to Nexus
$subs_version = IPSLib::fetchVersionNumber('subscriptions');
if (IPSLib::extractAppLocationKey('nexus') == 'ips' && $subs_version['long'] < 10008) {
$_RESET['app'] = 'nexus';
$_RESET['module'] = 'payments';
$_RESET['section'] = 'receive';
$_RESET['validate'] = 'paypal';
} else {
$_RESET['app'] = 'subscriptions';
if (isset($_REQUEST['CODE'])) {
if ($_REQUEST['CODE'] == 'incoming') {
$_RESET['module'] = 'incoming';
$_RESET['section'] = 'receive';
$_RESET['do'] = 'validate';
} else {
if ($_REQUEST['CODE'] == 'paydone') {
$_RESET['module'] = 'incoming';
$_RESET['section'] = 'receive';
$_RESET['do'] = 'done';
} else {
$_RESET['do'] = $_REQUEST['CODE'];
}
}
}
}
}
#Fix IP.Board 2.1 style module links
if (isset($_REQUEST['act']) && $_REQUEST['act'] == 'module' && isset($_REQUEST['module'])) {
$_REQUEST['autocom'] = $_REQUEST['module'];
}
if (isset($_REQUEST['cmd'])) {
$_RESET['req'] = $_REQUEST['cmd'];
}
# ALL
if (!isset($_REQUEST['do']) and (isset($_REQUEST['CODE']) or isset($_REQUEST['code']))) {
$_RESET['do'] = $_REQUEST['CODE'] ? $_REQUEST['CODE'] : $_REQUEST['code'];
}
if (isset($_REQUEST['autocom']) or isset($_REQUEST['automodule'])) {
$_RESET['app'] = $_REQUEST['autocom'] ? $_REQUEST['autocom'] : $_REQUEST['automodule'];
} else {
if (isset($_GET['autocom']) or isset($_GET['automodule'])) {
$_RESET['app'] = $_GET['autocom'] ? $_GET['autocom'] : $_GET['automodule'];
}
}
# Calendar
if (isset($_REQUEST['act']) && $_REQUEST['act'] == 'calendar') {
$_RESET['app'] = 'calendar';
}
return $_RESET;
}
示例5: versionNumbersRecache
/**
* Recache main version number
*
* @return @e void
*/
public function versionNumbersRecache()
{
$numbers = IPSLib::fetchVersionNumber();
$this->cache->setCache('vnums', $numbers, array('array' => 1, 'donow' => 1));
}
示例6: createSession
/**
* Create new session
*
* @access public
* @param int Template set ID to run merge on
* @return int New session ID
*
* Exception Codes
* NO_SET No such skin set
* NO_PREVIOUS No previous data found
*/
public function createSession($setId)
{
/* INIT */
$templates = array();
$css = array();
$skinData = $this->fetchSkinData($setId);
/* Quick test */
if (!$skinData['set_id']) {
throw new Exception('NO_SET');
}
/* Got a master key? */
$skinData['set_master_key'] = $skinData['set_master_key'] ? $skinData['set_master_key'] : 'root';
/* Fetch version ID of previous elements */
$previous = $this->DB->buildAndFetch(array('select' => 'p_template_long_version', 'from' => 'skin_templates_previous', 'order' => 'p_template_long_version DESC', 'limit' => array(0, 1)));
/* Got any previous data? */
if (!$previous['p_template_long_version']) {
throw new Exception('NO_PREVIOUS');
}
/* Delete all previous with this set ID */
$this->DB->build(array('select' => 'merge_id', 'from' => 'skin_merge_session', 'where' => 'merge_set_id=' . $setId));
$o = $this->DB->execute();
while ($row = $this->DB->fetch($o)) {
$this->removeSession($row['merge_id']);
}
/* Now grab master elements based on root key data */
$tCount = 0;
$templates = $this->fetchTemplates($skinData['set_master_key'], 'allNoContent');
$css = $this->fetchCSS($skinData['set_master_key'], false);
/* Get correct count of templates */
foreach ($templates as $group => $data) {
$tCount += count($templates[$group]);
}
/* Grab current version numbers */
$cVersion = IPSLib::fetchVersionNumber();
/* Create session */
$this->DB->insert('skin_merge_session', array('merge_date' => time(), 'merge_set_id' => $setId, 'merge_master_key' => $skinData['set_master_key'], 'merge_old_version' => $previous['p_template_long_version'], 'merge_new_version' => $cVersion['long'], 'merge_templates_togo' => $tCount, 'merge_css_togo' => intval(count($css)), 'merge_templates_done' => 0, 'merge_css_done' => 0));
$diffSesssionID = $this->DB->getInsertId();
return $diffSesssionID;
}
示例7: _importSet
/**
* Import an XMLarchive skin set
*
* @return string HTML to show
*/
protected function _importSet()
{
$importName = trim($this->request['importName']);
$importUpgrade = intval($this->request['importUpgrade']) ? TRUE : FALSE;
$importLocation = trim($this->request['importLocation']);
$imageDir = trim($this->request['importImgDirs']);
$checkVersion = trim($this->request['noVersionCheck']) ? FALSE : TRUE;
//-----------------------------------------
// Attempt to get contents
//-----------------------------------------
if ($checkVersion) {
try {
$content = $this->registry->adminFunctions->importXml($importLocation);
} catch (Exception $e) {
$this->registry->output->showError($e->getMessage());
}
} else {
$_c = $this->DB->buildAndFetch(array('select' => 'cs_value', 'from' => 'cache_store', 'where' => 'cs_key=\'_importSkinContent_\''));
$content = $_c['cs_value'];
}
if ($content) {
/* Checking versions? */
if ($checkVersion) {
$this->DB->delete('cache_store', 'cs_key=\'_importSkinContent_\'');
preg_match('#ipbLongVersion=\\"(\\d+?)\\"\\s+?ipbHumanVersion=\\"([\\d\\.\\-\\_]+?)\\"#i', $content, $matches);
if ($matches[1] and $matches[2]) {
$_version = IPSLib::fetchVersionNumber();
/* Long version is in format of 31001 (Major Minor X X X) we'll just check majorminor */
$_importMajor = substr($matches[1], 0, 2);
$_currentMajor = substr($_version['long'], 0, 2);
if ($_importMajor < $_currentMajor) {
/* Store it */
$this->DB->insert('cache_store', array('cs_key' => '_importSkinContent_', 'cs_value' => $content));
/* Generate continue link */
$link = $this->settings['base_url'] . '&noVersionCheck=1&' . http_build_query($this->request);
/* Show form */
$this->registry->output->global_error = sprintf($this->lang->words['ie_importfail_old_version'], $matches[2], $_version['human'], $link);
return $this->_showForm();
}
}
}
$added = $this->skinFunctions->importSetXMLArchive($content, 0, $imageDir, $importName, $importUpgrade);
$message = $added['upgrade'] ? $this->lang->words['ie_set_upgraded'] : $this->lang->words['ie_set_imported'];
$this->registry->output->global_message = sprintf($message, $added['templates'], $added['replacements'], $added['css']);
$this->registry->output->silentRedirectWithMessage($this->settings['base_url'] . 'module=templates§ion=importexport&do=overview');
} else {
$this->registry->output->global_error = $this->lang->words['ie_importfail_no'];
return $this->_showForm();
}
}
示例8: generateInfoXML
/**
* Generate XML Information data file
*
* @access public
* @param int Set ID
* @return string XML
*/
public function generateInfoXML($setID = 0)
{
//-----------------------------------------
// INIT
//-----------------------------------------
$data = array();
$setData = $this->fetchSkinData($setID);
$version = IPSLib::fetchVersionNumber();
//-----------------------------------------
// Grab the XML parser
//-----------------------------------------
require_once IPS_KERNEL_PATH . 'classXML.php';
/*noLibHook*/
$xml = new classXML(IPS_DOC_CHAR_SET);
//-----------------------------------------
// Loop through...
//-----------------------------------------
$xml->newXMLDocument();
$xml->addElement('info');
$xml->addElementAsRecord('info', 'data', array('set_name' => $setData['set_name'], 'set_key' => $setData['set_key'], 'set_author_name' => $setData['set_author_name'], 'set_author_url' => $setData['set_author_url'], 'set_output_format' => $setData['set_output_format'], 'set_master_key' => $setData['set_master_key'], 'ipb_human_version' => $version['human'], 'ipb_long_version' => $version['long'], 'ipb_major_version' => '3'));
return $xml->fetchDocument();
}