Source for file createdatabase.php
Documentation is available at createdatabase.php
* Upgrade the database to the latest version used by Bumblebee
* @author Stuart Prescott
* @copyright Copyright Stuart Prescott
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
$defaults['sqlTablePrefix'] =
'';
$defaults['sqlDefaultHost'] =
'localhost';
$defaults['sqlHost'] =
$defaults['sqlDefaultHost'];
$defaults['sqlDefaultDB'] =
'bumblebeedb';
$defaults['sqlDB'] =
$defaults['sqlDefaultDB'];
$defaults['sqlDefaultUser'] =
'bumblebee';
$defaults['sqlUser'] =
$defaults['sqlDefaultUser'];
$defaults['sqlDefaultPass'] =
'bumblebeepass';
$defaults['sqlPass'] =
$defaults['sqlDefaultPass'];
$defaults['sqlUseDropTable'] =
'0';
$defaults['bbDefaultAdmin'] =
'BumblebeeAdmin';
$defaults['bbDefaultAdminName'] =
'Queen Bee';
$defaults['bbDefaultAdminPass'] =
'defaultpassword123';
$defaults['bbAdmin'] =
$defaults['bbDefaultAdmin'];
$defaults['bbAdminName'] =
$defaults['bbDefaultAdminName'];
$defaults['bbAdminPass'] =
$defaults['bbDefaultAdminPass'];
* Work out an SQL load file from the defaults and the user input
function constructSQL($source, $replacements, $includeAdmin) {
$sqlSourceFile =
$source;
$sqlTablePrefix =
$replacements['sqlTablePrefix'];
$sqlDefaultHost =
$replacements['sqlDefaultHost'];
$sqlHost =
$replacements['sqlHost'];
$sqlDefaultDB =
$replacements['sqlDefaultDB'];
$sqlDB =
$replacements['sqlDB'];
$sqlDefaultUser =
$replacements['sqlDefaultUser'];
$sqlUser =
$replacements['sqlUser'];
$sqlDefaultPass =
$replacements['sqlDefaultPass'];
$sqlPass =
$replacements['sqlPass'];
$sqlUseDropTable =
$replacements['sqlUseDropTable'];
$bbDefaultAdmin =
$replacements['bbDefaultAdmin'];
$bbDefaultAdminName =
$replacements['bbDefaultAdminName'];
$bbDefaultAdminPass =
$replacements['bbDefaultAdminPass'];
$bbAdmin =
$replacements['bbAdmin'];
$bbAdminName =
$replacements['bbAdminName'];
$bbAdminPass =
$replacements['bbAdminPass'];
$sql =
file($sqlSourceFile);
$sql =
preg_replace("/(DELETE .+ WHERE User=')$sqlDefaultUser';/",
$sql =
preg_replace("/(INSERT INTO user .+)'$sqlDefaultHost','$sqlDefaultUser',\s*PASS.+\)(.+);/",
"$1'$sqlHost','$sqlUser',PASSWORD('$sqlPass')\$2;", $sql);
$sql =
preg_replace("/(.+ ON) $sqlDefaultDB\.\* (TO|FROM) $sqlDefaultUser@$sqlDefaultHost;/",
"\$1 $sqlDB.* \$2 $sqlUser@$sqlHost;", $sql);
// REVOKE ALL PRIVILEGES ON *.* FROM bumblebee;
// REVOKE GRANT OPTION ON *.* FROM bumblebee;
// CREATE OR DROP DATABASE
"\$1 DATABASE\$2 $sqlDB", $sql);
if($sqlUseDropTable ==
'1') {
"DROP TABLE IF EXISTS $sqlTablePrefix\$1;", $sql);
$sql =
preg_replace("/DROP TABLE IF EXISTS (.+)?;/i", '', $sql);
$sql =
preg_replace("/DROP DATABASE IF EXISTS (.+)?;/i", '', $sql);
"CREATE TABLE $sqlTablePrefix\$1 ", $sql);
"INSERT INTO $sqlTablePrefix\$1", $sql);
$sql =
preg_replace("/\('$bbDefaultAdmin','$bbDefaultAdminName',MD5\('$bbDefaultAdminPass'\),1\)/",
"('$bbAdmin','$bbAdminName','".
md5($bbAdminPass).
"',1);", $sql);
$sql =
preg_grep('/^\s*$/', $sql, PREG_GREP_INVERT);
$stream =
"-- SQL user and database creation code removed as per user request.\n".
$stream;
$settingComment =
"-- Bumblebee SQL load file for ".
$_SERVER['SERVER_NAME'].
"\n"
.
"-- sourced from $sqlSourceFile\n"
.
"-- database: $sqlDefaultDB => $sqlDB\n"
.
"-- table prefix: $sqlTablePrefix\n"
.
"-- Load this file using phpMyAdmin or on the MySQL command line tools:\n"
.
"-- mysql -p --user someuser < tables.sql\n"
return $settingComment.
$stream;
Documentation generated on Tue, 06 Mar 2007 10:01:10 +0000 by phpDocumentor 1.3.0