本文整理汇总了PHP中IPSSetUp::is300plus方法的典型用法代码示例。如果您正苦于以下问题:PHP IPSSetUp::is300plus方法的具体用法?PHP IPSSetUp::is300plus怎么用?PHP IPSSetUp::is300plus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IPSSetUp
的用法示例。
在下文中一共展示了IPSSetUp::is300plus方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: preInstallOptionsForm
/**
* Add pre-upgrade options: Form
*
* @return string HTML block
*/
public function preInstallOptionsForm()
{
$_wrapper = "<ul>%s</ul>";
$_html = '';
$posts = $this->DB->buildAndFetch(array('select' => 'count(*) as total', 'from' => 'posts'));
// Is 3.1?
if (IPSSetUp::is300plus() && !IPSSetUp::is320plus()) {
// Got more than 100K posts?
if ($posts['total'] > 100000 && !$this->DB->checkForField('post_field_int', 'posts')) {
$_html .= <<<EOF
\t\t<li>
\t\t\t<input type='checkbox' name='manualPostsTableQuery' value='1' checked='checked' />
\t\t\tManually apply changes to the posts table? Your site has more than 100,000 posts. We <b>strongly recommend</b> that you enable this option and manually run the provided
\t\t\tSQL query to alter your posts table in order to prevent timeouts in the web-based upgrader. If you uncheck this option, it is very possible the upgrader will timeout attempting to
\t\t\tupdate your posts table.
\t\t</li>
EOF;
}
}
$_html .= <<<EOF
\t\t<li>
\t\t\t<input type='checkbox' name='flagBanned' value='1' checked='checked' />
\t\t\t<strong>Flag all members in the Banned member group as banned</strong><br />
\t\t\t3.3.0 removes the need for a specific Banned Group and uses the built in 'flag' on a per-member basis. However, unless you choose to update all
\t\t\tmembers in the current Banned Group as 'banned' they may not appear when searching for banned members in the ACP.
\t\t\t<br />We recommend you keep this box ticked
\t\t</li>
EOF;
if ($_html) {
return sprintf($_wrapper, $_html);
} else {
return '';
}
}
示例2: preInstallOptionsForm
/**
* Add pre-upgrade options: Form
*
* @return string HTML block
*/
public function preInstallOptionsForm()
{
$_wrapper = "<ul>%s</ul>";
$_html = '';
$posts = $this->DB->buildAndFetch(array('select' => 'count(*) as total', 'from' => 'posts'));
// Is 3.1?
if (IPSSetUp::is300plus() && !IPSSetUp::is320plus()) {
// Got more than 100K posts?
if ($posts['total'] > 100000 && !$this->DB->checkForField('post_field_int', 'posts')) {
$_html .= <<<EOF
\t\t<li>
\t\t\t<input type='checkbox' name='manualPostsTableQuery' value='1' checked='checked' />
\t\t\tВнести изменения в структуру таблицы Posts вручную? На вашем форуме более 100,000 сообщений. Мы <b>настоятельно рекомендуем</b> вам включить данную опцию и самостоятельно выполнить
\t\t\tSQL запросы для обновления таблицы сообщений. Если вы отключите данную опцию существует большая вероятность того, что мастер обновления не сможет обновить форум.
\t\t</li>
EOF;
}
}
$_html .= <<<EOF
\t\t<li>
\t\t\t<input type='checkbox' name='flagBanned' value='1' checked='checked' />
\t\t\t<strong>Отметить всех пользователей из группы "Забаненные", как забаненных</strong><br />
\t\t\tВ 3.3.0 удалена отдельная группа для заблокированных, теперь проверка осуществляется на основе метки для каждого пользователя. Возможно, что часть пользователей, отмеченных как
\t\t\tзабаненные, в результате такого переноса, не будут находится поиском в админ-центре при применении фильтра поиска по заблокированным.
\t\t\t<br />Мы рекомендуем воспользоваться этой опцией.
\t\t</li>
EOF;
if ($_html) {
return sprintf($_wrapper, $_html);
} else {
return '';
}
}
示例3: doExecute
/**
* Execute selected method
*
* @access public
* @param object Registry object
* @return @e void
*/
public function doExecute(ipsRegistry $registry)
{
/* If less than 3, just bounce out as settings tables won't be here, etc */
if (IPSSetUp::is300plus() !== TRUE) {
$this->registry->autoLoadNextAction('upgrade');
return;
}
if ($this->request['do'] == 'check') {
$lcheck = $this->check();
if ($lcheck === TRUE) {
$this->registry->autoLoadNextAction('upgrade');
return;
}
} else {
$lcheck = $this->check(TRUE);
if ($lcheck === TRUE) {
$this->registry->autoLoadNextAction('upgrade');
return;
}
}
$this->registry->output->setTitle("License Key");
$this->registry->output->setNextAction("license&do=check");
$this->registry->output->addContent($this->registry->output->template()->page_license($lcheck));
$this->registry->output->sendOutput();
}
示例4: doExecute
/**
* Execute selected method
*
* @access public
* @param object Registry object
* @return @e void
*/
public function doExecute(ipsRegistry $registry)
{
/* Delete sessions and continue */
if ($this->request['do'] == 'rsessions') {
IPSSetUp::removePreviousSession();
}
/* Rebuild from last session and continue */
if ($this->request['do'] == 'rcontinue') {
$oldSession = IPSSetUp::checkForPreviousSessions();
if (count($oldSession) and $oldSession['_session_get']['section'] and $oldSession['_sd']['install_apps']) {
IPSSetUp::restorePreviousSession($oldSession);
exit;
}
}
/* Check for failed upgrade */
if (!$this->request['do'] or $this->request['do'] != 'rsessions') {
$oldSession = IPSSetUp::checkForPreviousSessions();
if (count($oldSession) and $oldSession['_session_get']['section'] and $oldSession['_sd']['install_apps']) {
/* Page Output */
$this->registry->output->setTitle("Applications");
$this->registry->output->setNextAction('apps&do=rsessions');
//$this->registry->output->setHideButton( TRUE );
$this->registry->output->addContent($this->registry->output->template()->upgrade_previousSession($oldSession));
$this->registry->output->sendOutput();
}
}
/* Save data */
if ($this->request['do'] == 'save') {
$apps = explode(',', IPSSetUp::getSavedData('install_apps'));
$toSave = array();
$vNums = array();
if (is_array($apps) and count($apps)) {
foreach ($apps as $app) {
/* Grab version numbers */
$numbers = IPSSetUp::fetchAppVersionNumbers($app);
/* Grab all numbers */
$nums[$app] = IPSSetUp::fetchXmlAppVersions($app);
/* Grab app data */
$appData[$app] = IPSSetUp::fetchXmlAppInformation($app, $this->settings['gb_char_set']);
$appClasses[$app] = IPSSetUp::fetchVersionClasses($app, $numbers['current'][0], $numbers['latest'][0]);
/* Store starting vnums */
$vNums[$app] = $numbers['current'][0];
}
/* Got anything? */
if (count($appClasses)) {
foreach ($appClasses as $app => $data) {
foreach ($data as $num) {
if (is_file(IPSLib::getAppDir($app) . '/setup/versions/upg_' . $num . '/version_class.php')) {
$_class = 'version_class_' . $app . '_' . $num;
require_once IPSLib::getAppDir($app) . '/setup/versions/upg_' . $num . '/version_class.php';
/*noLibHook*/
$_tmp = new $_class($this->registry);
if (method_exists($_tmp, 'preInstallOptionsSave')) {
$_t = $_tmp->preInstallOptionsSave();
if (is_array($_t) and count($_t)) {
$toSave[$app][$num] = $_t;
}
}
}
}
}
/* Save it */
if (count($toSave)) {
IPSSetUp::setSavedData('custom_options', $toSave);
}
if (count($vNums)) {
IPSSetUp::setSavedData('version_numbers', $vNums);
}
}
}
/* Next Action */
$this->registry->autoLoadNextAction('license');
} else {
if ($this->request['do'] == 'check') {
/* Check Directory */
if (!is_array($_POST['apps']) or !count($_POST['apps'])) {
/* We use 'warning' because it has same effect but does not block the 'next' button (which they'll want to use after selecting an app when page reloads) */
$this->registry->output->addWarning('You must select to upgrade at least one application');
} else {
/* If it's lower than 3.0.0, then add in the removed apps */
if (IPSSetUp::is300plus() !== TRUE) {
$_POST['apps']['forums'] = 1;
$_POST['apps']['members'] = 1;
$_POST['apps']['calendar'] = 1;
$_POST['apps']['chat'] = 1;
} else {
if ($_POST['apps']['core']) {
$_POST['apps']['forums'] = 1;
$_POST['apps']['members'] = 1;
}
}
/* Save Form Data */
IPSSetUp::setSavedData('install_apps', implode(',', array_keys($_POST['apps'])));
//.........这里部分代码省略.........
示例5: install_appclass
/**
* Runs the upgrade specific file
*
* @return void
*/
public function install_appclass()
{
/* INIT */
$continue = 0;
$customHTML = '';
$file = '';
/* Reset Errors */
$this->_resetErrors();
/* IPB 2.0.0+ Upgrade file */
$fileNewer = IPSLib::getAppDir($this->_currentApp) . '/setup/versions/upg_' . $this->_uipLong . '/version_upgrade.php';
/* Older files */
$fileLegacy = IPSLib::getAppDir($this->_currentApp) . '/setup/versions/upg_' . $this->_uipLong . '/version_upgrade_' . $this->_dbDriver . '.php';
/* Got any file? */
if (is_file($fileNewer)) {
$file = $fileNewer;
} else {
if (is_file($fileLegacy)) {
$file = $fileLegacy;
}
}
/* Do we have a file? */
if ($file) {
require_once $file;
/*noLibHook*/
$upgrade = new version_upgrade();
$result = $upgrade->doExecute($this->registry);
if (count($this->registry->output->fetchWarnings()) > 0) {
if (!$result) {
$this->registry->output->setNextAction('upgrade&do=appclass');
} elseif ($this->_uipLong >= $this->_latestLong || $this->_uipLong == 0) {
/* Got another app to do? */
$this->runCustomScript($this->_currentApp);
$next = IPSSetUp::fetchNextApplication($this->_currentApp, '', $this->settings['gb_char_set']);
if ($next['key']) {
$this->registry->output->setNextAction('upgrade&do=sql&appdir=' . $next['key']);
} else {
$this->registry->output->setNextAction('upgrade&do=checkdb');
}
} else {
$this->registry->output->setNextAction('upgrade&do=sql');
}
$this->registry->output->setTitle("Обновление: Обновление версии");
$this->registry->output->sendOutput();
}
/* App specific version upgrade is done */
if ($result) {
/* The individual upgrade files all shoot you to 2.0... */
if ($this->_currentApp == 'core' and $this->_uipLong < 20000) {
//$this->_uipLong = '10004';
}
/* Update version history */
if (IPSSetUp::is300plus() === TRUE) {
$this->DB->insert('upgrade_history', array('upgrade_version_id' => $this->_uipLong, 'upgrade_version_human' => $this->_uipHuman, 'upgrade_date' => time(), 'upgrade_app' => $this->_currentApp, 'upgrade_notes' => '', 'upgrade_mid' => 0));
/* Update app */
$_in = $this->_currentApp == 'core' ? "'core', 'forums', 'members'" : "'" . $this->_currentApp . "'";
$this->DB->update('core_applications', array('app_long_version' => $this->_uipLong, 'app_version' => $this->_uipHuman, 'app_website' => $this->_appData['website'], 'app_update_check' => $this->_appData['update_check']), 'app_directory IN (' . $_in . ')');
} else {
$this->DB->insert('upgrade_history', array('upgrade_version_id' => $this->_uipLong, 'upgrade_version_human' => $this->_uipHuman, 'upgrade_date' => time(), 'upgrade_notes' => '', 'upgrade_mid' => 0));
}
if ($upgrade->fetchOutput()) {
$customHTML = $upgrade->fetchOutput();
} else {
$output[] = "Успешно обновлено до версии {$this->_uipHuman}";
}
} else {
if ($upgrade->fetchOutput()) {
$customHTML = $upgrade->fetchOutput();
} else {
$output[] = "Продолжение обновления";
}
$continue = 1;
}
} else {
/* Nothing to run */
if ($this->_uipLong) {
/* Update version history */
if (IPSSetUp::is300plus() === TRUE) {
$this->DB->insert('upgrade_history', array('upgrade_version_id' => $this->_uipLong, 'upgrade_version_human' => $this->_uipHuman, 'upgrade_date' => time(), 'upgrade_app' => $this->_currentApp, 'upgrade_notes' => '', 'upgrade_mid' => 0));
/* Update app */
$_in = $this->_currentApp == 'core' ? "'core', 'forums', 'members'" : "'" . $this->_currentApp . "'";
$updateApp = array('app_long_version' => $this->_uipLong, 'app_version' => $this->_uipHuman);
/* Check only 1 field since we add both at the same time anyway */
if ($this->DB->checkForField('app_website', 'core_applications')) {
$updateApp['app_website'] = $this->_appData['website'];
$updateApp['app_update_check'] = $this->_appData['update_check'];
}
$this->DB->update('core_applications', $updateApp, 'app_directory IN (' . $_in . ')');
} else {
$this->DB->insert('upgrade_history', array('upgrade_version_id' => $this->_uipLong, 'upgrade_version_human' => $this->_uipHuman, 'upgrade_date' => time(), 'upgrade_notes' => '', 'upgrade_mid' => 0));
}
$output[] = "Успешно обновлено до версии {$this->_uipHuman}";
}
}
//-----------------------------------------
// Next...
//.........这里部分代码省略.........
示例6: init
/**
* Initiate the registry
*
* @access public
* @return @e void
*/
public static function init()
{
if (self::$initiated === TRUE) {
return FALSE;
}
self::$initiated = TRUE;
/* Log current upgrade step */
self::logUpgradeStep();
/* Load static classes */
require IPS_ROOT_PATH . "sources/base/core.php";
/*noLibHook*/
require IPS_ROOT_PATH . "sources/base/ipsMember.php";
/*noLibHook*/
require_once IPS_ROOT_PATH . "setup/sources/base/setup.php";
/*noLibHook*/
/* Load conf global and set up DB */
if (IPS_IS_UPGRADER) {
if (!is_file(DOC_IPS_ROOT_PATH . "conf_global.php")) {
print "Cannot locate: " . DOC_IPS_ROOT_PATH . "conf_global.php";
exit;
}
self::loadConfGlobal();
/* Got settings? */
if (!ipsRegistry::$settings['sql_driver']) {
print "Settings not loaded from: " . DOC_IPS_ROOT_PATH . "conf_global.php - did you mean to install?";
exit;
}
self::setDBHandle();
} else {
/* Ensure char set is defined */
if (!defined('IPS_DOC_CHAR_SET')) {
define('IPS_DOC_CHAR_SET', strtoupper(IPSSetUp::charSet));
}
if (!defined('IPS_CACHE_PATH')) {
define('IPS_CACHE_PATH', DOC_IPS_ROOT_PATH);
}
require IPS_ROOT_PATH . "setup/sources/base/install.php";
/*noLibHook*/
}
/* Input set up... */
if (is_array($_POST) and count($_POST)) {
foreach ($_POST as $key => $value) {
# Skip post arrays
if (!is_array($value)) {
$_POST[$key] = IPSText::stripslashes($value);
}
}
}
//-----------------------------------------
// Clean globals, first.
//-----------------------------------------
IPSLib::cleanGlobals($_GET);
IPSLib::cleanGlobals($_POST);
IPSLib::cleanGlobals($_COOKIE);
IPSLib::cleanGlobals($_REQUEST);
# GET first
$input = IPSLib::parseIncomingRecursively($_GET, array());
# Then overwrite with POST
self::$request = IPSLib::parseIncomingRecursively($_POST, $input);
# Assign request method
self::$request['request_method'] = strtolower(my_getenv('REQUEST_METHOD'));
self::_setUpAppData();
/* Make sure it's a string */
if (is_array(self::$request['section'])) {
self::$request['section'] = '';
}
/* Get caches */
self::$handles['caches'] = ips_CacheRegistry::instance();
if (IPS_IS_UPGRADER) {
/* Make sure all is well before we proceed */
self::instance()->setUpSettings();
/* Build module and application caches */
self::instance()->checkCaches();
/* Load 'legacy' systems */
$file = '';
if (IPSSetUp::is300plus() === TRUE) {
$file = '3xx.php';
} else {
if (IPSSetUp::is200plus() === TRUE) {
$file = '2xx.php';
} else {
$file = '1xx.php';
}
}
require_once IPS_ROOT_PATH . 'setup/sources/legacy/' . $file;
/*noLibHook*/
self::instance()->setClass('legacy', new upgradeLegacy(self::instance()));
}
/* Set up member */
self::$handles['member'] = ips_MemberRegistry::instance();
# Thaw saved data
IPSSetUp::thawSavedData();
/* Gather other classes */
require_once IPS_ROOT_PATH . 'setup/sources/classes/output/output.php';
//.........这里部分代码省略.........
示例7: doExecute
/**
* Execute selected method
*
* @access public
* @param object Registry object
* @return void
*/
public function doExecute(ipsRegistry $registry)
{
/* Save data */
if ($this->request['do'] == 'save') {
$apps = explode(',', IPSSetUp::getSavedData('install_apps'));
$toSave = array();
$vNums = array();
if (is_array($apps) and count($apps)) {
foreach ($apps as $app) {
/* Grab version numbers */
$numbers = IPSSetUp::fetchAppVersionNumbers($app);
/* Grab all numbers */
$nums[$app] = IPSSetUp::fetchXmlAppVersions($app);
/* Grab app data */
$appData[$app] = IPSSetUp::fetchXmlAppInformation($app);
$appClasses[$app] = IPSSetUp::fetchVersionClasses($app, $numbers['current'][0], $numbers['latest'][0]);
/* Store starting vnums */
$vNums[$app] = $numbers['current'][0];
}
/* Got anything? */
if (count($appClasses)) {
foreach ($appClasses as $app => $data) {
foreach ($data as $num) {
if (file_exists(IPSLib::getAppDir($app) . '/setup/versions/upg_' . $num . '/version_class.php')) {
$_class = 'version_class_' . $num;
require_once IPSLib::getAppDir($app) . '/setup/versions/upg_' . $num . '/version_class.php';
$_tmp = new $_class($this->registry);
if (method_exists($_tmp, 'preInstallOptionsSave')) {
$_t = $_tmp->preInstallOptionsSave();
if (is_array($_t) and count($_t)) {
$toSave[$app][$num] = $_t;
}
}
}
}
}
/* Save it */
if (count($toSave)) {
IPSSetUp::setSavedData('custom_options', $toSave);
}
if (count($vNums)) {
IPSSetUp::setSavedData('version_numbers', $vNums);
}
}
}
/* Next Action */
$this->registry->autoLoadNextAction('upgrade');
} else {
if ($this->request['do'] == 'check') {
/* Check Directory */
if (!is_array($_POST['apps']) or !count($_POST['apps'])) {
$this->registry->output->addError('You must select to upgrade at least one application');
} else {
/* If it's lower than 3.0.0, then add in the removed apps */
if (IPSSetUp::is300plus() !== TRUE) {
$_POST['apps']['forums'] = 1;
$_POST['apps']['members'] = 1;
$_POST['apps']['calendar'] = 1;
$_POST['apps']['chat'] = 1;
$_POST['apps']['portal'] = 1;
//$_POST['apps']['subscriptions'] = 1;
} else {
if ($_POST['apps']['core']) {
$_POST['apps']['forums'] = 1;
$_POST['apps']['members'] = 1;
}
}
/* Save Form Data */
IPSSetUp::setSavedData('install_apps', implode(',', array_keys($_POST['apps'])));
/* Got any app-version classes? */
$appClasses = array();
$output = array();
$nums = array();
$appData = array();
foreach ($_POST['apps'] as $app => $val) {
/* Grab version numbers */
$numbers = IPSSetUp::fetchAppVersionNumbers($app);
/* Grab all numbers */
$nums[$app] = IPSSetUp::fetchXmlAppVersions($app);
/* Grab app data */
$appData[$app] = IPSSetUp::fetchXmlAppInformation($app);
$appClasses[$app] = IPSSetUp::fetchVersionClasses($app, $numbers['current'][0], $numbers['latest'][0]);
}
/* Got anything? */
if (count($appClasses)) {
foreach ($appClasses as $app => $data) {
foreach ($data as $num) {
if (file_exists(IPSLib::getAppDir($app) . '/setup/versions/upg_' . $num . '/version_class.php')) {
$_class = 'version_class_' . $num;
require_once IPSLib::getAppDir($app) . '/setup/versions/upg_' . $num . '/version_class.php';
$_tmp = new $_class($this->registry);
if (method_exists($_tmp, 'preInstallOptionsForm')) {
$_t = $_tmp->preInstallOptionsForm();
//.........这里部分代码省略.........
示例8: install_appclass
/**
* Runs the upgrade specific file
*
* @return void
*/
public function install_appclass()
{
/* INIT */
$continue = 0;
$customHTML = '';
$file = '';
/* Reset Errors */
$this->_resetErrors();
/* IPB 2.0.0+ Upgrade file */
$fileNewer = IPSLib::getAppDir($this->_currentApp) . '/setup/versions/upg_' . $this->_uipLong . '/version_upgrade.php';
/* Older files */
$fileLegacy = IPSLib::getAppDir($this->_currentApp) . '/setup/versions/upg_' . $this->_uipLong . '/version_upgrade_' . $this->_dbDriver . '.php';
/* Got any file? */
if (file_exists($fileNewer)) {
$file = $fileNewer;
} else {
if (file_exists($fileLegacy)) {
$file = $fileLegacy;
}
}
/* Do we have a file? */
if ($file) {
require_once $file;
$upgrade = new version_upgrade();
$result = $upgrade->doExecute($this->registry);
if (count($this->registry->output->fetchWarnings()) > 0) {
if (!$result) {
$this->registry->output->setNextAction('upgrade&do=appclass');
} elseif ($this->_uipLong >= $this->_latestLong || $this->_uipLong == 0) {
/* Got another app to do? */
$next = IPSSetUp::fetchNextApplication($this->_currentApp);
if ($next['key']) {
$this->registry->output->setNextAction('upgrade&do=sql&appdir=' . $next['key']);
} else {
$this->registry->output->setNextAction('upgrade&do=checkdb');
}
} else {
$this->registry->output->setNextAction('upgrade&do=sql');
}
$this->registry->output->setTitle("Upgrade: Version Upgrade");
$this->registry->output->sendOutput();
}
/* App specific version upgrade is done */
if ($result) {
/* The individual upgrade files all shoot you to 2.0... */
if ($this->_currentApp == 'core' and $this->_uipLong < 20000) {
//$this->_uipLong = '10004';
}
/* Update version history */
if (IPSSetUp::is300plus() === TRUE) {
$this->DB->insert('upgrade_history', array('upgrade_version_id' => $this->_uipLong, 'upgrade_version_human' => $this->_uipHuman, 'upgrade_date' => time(), 'upgrade_app' => $this->_currentApp, 'upgrade_mid' => 0));
/* Update app */
$_in = $this->_currentApp == 'core' ? "'core', 'forums', 'members'" : "'" . $this->_currentApp . "'";
$this->DB->update('core_applications', array('app_long_version' => $this->_uipLong, 'app_version' => $this->_uipHuman), 'app_directory IN (' . $_in . ')');
} else {
$this->DB->insert('upgrade_history', array('upgrade_version_id' => $this->_uipLong, 'upgrade_version_human' => $this->_uipHuman, 'upgrade_date' => time(), 'upgrade_mid' => 0));
}
if ($upgrade->fetchOutput()) {
$customHTML = $upgrade->fetchOutput();
} else {
$output[] = "Successfully upgraded to version {$this->_uipHuman}";
}
} else {
if ($upgrade->fetchOutput()) {
$customHTML = $upgrade->fetchOutput();
} else {
$output[] = "Proceeding with update...";
}
$continue = 1;
}
} else {
/* Nothing to run */
if ($this->_uipLong) {
/* Update version history */
if (IPSSetUp::is300plus() === TRUE) {
$this->DB->insert('upgrade_history', array('upgrade_version_id' => $this->_uipLong, 'upgrade_version_human' => $this->_uipHuman, 'upgrade_date' => time(), 'upgrade_app' => $this->_currentApp, 'upgrade_mid' => 0));
/* Update app */
$_in = $this->_currentApp == 'core' ? "'core', 'forums', 'members'" : "'" . $this->_currentApp . "'";
$this->DB->update('core_applications', array('app_long_version' => $this->_uipLong, 'app_version' => $this->_uipHuman), 'app_directory IN (' . $_in . ')');
} else {
$this->DB->insert('upgrade_history', array('upgrade_version_id' => $this->_uipLong, 'upgrade_version_human' => $this->_uipHuman, 'upgrade_date' => time(), 'upgrade_mid' => 0));
}
$output[] = "Successfully upgraded to version {$this->_uipHuman}";
}
}
//-----------------------------------------
// Next...
//-----------------------------------------
if ($continue) {
$this->registry->output->setNextAction('upgrade&do=appclass');
} elseif ($this->_uipLong >= $this->_latestLong || $this->_uipLong == 0) {
/* Got another app to do? */
$next = IPSSetUp::fetchNextApplication($this->_currentApp);
if ($next['key']) {
$this->registry->output->setNextAction('upgrade&do=sql&appdir=' . $next['key']);
//.........这里部分代码省略.........