You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
3.3 KiB
89 lines
3.3 KiB
<?php
|
|
/*********************************************************************
|
|
upgrade.php
|
|
|
|
osTicket Upgrade Wizard
|
|
|
|
Peter Rotich <peter@osticket.com>
|
|
Copyright (c) 2006-2013 osTicket
|
|
http://www.osticket.com
|
|
|
|
Released under the GNU General Public License WITHOUT ANY WARRANTY.
|
|
See LICENSE.TXT for details.
|
|
|
|
vim: expandtab sw=4 ts=4 sts=4:
|
|
**********************************************************************/
|
|
require_once 'admin.inc.php';
|
|
require_once INCLUDE_DIR.'class.upgrader.php';
|
|
|
|
//$_SESSION['ost_upgrader']=null;
|
|
$upgrader = new Upgrader(TABLE_PREFIX, UPGRADE_DIR.'streams/');
|
|
$errors=array();
|
|
if($_POST && $_POST['s'] && !$upgrader->isAborted()) {
|
|
switch(strtolower($_POST['s'])) {
|
|
case 'prereq':
|
|
if(!$ost->isUpgradePending()) {
|
|
$errors['err']=__('Nothing to do! System already upgraded to the current version');
|
|
} elseif(!$upgrader->isUpgradable()) {
|
|
$errors['err']=__('The upgrader does NOT support upgrading from the current vesion!');
|
|
} elseif(!$upgrader->check_prereq()) {
|
|
$errors['prereq']=__('Minimum requirements not met! Refer to Release Notes for more information');
|
|
} elseif(!strcasecmp(basename(CONFIG_FILE), 'settings.php')) {
|
|
$errors['err']=__('Config file rename required to continue!');
|
|
} else {
|
|
$upgrader->setState('upgrade');
|
|
}
|
|
break;
|
|
case 'upgrade': //Manual upgrade.... when JS (ajax) is not supported.
|
|
if($upgrader->getTask()) {
|
|
$upgrader->doTask();
|
|
} elseif($ost->isUpgradePending() && $upgrader->isUpgradable()) {
|
|
$upgrader->upgrade();
|
|
} elseif(!$ost->isUpgradePending()) {
|
|
$upgrader->setState('done');
|
|
}
|
|
|
|
if(($errors=$upgrader->getErrors())) {
|
|
$upgrader->setState('aborted');
|
|
}
|
|
break;
|
|
default:
|
|
$errors['err']=__('Unknown action');
|
|
}
|
|
}
|
|
|
|
switch(strtolower($upgrader->getState())) {
|
|
case 'aborted':
|
|
$inc='aborted.inc.php';
|
|
break;
|
|
case 'upgrade':
|
|
$inc='upgrade.inc.php';
|
|
break;
|
|
case 'done':
|
|
$inc='done.inc.php';
|
|
break;
|
|
default:
|
|
$inc='prereq.inc.php';
|
|
if($upgrader->isAborted())
|
|
$inc='aborted.inc.php';
|
|
elseif(!strcasecmp(basename(CONFIG_FILE), 'settings.php'))
|
|
$inc='rename.inc.php';
|
|
elseif(!$ost->isUpgradePending())
|
|
$errors['err']=sprintf(__('Nothing to do! System already upgraded to <b>%s</b> with no pending patches to apply.'),$ost->getVersion());
|
|
elseif(!$upgrader->isUpgradable())
|
|
$errors['err']=sprintf(__('The upgrader does NOT support upgrading from the current patch [%s]!'), $cfg->getSchemaSignature());
|
|
|
|
}
|
|
|
|
$nav = new AdminNav($thisstaff);
|
|
$nav->setTabActive('dashboard');
|
|
$nav->addSubMenu(array('desc'=>__('Upgrader'),
|
|
'title'=>__('Upgrader'),
|
|
'href'=>'upgrade.php',
|
|
'iconclass'=>'preferences'),
|
|
true);
|
|
$ost->addExtraHeader('<script type="text/javascript" src="./js/upgrader.js?cb6766e"></script>');
|
|
require(STAFFINC_DIR.'header.inc.php');
|
|
require(UPGRADE_DIR.$inc);
|
|
require(STAFFINC_DIR.'footer.inc.php');
|
|
?>
|