Files
bobsleighphotos.com/_cubecart/CubeCart-4.3.0/setup/upgrade.php
2017-03-02 20:30:40 -06:00

187 lines
6.2 KiB
PHP
Executable File

<?php
/*
+--------------------------------------------------------------------------
| CubeCart 4
| ========================================
| CubeCart is a registered trade mark of Devellion Limited
| Copyright Devellion Limited 2006. All rights reserved.
| Devellion Limited,
| 5 Bridge Street,
| Bishops Stortford,
| HERTFORDSHIRE.
| CM23 2JU
| UNITED KINGDOM
| http://www.devellion.com
| UK Private Limited Company No. 5323904
| ========================================
| Web: http://www.cubecart.com
| Email: info (at) cubecart (dot) com
| License Type: CubeCart is NOT Open Source Software and Limitations Apply
| Licence Info: http://www.cubecart.com/v4-software-license
+--------------------------------------------------------------------------
| install.php
| ========================================
| Installation Script
+--------------------------------------------------------------------------
*/
session_start();
if(isset($_POST['license_key'])) {
$_SESSION['license_key'] = $_POST['license_key'];
}
require("../ini.inc.php");
$thisVersion = $ini['ver'];
unset($ini['ver']);
require("..".CC_DS."includes".CC_DS."global.inc.php");
require_once("..".CC_DS."classes".CC_DS."db".CC_DS."db.php");
require_once("..".CC_DS."classes".CC_DS."cache".CC_DS."cache.php");
require("..".CC_DS."includes".CC_DS."functions.inc.php");
## Clear the cache
$cache = new cache();
$cache->clearCache();
if (!isset($_POST['step'])) {
$_POST['step'] = 1;
}
$db = new db();
## look for version history!
## see if history table exists
$checkTable = $db->getRows("SHOW TABLE STATUS LIKE '".$glob['dbprefix']."CubeCart_history';");
## table esists look for version history
if ($checkTable) {
$versionData = $db->select("SELECT version FROM `".$glob['dbprefix']."CubeCart_history` ORDER BY `id` DESC");
}
if (!isset($_GET['l'])) $_GET['l'] = "en";
$langFolder = preg_replace('/[^a-zA-Z0-9_\-\+]/', '',$_GET['l']);
define('LANG_FOLDER', $langFolder);
require("..".CC_DS."language".CC_DS.LANG_FOLDER.CC_DS."common.inc.php");
require("..".CC_DS."language".CC_DS.LANG_FOLDER.CC_DS."setup.inc.php");
if ($versionData) {
$oldVersion = $versionData[0]['version'];
} else {
## table doesn't exist use old ini.inc.php file
$oldIniPath = "..".CC_DS."includes".CC_DS."ini.inc.php";
if (!file_exists($oldIniPath)) die($lang['setup']['critical_upgrade_error']);
include($oldIniPath);
$oldVersion = $ini['ver'];
}
$stageName = $lang['setup']['stage1Name'];
$noInstallSteps = 3;
include("includes".CC_DS."header.inc.php");
?>
<div class="mainPad">
<div class="subTitle"><?php echo sprintf($lang['setup']['installation'],$thisVersion); ?></div>
<?php if(isset($error)){?><div class="errorBar"><?php echo $error; ?></div><?php } ?>
<div>
<?php
if (version_compare($thisVersion, $oldVersion, '<=')) {
echo '<p>'.sprintf($lang['setup']['alreadyUpgraded'], $thisVersion).'</p>';
} else {
?>
<table border="0" width="100%" cellpadding="3" cellspacing="1">
<tr>
<td><?php echo sprintf($lang['setup']['stepStatus'],$_POST['step'], $noInstallSteps);?>
</td>
<td height="13" width="13" <?php if($_POST['step']==1) echo "class='progressOn'"; else echo "class='progressOff'"; ?>>1</td>
<td height="13" width="13" <?php if($_POST['step']==2) echo "class='progressOn'"; else echo "class='progressOff'"; ?>>2</td>
<td height="13" width="13" <?php if($_POST['step']==3) echo "class='progressOn'"; else echo "class='progressOff'"; ?>>3</td>
</tr>
</table>
<br />
<form name="install" action="upgrade.php?l=<?php echo $langFolder; ?>" method="post" enctype="multipart/form-data">
<?php
if ($_POST['step'] == 1) {
echo "<p>".sprintf($lang['setup']['upgrade_precis'],$oldVersion,$thisVersion)."</p>";
if(!isset($glob['license_key'])){
?>
<p><strong><?php echo $lang['setup']['enter_key'];?></strong><br />
<input type='text' value='' name='license_key' /></p>
<?php
}
$nextStep = 2;
$buttonText = $lang['setup']['upgrade_now'];
} else if ($_POST['step'] == 2) {
if (isset($_POST['license_key']) && empty($_POST['license_key'])) {
echo $lang['setup']['no_key_entered'];
$nextStep = 1;
$buttonText = $lang['setup']['upgrade_try_again'];
} else {
## upgrade database
$sqlfile = "db".CC_DS."upgrade.sql";
$dbprefix = $glob['dbprefix'];
include "sqlinstaller.php";
$nextStep = 3;
$buttonText = sprintf($lang['setup']['upgrade_proceed_to_step'],$nextStep);
echo "<p>".$lang['setup']['database_upgraded']."</p>";
}
} else if ($_POST['step'] == 3) {
## do any other required updates
include "otherupdates.php";
## If there are no more steps we can insert the update history
if (!isset($nextStep)) {
$db->misc("INSERT INTO `".$glob['dbprefix']."CubeCart_history` (`version` ,`time`) VALUES ('".$thisVersion."', '".time()."');");
}
## Make sure enclding/collation is correct
$db->misc("ALTER DATABASE `".$glob['dbdatabase']."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;");
$tables = $db->getRows("SHOW TABLE STATUS LIKE '".$glob['dbprefix']."CubeCart_%';");
if(is_array($tables)){
foreach($tables as $table) {
$db->misc("ALTER TABLE `".$table[0]."` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;");
}
}
}
?>
<?php
if ($nextStep>0) {
?>
<p style="text-align: center">
<input name="submit" type="submit" class="submit" value="<?php echo $buttonText; ?>"/>
<input type="hidden" name="step" value="<?php echo $nextStep; ?>" />
</p>
<?php
} else {
include("..".CC_DS."includes".CC_DS."global.inc.php");
?>
<p class="infoBar"><?php echo sprintf($lang['setup']['upgrade_success'], $thisVersion); ?></p>
<table width="100%" border="0" cellspacing="0" cellpadding="3" class="formTable">
<tr>
<td colspan="4">
<?php echo $lang['setup']['congratulationsSub']; ?>
<div style="padding-left: 100px;">
<ul>
<li><a href="<?php echo $glob['storeURL'];?>/<?php echo $glob['adminFile'];?>"><?php echo $lang['setup']['adminHomepage']; ?></a><br />
<?php echo $glob['storeURL'];?>/<?php echo $glob['adminFile'];?></li>
<li><a href="<?php echo $glob['storeURL'];?>/"><?php echo $lang['setup']['storeHomepage']; ?></a><br />
<?php echo $glob['storeURL'];?>/</li>
</ul>
</div>
<strong><?php echo $lang['setup']['important']; ?></strong> <?php echo $lang['setup']['deleteInstall']; ?> </td>
</tr>
</table>
<?php
}
?>
</form>
<?php
}
include("includes".CC_DS."footer.inc.php");
?>