Revision 715
Added by doc over 17 years ago
| upgrade-script.php | ||
|---|---|---|
| 23 | 23 |
|
| 24 | 24 |
*/ |
| 25 | 25 |
|
| 26 |
// |
|
| 27 |
// upgrade-script for Website Baker from version 2.6.7 to 2.7 |
|
| 28 |
// |
|
| 26 |
/** |
|
| 27 |
PHP ROUTINES FOR THE UPGRADE SCRIPT |
|
| 28 |
**/ |
|
| 29 |
// this function checks the basic configurations of an existing WB intallation |
|
| 30 |
function status_msg($message, $class='check', $element='span') {
|
|
| 31 |
// returns a status message |
|
| 32 |
echo '<'.$element .' class="' .$class .'">' .$message .'</' .$element.'>'; |
|
| 33 |
} |
|
| 29 | 34 |
|
| 30 |
require('config.php');
|
|
| 31 |
require(WB_PATH.'/framework/functions.php'); |
|
| 35 |
function check_baseline_configuration() {
|
|
| 36 |
// check if config.php file exists and contains values |
|
| 37 |
status_msg('config.php: ');
|
|
| 38 |
@include('config.php');
|
|
| 39 |
if(defined('WB_PATH')) {
|
|
| 40 |
status_msg('OK', 'ok');
|
|
| 41 |
} else {
|
|
| 42 |
// output error message and return error status |
|
| 43 |
status_msg('FAILED', 'error');
|
|
| 44 |
status_msg('<strong>Error:</strong><br />No valid config.php found in: "<em>'
|
|
| 45 |
.dirname(__FILE__).'</em>"<br />Please check if this script is placed in the WB root directory ' |
|
| 46 |
.'and check/correct the config.php file before proceeding.<br /><br />You can not proceed before this error is fixed!!!' |
|
| 47 |
, 'warning', 'div'); |
|
| 48 |
return -1; |
|
| 49 |
} |
|
| 32 | 50 |
|
| 51 |
// check if the WB 2.7 installation files were already uploaded via FTP |
|
| 52 |
status_msg(', WB 2.7 core files uploaded: ');
|
|
| 53 |
@include(WB_PATH .'/framework/functions.php'); |
|
| 54 |
@include(WB_PATH .'/admin/interface/version.php'); |
|
| 55 |
if(defined('VERSION') && VERSION == '2.7'
|
|
| 56 |
&& function_exists('get_variable_content')
|
|
| 57 |
&& file_exists(WB_PATH .'/modules/menu_link/languages/DE.php') |
|
| 58 |
&& file_exists(WB_PATH .'/modules/output_filter/filter-routines.php') |
|
| 59 |
&& file_exists(WB_PATH .'/modules/captcha_control/languages/DE.php') |
|
| 60 |
&& file_exists(WB_PATH .'/modules/jsadmin/jsadmin_backend_include.php') |
|
| 61 |
&& file_exists(WB_PATH .'/admin/admintools/tool.php') |
|
| 62 |
&& file_exists(WB_PATH .'/admin/interface/er_levels.php')) {
|
|
| 63 |
status_msg('OK','ok');
|
|
| 64 |
} else {
|
|
| 65 |
// output a warning and return error status |
|
| 66 |
status_msg('FAILED','error');
|
|
| 67 |
status_msg('<strong>Error:</strong><br />Some of the Website Baker 2.7 core files were not found.'
|
|
| 68 |
.'<br />Please upload all core files (except config.php and folder /install) contained in the WB 2.7 installation package first.' |
|
| 69 |
.'<br /><br />You can not proceed before this error is fixed!!!' |
|
| 70 |
, 'warning', 'div'); |
|
| 71 |
return -1; |
|
| 72 |
} |
|
| 73 |
|
|
| 74 |
// check database connection |
|
| 75 |
$wb_version = ''; |
|
| 76 |
status_msg(', Database connection: ');
|
|
| 77 |
if(class_exists('database')) {
|
|
| 78 |
$db = new database; |
|
| 79 |
$table = TABLE_PREFIX .'settings'; |
|
| 80 |
$wb_version = @$db->get_one("SELECT value FROM $table WHERE name = 'wb_version' LIMIT 1");
|
|
| 81 |
} |
|
| 82 |
if($wb_version) {
|
|
| 83 |
status_msg('OK', 'ok');
|
|
| 84 |
} else {
|
|
| 85 |
// output error message and return error status |
|
| 86 |
status_msg('FAILED', 'error');
|
|
| 87 |
status_msg('<strong>Error:</strong><br />Unable to obtain the WB version stored in the database of your existing installation.'
|
|
| 88 |
.'<br />Make sure that the database class is available and the connection data in the config.php file is correct ' |
|
| 89 |
.'and your database is not corrupted.<br />To check if your database is corrupted, you can use a tool like ' |
|
| 90 |
.'<a href="http://www.phpmyadmin.net/" target="_blank">phpMyAdmin</a>.' |
|
| 91 |
.'<br /><br />You can not proceed before this error is fixed!!!' |
|
| 92 |
, 'warning', 'div'); |
|
| 93 |
return -1; |
|
| 94 |
} |
|
| 95 |
|
|
| 96 |
// check WB version in database is 2.6.7 |
|
| 97 |
status_msg(', WB version (database): ');
|
|
| 98 |
if($wb_version == '2.6.7') {
|
|
| 99 |
status_msg('2.6.7 (OK)', 'ok');
|
|
| 100 |
} else {
|
|
| 101 |
// output a warning |
|
| 102 |
status_msg($wb_version .' (required 2.6.7)', 'error'); |
|
| 103 |
status_msg('<strong>Warning:</strong><br />The extracted version number from the database is ' .$wb_version .' (required 2.6.7).'
|
|
| 104 |
.'<br />If the extracted database version is lower than 2.6.7, please upgrade first to Website Baker 2.6.7 and then to 2.7.' |
|
| 105 |
.'<br />If the obtained database version is higher or equal to 2.7, you do not need to execute this script.' |
|
| 106 |
.'<br /><br />You can not proceed before this error is fixed!!!' |
|
| 107 |
, 'warning', 'div'); |
|
| 108 |
return -1; |
|
| 109 |
} |
|
| 110 |
return 0; |
|
| 111 |
} |
|
| 112 |
|
|
| 33 | 113 |
?> |
| 34 | 114 |
|
| 35 | 115 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 36 | 116 |
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| 37 | 117 |
<head> |
| 38 |
<title>Upgrade-Script</title> |
|
| 39 |
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
|
| 118 |
<title>Upgrade script from Website Baker v2.6.7 to Website Baker v2.7</title> |
|
| 40 | 119 |
|
| 41 | 120 |
<style type="text/css"> |
| 42 |
.red { background-color:#FF0000 }
|
|
| 43 |
.green { background-color:#00FF00 }
|
|
| 121 |
body {
|
|
| 122 |
margin:0; |
|
| 123 |
padding:0; |
|
| 124 |
border:0; |
|
| 125 |
background: #EBF7FC; |
|
| 126 |
color:#000; |
|
| 127 |
font-family: 'Trebuchet MS', Verdana, Arial, Helvetica, Sans-Serif; |
|
| 128 |
font-size: small; |
|
| 129 |
height:101%; |
|
| 130 |
} |
|
| 44 | 131 |
|
| 45 |
#warning {
|
|
| 46 |
width: 90%; |
|
| 47 |
padding: 10px; |
|
| 48 |
margin-left: 5%; |
|
| 49 |
margin-bottom: 5px; |
|
| 50 |
border: 1px solid #FF0000; |
|
| 51 |
background-color: #FFDBDB; |
|
| 132 |
#container {
|
|
| 133 |
width:85%; |
|
| 134 |
background: #9ACBF1 url(admin/interface/background.png) repeat-x; |
|
| 135 |
border:1px solid #000; |
|
| 136 |
color:#000; |
|
| 137 |
margin:2em auto; |
|
| 138 |
padding:0 15px; |
|
| 139 |
min-height: 500px; |
|
| 140 |
text-align:left; |
|
| 52 | 141 |
} |
| 53 | 142 |
|
| 54 | 143 |
p { line-height:1.5em; }
|
| 55 | 144 |
|
| 145 |
h1,h2,h3,h4,h5,h6 {
|
|
| 146 |
font-family: Verdana, Arial, Helvetica, sans-serif; |
|
| 147 |
color: #369; |
|
| 148 |
margin-top: 1.0em; |
|
| 149 |
margin-bottom: 0.1em; |
|
| 150 |
} |
|
| 151 |
|
|
| 152 |
h1 { font-size:150%; }
|
|
| 153 |
h2 { font-size: 130%; border-bottom: 1px #CCC solid; }
|
|
| 154 |
h3 { font-size: 120%; }
|
|
| 155 |
|
|
| 156 |
.ok, .error { font-weight:bold; }
|
|
| 157 |
.ok { color:green; }
|
|
| 158 |
.error { color:red; }
|
|
| 159 |
.check { color:#555; }
|
|
| 160 |
|
|
| 161 |
.red { background-color:#FF0000 }
|
|
| 162 |
.green { background-color:#00FF00 }
|
|
| 163 |
|
|
| 164 |
.warning {
|
|
| 165 |
width: 98%; |
|
| 166 |
background:#FFDBDB; |
|
| 167 |
padding:0.2em; |
|
| 168 |
margin-top:0.5em; |
|
| 169 |
border: 1px solid black; |
|
| 170 |
} |
|
| 56 | 171 |
</style> |
| 57 | 172 |
</head> |
| 58 | 173 |
<body> |
| 174 |
<div id="container"> |
|
| 175 |
<img src="admin/interface/logo.png" alt="Website Baker Logo" /> |
|
| 176 |
|
|
| 177 |
<h1>Website Baker Upgrade</h1> |
|
| 178 |
<p>This script is for <strong>upgrading an existing v2.6.7</strong> installation to the latest Website Baker <strong>version 2.7</strong>. The upgrade script checks the configuration of your installed Website Baker system and alters the existing WB database to reflect the changes introduced with WB 2.7.</p> |
|
| 179 |
|
|
| 59 | 180 |
<?php |
| 181 |
if(!isset($_POST['backup_confirmed'])) {
|
|
| 182 |
?> |
|
| 183 |
<h2>Step 1: Check existing installation</h2> |
|
| 184 |
<p>Checking the configuration of your existing Website Baker installation:<br /> |
|
| 185 |
<?php |
|
| 186 |
// check the basic Website Baker installation before proceeding |
|
| 187 |
if(check_baseline_configuration() != 0) die; |
|
| 188 |
status_msg('<p>Congratulations: You have passed all the required pre-checks.', 'ok');
|
|
| 189 |
?> |
|
| 190 |
|
|
| 191 |
<h2>Step 2: Create a backup of your existing data</h2> |
|
| 192 |
<p>It is highly recommended to <strong>create a manual backup</strong> of the entire <strong>/pages folder</strong> and the <strong>MySQL database</strong> before proceeding. The upgrade script is not sufficiently tested at the moment and should therefore only be used for testing purposes!!! Please confirm the disclaimer before starting this script.</p> |
|
| 193 |
|
|
| 194 |
<form name="send" action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST"> |
|
| 195 |
<textarea cols="80" rows="5">DISCLAIMER: The Website Baker upgrade script is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. One needs to confirm that a manual backup of the /pages folder (including all files and subfolders contained in it) and backup of the entire Website Baker MySQL database was created before you can proceed.</textarea> |
|
| 196 |
<br /><br /><input name="backup_confirmed" type="checkbox" value="confirmed" /> I confirm that a manual backup of the /pages folder and the MySQL database was created. |
|
| 197 |
<br /><br /><input name="send" type="submit" value="Start upgrade script" /> |
|
| 198 |
</form> |
|
| 199 |
<br /> |
|
| 200 |
|
|
| 201 |
<?php |
|
| 202 |
if(isset($_POST['send'])) {
|
|
| 203 |
status_msg('<strong>Notice:</strong><br />You need to confirm that you have created a manual backup of the /pages directory and the MySQL database before you can proceed.', 'warning', 'div');
|
|
| 204 |
} |
|
| 205 |
?> |
|
| 206 |
<br /><br /> |
|
| 207 |
<?php |
|
| 208 |
} else {
|
|
| 60 | 209 |
/** |
| 61 |
AT THIS POINT IN TIME THE UPGRADE SCRIPT IS NOT MATURE ENOUGH |
|
| 62 |
SO PROVIDE A WARNING TO BACKUP THE DATABASE AND THE PAGES DIRECTORY |
|
| 63 |
BEFORE EXECUTING THIS SCRIPT (doc) |
|
| 64 |
*/ |
|
| 65 |
if(!isset($_GET['action']) || $_GET['action'] != 'upgrade') {
|
|
| 210 |
THE WEBSITE BAKER UPGRADE SCRIPT STARTS HERE |
|
| 211 |
**/ |
|
| 212 |
require('config.php');
|
|
| 213 |
require(WB_PATH.'/framework/functions.php'); |
|
| 66 | 214 |
?> |
| 67 |
<div id="warning"> |
|
| 68 |
<strong>WARNING:</strong> |
|
| 69 |
<p>The actual WB 2.7 version is still a developer version. <strong>It is not recommended to use this release in a |
|
| 70 |
productive environment</strong>.<p>The upgrade-script is not sufficiently tested yet, so please <strong>backup your database and /pages directory before executing the upgrade script</strong>.<br />You may loose all your data if something goes wrong!!</p><p>If you want to start the upgrade-script, please click on: <a href="upgrade-script.php?action=upgrade" target="_self">execute upgrade-script</a></p> |
|
| 71 |
</div> |
|
| 215 |
<h2>Step 3: Upgrading the existing Website Baker installation to WB 2.7</h2> |
|
| 216 |
<p>will upgrade Website Baker 2.6.5 / 2.6.7 to version 2.7</p> |
|
| 72 | 217 |
<?php |
| 73 |
die; |
|
| 74 |
} ?> |
|
| 75 |
|
|
| 76 |
<h2>Upgrade-script</h2> |
|
| 77 |
<p> |
|
| 78 |
will upgrade Website Baker 2.6.5 / 2.6.7 to version 2.7 |
|
| 79 |
</p> |
|
| 80 |
<?php |
|
| 81 | 218 |
|
| 82 | 219 |
$OK = '<span class="green">OK</span>'; |
| 83 | 220 |
$FAIL = '<span class="red">failed</span>'; |
| ... | ... | |
| 126 | 263 |
} |
| 127 | 264 |
} |
| 128 | 265 |
|
| 129 |
|
|
| 130 | 266 |
echo "<br /><u>Adding module_order and max_excerpt to search-table</u><br />"; |
| 131 | 267 |
// module_order - in which order to show the search-results |
| 132 | 268 |
// max_excerpt - how many lines of excerpt to print per matching page |
| ... | ... | |
| 712 | 848 |
*/ |
| 713 | 849 |
echo "<br /><br />Done<br />"; |
| 714 | 850 |
|
| 851 |
} |
|
| 715 | 852 |
?> |
| 716 |
|
|
| 853 |
</div> |
|
| 717 | 854 |
</body> |
| 718 | 855 |
</html> |
Also available in: Unified diff
Updated upgrade script (added WB2.7 basic styles, pre-checks and disclaimer)