summaryrefslogtreecommitdiff
path: root/includes/install_packages.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/install_packages.php')
-rwxr-xr-x[-rw-r--r--]includes/install_packages.php256
1 files changed, 123 insertions, 133 deletions
diff --git a/includes/install_packages.php b/includes/install_packages.php
index e8e63c7..052c29d 100644..100755
--- a/includes/install_packages.php
+++ b/includes/install_packages.php
@@ -1,4 +1,9 @@
<?php
+
+use Bitweaver\BitDb;
+use Bitweaver\Users\BitPermUser;
+use Bitweaver\Users\RolePermUser;
+
/**
* @version $Header$
* @package install
@@ -25,7 +30,7 @@ $gBitSmarty->assign( 'next_step', $step );
// pass all package data to template
$schema = $gBitInstaller->mPackages;
ksort( $schema );
-$gBitSmarty->assignByRef( 'schema', $schema );
+$gBitSmarty->assign( 'schema', $schema );
// confirm that we have all the admin data in the session before proceeding
if( !empty( $_REQUEST['packages'] ) && in_array( 'users', $_REQUEST['packages'] ) && ( empty( $_SESSION['login'] ) || empty( $_SESSION['password'] ) || empty( $_SESSION['email'] ) ) ) {
@@ -38,7 +43,7 @@ if( !empty( $_REQUEST['cancel'] ) ) {
header( 'Location: '.INSTALL_PKG_URL.'install.php?step='.( $step + 1 ) );
} elseif( !empty( $_REQUEST['packages'] ) && is_array( $_REQUEST['packages'] ) && !empty( $_REQUEST['method'] ) && !empty( $_REQUEST['submit_packages'] ) ) {
// shorthand for the actions we are supposed to perform during an unistall or re-install
- $removeActions = !empty( $_REQUEST['remove_actions'] ) ? $_REQUEST['remove_actions'] : array();
+ $removeActions = !empty( $_REQUEST['remove_actions'] ) ? $_REQUEST['remove_actions'] : [];
// Override reinstall/uninstall flag
if ( $_REQUEST['submit_packages'] == 'Install Packages' ) $_REQUEST['method'] = 'install';
@@ -70,7 +75,7 @@ if( !empty( $_REQUEST['cancel'] ) ) {
}
// by now $method should be populated with something
- if( $gBitInstallDb->Connect( $gBitDbHost, $gBitDbUser, $gBitDbPassword, $gBitDbName ) && !empty( $method ) ) {
+ if( $gBitInstallDb->Connect( $gBitDbHost, $gBitDbUser, $gBitDbPassword, $gBitDbType != 'pdo' ? $gBitDbName : NULL ) && !empty( $method ) ) {
if ( $_SESSION['first_install'] && $gBitDbType == 'firebird' ) {
// Leave commented for present, new installations on Firebird should use FB2.1.x and above which have an internal function library
// $result = $gBitInstallDb->Execute( "DECLARE EXTERNAL FUNCTION LOWER CSTRING(80) RETURNS CSTRING(80) FREE_IT ENTRY_POINT 'IB_UDF_lower' MODULE_NAME 'ib_udf'" );
@@ -79,7 +84,7 @@ if( !empty( $_REQUEST['cancel'] ) ) {
$tablePrefix = $gBitInstaller->getTablePrefix();
- $dict = NewDataDictionary( $gBitInstallDb );
+ $dict = NewDataDictionary( $gBitInstallDb, 'firebird' );
if( !$gBitInstaller->mDb->getCaseSensitivity() ) {
// set nameQuote to blank
@@ -109,7 +114,7 @@ if( !empty( $_REQUEST['cancel'] ) ) {
}
}
- $sqlArray = array();
+ $sqlArray = [];
//error_reporting( E_ALL );
// packages are sorted alphabetically. but we really need a /etc/rc.d/rc.3 style loading precidence!
@@ -118,14 +123,14 @@ if( !empty( $_REQUEST['cancel'] ) ) {
sort( $_REQUEST['packages'] );
// Need to unquote constraints. but this need replacing with a datadict function
- require_once( KERNEL_PKG_CLASS_PATH.'BitDbBase.php');
+
$gBitKernelDb = new BitDb();
$gBitKernelDb->mType = $gBitDbType;
// ---------------------- 1. ----------------------
// let's generate all the tables's
$gBitInstallDb->StartTrans();
- $uninstalledPackages = array();
+ $uninstalledPackages = [];
// get a list of packages to install maintained gScanOrder from mPackages
foreach( array_keys( $gBitInstaller->mPackages ) as $p ) {
if( in_array( $p, $_REQUEST['packages'] ) ) {
@@ -136,16 +141,16 @@ if( !empty( $_REQUEST['cancel'] ) ) {
$maxLoop = count( $uninstalledPackages ) * count( $uninstalledPackages );
$i = 0;
- $installedPackages = array();
+ $installedPackages = [];
foreach( array_keys( $gBitInstaller->mPackages ) as $key ) {
- if( !empty( $gBitInstaller->mPackages[$package]['installed'] ) ) {
+ if( !empty( $gBitInstaller->mPackages[$key]['installed'] ) ) {
array_push( $installedPackages, $package );
}
}
do {
$package = array_shift( $uninstalledPackages );
- $dependentPackages = (!empty( $gBitInstaller->mPackages[$package]['info']['dependencies'] ) ? explode( ',', $gBitInstaller->mPackages[$package]['info']['dependencies'] ) : array());
+ $dependentPackages = (!empty( $gBitInstaller->mPackages[$package]['info']['dependencies'] ) ? explode( ',', $gBitInstaller->mPackages[$package]['info']['dependencies'] ) : []);
$dependentsInstalled = array_intersect( $dependentPackages, $installedPackages );
$dependentsUninstalled = array_intersect( $dependentPackages, $uninstalledPackages );
if( !empty( $dependentPackages ) && (count( $dependentsUninstalled ) + count( $dependentsInstalled )) != count( $dependentPackages ) ) {
@@ -156,37 +161,32 @@ if( !empty( $_REQUEST['cancel'] ) ) {
unset( $build );
// work out what we're going to do with this package
if ( $method == 'install' && $_SESSION['first_install'] ) {
- $build = array( 'NEW' );
+ $build = [ 'NEW' ];
} elseif( $method == "install" && empty( $gBitInstaller->mPackages[$package]['installed'] )) {
- $build = array( 'NEW' );
+ $build = [ 'NEW' ];
} elseif( $method == "reinstall" && !empty( $gBitInstaller->mPackages[$package]['installed'] ) && in_array( 'tables', $removeActions )) {
// only set $build if we want to reset the tables - this allows us to reset a package to it's starting values without deleting any content
- $build = array( 'REPLACE' );
+ $build = [ 'REPLACE' ];
} elseif( $method == "uninstall" && !empty( $gBitInstaller->mPackages[$package]['installed'] ) && in_array( 'tables', $removeActions )) {
- $build = array( 'DROP' );
+ $build = [ 'DROP' ];
}
// If we use MySql and not DROP anything
// set correct storage engine to use
if( isset( $_SESSION['use_innodb'] ) && isset( $build ) && $build['0'] != 'DROP' ){
- if( $_SESSION['use_innodb'] == TRUE) {
- $build = array_merge($build, array('MYSQL' => 'ENGINE=INNODB'));
- } else {
- $build = array_merge($build, array('MYSQL' => 'ENGINE=MYISAM'));
- }
+ $build = ( $_SESSION['use_innodb'] == true ) ? [ ...$build, 'MYSQL' => 'ENGINE=INNODB' ] : [ ...$build, 'MYSQL' => 'ENGINE=MYISAM' ];
}
// Install tables - $build is empty when we don't pick tables, when un / reinstalling packages
- if( !empty( $gBitInstaller->mPackages[$package]['tables'] ) && is_array( $gBitInstaller->mPackages[$package]['tables'] ) && !empty( $build )) {
- foreach( array_keys( $gBitInstaller->mPackages[$package]['tables'] ) as $tableName ) {
- $completeTableName = $tablePrefix.$tableName;
+ if (!empty( $gBitInstaller->mPackages[$package]['tables'] ) && is_array( $gBitInstaller->mPackages[$package]['tables'] ) && !empty( $build )) {
+ foreach ( array_keys( $gBitInstaller->mPackages[$package]['tables'] ) as $tableName ) {
+ $completeTableName = $tablePrefix . $tableName;
// in case prefix has backticks for schema
$sql = $dict->CreateTableSQL( $completeTableName, $gBitInstaller->mPackages[$package]['tables'][$tableName], $build );
- // Uncomment this line to see the create sql
- for( $sqlIdx = 0; $sqlIdx < count( $sql ); $sqlIdx++ ) {
+ for ( $sqlIdx = 0; $sqlIdx < count( $sql ); $sqlIdx++ ) {
$gBitKernelDb->convertQuery( $sql[$sqlIdx] );
}
- if( $sql && $dict->ExecuteSQLArray( $sql ) <= 1) {
- $errors[] = 'Failed to create table '.$completeTableName;
- $failedcommands[] = implode(" ", $sql);
+ if ($sql && $dict->ExecuteSQLArray( $sql ) <= 1) {
+ $errors[] = 'Failed to create table ' . $completeTableName;
+ $failedcommands[] = implode( " ", $sql );
}
}
}
@@ -197,26 +197,25 @@ if( !empty( $_REQUEST['cancel'] ) ) {
}
$i++;
- } while( !empty( $uninstalledPackages ) && $i < $maxLoop );
+ } while ( !empty( $uninstalledPackages ) && $i < $maxLoop );
- if( $i > $maxLoop ) {
+ if ($i > $maxLoop) {
$errors[] = 'Infinite loop detected';
}
-
// ---------------------- 2. ----------------------
// install additional constraints
- foreach( array_keys( $gBitInstaller->mPackages ) as $package ) {
- if( in_array( $package, $_REQUEST['packages'] ) && ($method == 'install' || $method == 'reinstall' )
- && !empty( $gBitInstaller->mPackages[$package]['constraints'] ) && is_array( $gBitInstaller->mPackages[$package]['constraints'] ) ) {
- foreach( array_keys($gBitInstaller->mPackages[$package]['constraints']) as $tableName ) {
- $completeTableName = $tablePrefix.$tableName;
- foreach( array_keys($gBitInstaller->mPackages[$package]['constraints'][$tableName]) as $constraintName ) {
- $sql = 'ALTER TABLE `'.$completeTableName.'` ADD CONSTRAINT `'.$constraintName.'` '.$gBitInstaller->mPackages[$package]['constraints'][$tableName][$constraintName];
- $gBitKernelDb->convertQuery($sql);
+ foreach ( array_keys( $gBitInstaller->mPackages ) as $package ) {
+ if (in_array( $package, $_REQUEST['packages'] ) && ( $method == 'install' || $method == 'reinstall' )
+ && !empty( $gBitInstaller->mPackages[$package]['constraints'] ) && is_array( $gBitInstaller->mPackages[$package]['constraints'] )) {
+ foreach ( array_keys( $gBitInstaller->mPackages[$package]['constraints'] ) as $tableName ) {
+ $completeTableName = $tablePrefix . $tableName;
+ foreach ( array_keys( $gBitInstaller->mPackages[$package]['constraints'][$tableName] ) as $constraintName ) {
+ $sql = 'ALTER TABLE `' . $completeTableName . '` ADD CONSTRAINT `' . $constraintName . '` ' . $gBitInstaller->mPackages[$package]['constraints'][$tableName][$constraintName];
+ $gBitKernelDb->convertQuery( $sql );
$ret = $gBitInstallDb->Execute( $sql );
- if ( $ret === false ) {
- $errors[] = 'Failed to add constraint '.$constraintName.' to table '.$completeTableName;
+ if ($ret === false) {
+ $errors[] = 'Failed to add constraint ' . $constraintName . ' to table ' . $completeTableName;
$failedcommands[] = $sql;
}
}
@@ -224,66 +223,60 @@ if( !empty( $_REQUEST['cancel'] ) ) {
}
}
-
-
// ---------------------- 3. ----------------------
// let's generate all the indexes, and sequences
- foreach( array_keys( $gBitInstaller->mPackages ) as $package ) {
- if( in_array( $package, $_REQUEST['packages'] ) ) {
+ foreach ( array_keys( $gBitInstaller->mPackages ) as $package ) {
+ if (in_array( $package, $_REQUEST['packages'] )) {
// set prefix
$schemaQuote = strrpos( BIT_DB_PREFIX, '`' );
- $sequencePrefix = ( $schemaQuote ? substr( BIT_DB_PREFIX, $schemaQuote + 1 ) : BIT_DB_PREFIX );
+ $sequencePrefix = ( $schemaQuote ? substr( BIT_DB_PREFIX, $schemaQuote + 1 ) : BIT_DB_PREFIX );
- if( $method == 'install' || ( $method == 'reinstall' && in_array( 'tables', $removeActions ))) {
+ if ($method == 'install' || ( $method == 'reinstall' && in_array( 'tables', $removeActions ) )) {
// Install Indexes
- if( isset( $gBitInstaller->mPackages[$package]['indexes'] ) && is_array( $gBitInstaller->mPackages[$package]['indexes'] ) ) {
- foreach( array_keys( $gBitInstaller->mPackages[$package]['indexes'] ) as $tableIdx ) {
- $completeTableName = $sequencePrefix.$gBitInstaller->mPackages[$package]['indexes'][$tableIdx]['table'];
+ if (isset( $gBitInstaller->mPackages[$package]['indexes'] ) && is_array( $gBitInstaller->mPackages[$package]['indexes'] )) {
+ foreach ( array_keys( $gBitInstaller->mPackages[$package]['indexes'] ) as $tableIdx ) {
+ $completeTableName = $sequencePrefix . $gBitInstaller->mPackages[$package]['indexes'][$tableIdx]['table'];
$sql = $dict->CreateIndexSQL( $tableIdx, $completeTableName, $gBitInstaller->mPackages[$package]['indexes'][$tableIdx]['cols'], $gBitInstaller->mPackages[$package]['indexes'][$tableIdx]['opts'] );
- if( $sql && $dict->ExecuteSQLArray( $sql ) <= 1) {
- $errors[] = 'Failed to create index '.$tableIdx." on ".$completeTableName;
- $failedcommands[] = implode(" ", $sql);
+ if ($sql && $dict->ExecuteSQLArray( $sql ) <= 1) {
+ $errors[] = 'Failed to create index ' . $tableIdx . " on " . $completeTableName;
+ $failedcommands[] = implode( " ", $sql );
}
}
}
- if( $method == 'reinstall' && in_array( 'tables', $removeActions )) {
- if( isset( $gBitInstaller->mPackages[$package]['sequences'] ) && is_array( $gBitInstaller->mPackages[$package]['sequences'] ) ) {
- foreach( array_keys( $gBitInstaller->mPackages[$package]['sequences'] ) as $sequenceIdx ) {
- $sql = $gBitInstallDb->DropSequence( $sequencePrefix.$sequenceIdx );
+ if ($method == 'reinstall' && in_array( 'tables', $removeActions )) {
+ if (isset( $gBitInstaller->mPackages[$package]['sequences'] ) && is_array( $gBitInstaller->mPackages[$package]['sequences'] )) {
+ foreach ( array_keys( $gBitInstaller->mPackages[$package]['sequences'] ) as $sequenceIdx ) {
+ $sql = $gBitInstallDb->DropSequence( $sequencePrefix . $sequenceIdx );
if (!$sql) {
- $errors[] = 'Failed to drop sequence '.$sequencePrefix.$sequenceIdx;
- $failedcommands[] = "DROP SEQUENCE ".$sequencePrefix.$sequenceIdx;
+ $errors[] = 'Failed to drop sequence ' . $sequencePrefix . $sequenceIdx;
+ $failedcommands[] = "DROP SEQUENCE " . $sequencePrefix . $sequenceIdx;
}
}
}
}
- if( isset( $gBitInstaller->mPackages[$package]['sequences'] ) && is_array( $gBitInstaller->mPackages[$package]['sequences'] ) ) {
+ if (isset( $gBitInstaller->mPackages[$package]['sequences'] ) && is_array( $gBitInstaller->mPackages[$package]['sequences'] )) {
// If we use InnoDB for MySql we need this to get sequence tables created correctly.
- if( isset( $_SESSION['use_innodb'] ) ) {
- if( $_SESSION['use_innodb'] == TRUE ) {
- $gBitInstallDb->_genSeqSQL = "create table %s (id int not null) ENGINE=INNODB";
- } else {
- $gBitInstallDb->_genSeqSQL = "create table %s (id int not null) ENGINE=MYISAM";
- }
+ if (isset( $_SESSION['use_innodb'] )) {
+ $gBitInstallDb->_genSeqSQL = ( $_SESSION['use_innodb'] == true ) ? "create table %s (id int not null) ENGINE=INNODB" : "create table %s (id int not null) ENGINE=MYISAM";
}
- foreach( array_keys( $gBitInstaller->mPackages[$package]['sequences'] ) as $sequenceIdx ) {
- $sql = $gBitInstallDb->CreateSequence( $sequencePrefix.$sequenceIdx, $gBitInstaller->mPackages[$package]['sequences'][$sequenceIdx]['start'] );
+ foreach ( array_keys( $gBitInstaller->mPackages[$package]['sequences'] ) as $sequenceIdx ) {
+ $sql = $gBitInstallDb->CreateSequence( $sequencePrefix . $sequenceIdx, $gBitInstaller->mPackages[$package]['sequences'][$sequenceIdx]['start'] );
if (!$sql) {
- $errors[] = 'Failed to create sequence '.$sequencePrefix.$sequenceIdx;
- $failedcommands[] = "CREATE SEQUENCE ".$sequencePrefix.$sequenceIdx." START ".$gBitInstaller->mPackages[$package]['sequences'][$sequenceIdx]['start'];
+ $errors[] = "Failed to create sequence $sequencePrefix$sequenceIdx";
+ $failedcommands[] = "CREATE SEQUENCE " . $sequencePrefix . $sequenceIdx . " START " . $gBitInstaller->mPackages[$package]['sequences'][$sequenceIdx]['start'];
}
}
}
} elseif( $method == 'uninstall' && in_array( 'tables', $removeActions )) {
- if( isset( $gBitInstaller->mPackages[$package]['sequences'] ) && is_array( $gBitInstaller->mPackages[$package]['sequences'] ) ) {
- foreach( array_keys( $gBitInstaller->mPackages[$package]['sequences'] ) as $sequenceIdx ) {
- $sql = $gBitInstallDb->DropSequence( $sequencePrefix.$sequenceIdx );
+ if (isset( $gBitInstaller->mPackages[$package]['sequences'] ) && is_array( $gBitInstaller->mPackages[$package]['sequences'] )) {
+ foreach ( array_keys( $gBitInstaller->mPackages[$package]['sequences'] ) as $sequenceIdx ) {
+ $sql = $gBitInstallDb->DropSequence( $sequencePrefix . $sequenceIdx );
if (!$sql) {
- $errors[] = 'Failed to drop sequence '.$sequencePrefix.$sequenceIdx;
- $failedcommands[] = "DROP SEQUENCE ".$sequencePrefix.$sequenceIdx;
+ $errors[] = 'Failed to drop sequence ' . $sequencePrefix . $sequenceIdx;
+ $failedcommands[] = "DROP SEQUENCE " . $sequencePrefix . $sequenceIdx;
}
}
}
@@ -295,31 +288,25 @@ if( !empty( $_REQUEST['cancel'] ) ) {
$gBitInstaller->mPrefs = '';
$gBitInstaller->loadConfig();
-
-
// ---------------------- 4. ----------------------
// manipulate the data in kernel_config
$gBitInstaller->mDb->StartTrans();
- foreach( array_keys( $gBitInstaller->mPackages ) as $package ) {
- if( in_array( $package, $_REQUEST['packages'] ) ) {
+ foreach ( array_keys( $gBitInstaller->mPackages ) as $package ) {
+ if (in_array( $package, $_REQUEST['packages'] )) {
// remove all the requested settings - this is a bit tricky and might require some more testing
// Remove settings if requested
- if( in_array( 'settings', $removeActions ) ) {
+ if (in_array( 'settings', $removeActions )) {
// get a list of permissions used by this package
- $query = "SELECT `perm_name` FROM `".$tablePrefix."users_permissions` WHERE `package`=?";
- $perms = $gBitInstaller->mDb->getCol( $query, array( $package ));
+ $query = "SELECT `perm_name` FROM `" . $tablePrefix . "users_permissions` WHERE `package`=?";
+ $perms = $gBitInstaller->mDb->getCol( $query, [ $package ] );
// we deal with liberty_content_permissions below
- if ( defined( 'ROLE_MODEL' ) ) {
- $tables = array( 'users_role_permissions', 'users_permissions' );
- } else {
- $tables = array( 'users_group_permissions', 'users_permissions' );
- }
- foreach( $tables as $table ) {
- foreach( $perms as $perm ) {
+ $tables = ( defined( 'ROLE_MODEL' ) ) ? [ 'users_role_permissions', 'users_permissions' ] : [ 'users_group_permissions', 'users_permissions' ];
+ foreach ( $tables as $table ) {
+ foreach ( $perms as $perm ) {
$delete = "
- DELETE FROM `".$tablePrefix.$table."`
+ DELETE FROM `" . $tablePrefix.$table."`
WHERE `perm_name`=?";
- $ret = $gBitInstaller->mDb->query( $delete, array( $perm ) );
+ $ret = $gBitInstaller->mDb->query( $delete, [ $perm ] );
if (!$ret) {
$errors[] = "Error deleting permission ". $perm;
$failedcommands[] = $delete." ".$perm;
@@ -328,12 +315,12 @@ if( !empty( $_REQUEST['cancel'] ) ) {
}
// list of tables where we store package specific settings
- $tables = array( 'kernel_config' );
+ $tables = [ 'kernel_config' ];
foreach( $tables as $table ) {
$delete = "
DELETE FROM `".$tablePrefix.$table."`
WHERE `package`=? OR `config_name` LIKE ?";
- $ret = $gBitInstaller->mDb->query( $delete, array( $package, $package."%" ));
+ $ret = $gBitInstaller->mDb->query( $delete, [ $package, "$package%" ]);
if (!$ret) {
$errors[] = "Error deleting confgis for package ". $package;
$failedcommands[] = $delete." ".$package;
@@ -349,35 +336,35 @@ if( !empty( $_REQUEST['cancel'] ) ) {
if( $contentType['handler_package'] == $package ) {
// first we get a list of content_ids which we can use to scan various tables without content_type_guid column for data
$query = "SELECT `content_id` FROM `".$tablePrefix."liberty_content` WHERE `content_type_guid`=?";
- $rmContentIds = $gBitInstaller->mDb->getCol( $query, array( $contentType['content_type_guid'] ));
+ $rmContentIds = $gBitInstaller->mDb->getCol( $query, [ $contentType['content_type_guid'] ]);
// list of core tables where bitweaver might store relevant data
// firstly, we delete using the content ids
// order is important due to the constraints set in the schema
- $tables = array(
+ $tables = [
'liberty_aliases' => 'content_id',
'liberty_structures' => 'content_id',
'liberty_content_hits' => 'content_id',
'liberty_content_history' => 'content_id',
'liberty_content_prefs' => 'content_id',
'liberty_content_links' => 'to_content_id',
- 'liberty_content_links' => 'from_content_id',
+ 'liberty_content_from_links' => 'from_content_id',
'liberty_process_queue' => 'content_id',
'liberty_content_permissions' => 'content_id',
- 'users_favorites_map' => 'favorite_content_id'
+ 'users_favorites_map' => 'favorite_content_id',
// This table needs to be fixed to use content_id instead of page_id
//'liberty_copyrights' => 'content_id',
// liberty comments are tricky. should we remove comments linked to the content being deleted?
// makes sense to me but only if boards are not installed - xing
//'liberty_comments' => 'root_id',
- );
+ ];
foreach( $rmContentIds as $contentId ) {
foreach( $tables as $table => $column ) {
$delete = "
DELETE FROM `".$tablePrefix.$table."`
WHERE `$column`=?";
- $ret = $gBitInstaller->mDb->query( $delete, array( $contentId ));
+ $ret = $gBitInstaller->mDb->query( $delete, [ $contentId ]);
if (!$ret) {
$errors[] = "Error deleting from ". $tablePrefxi.$table;
$failedcommands[] = $delete." ".$contentId;
@@ -393,15 +380,15 @@ if( !empty( $_REQUEST['cancel'] ) ) {
// secondly, we delete using the content type guid
// order is important due to the constraints set in the schema
- $tables = array(
+ $tables = [
'liberty_content',
- 'liberty_content_types'
- );
+ 'liberty_content_types',
+ ];
foreach( $tables as $table ) {
$delete = "
DELETE FROM `".$tablePrefix.$table."`
WHERE `content_type_guid`=?";
- $ret = $gBitInstaller->mDb->query( $delete, array( $contentType['content_type_guid'] ));
+ $ret = $gBitInstaller->mDb->query( $delete, [ $contentType['content_type_guid'] ]);
if (!$ret) {
$errors[] = "Error deleting content type";
$failedcommands[] = $delete." ".$contentType['content_type_guid'];
@@ -439,7 +426,7 @@ if( !empty( $_REQUEST['cancel'] ) ) {
$gBitInstaller->loadConfig();
- $gBitInstaller->mDb->query( "DELETE FROM `".BIT_DB_PREFIX."kernel_config` WHERE `package`=?", array( $package ) );
+ $gBitInstaller->mDb->query( "DELETE FROM `".BIT_DB_PREFIX."kernel_config` WHERE `package`=?", [ $package ] );
// ---------------------- 5. ----------------------
// run the defaults through afterwards so we can be sure all tables needed have been created
foreach( array_keys( $gBitInstaller->mPackages ) as $package ) {
@@ -477,9 +464,9 @@ if( !empty( $_REQUEST['cancel'] ) ) {
// register all content types for installed packages
foreach( $gBitInstaller->mContentClasses as $package => $classes ){
if ( $gBitInstaller->isPackageInstalled( $package ) ){
- foreach ( $classes as $objectClass=>$classFile ){
- require_once( $classFile );
- $tempObject = new $objectClass();
+ foreach ( $classes as $key => $objectClass ) {
+ $class = "\\Bitweaver\\".ucfirst($package)."\\$key";
+ $tempObject = new $class();
}
}
}
@@ -510,14 +497,15 @@ if( !empty( $_REQUEST['cancel'] ) ) {
// Installing users has some special things to take care of here and needs a separate check.
if( in_array( 'users', $_REQUEST['packages'] ) ) {
// Creating 'root' user has id=1. phpBB starts with user_id=2, so this is a hack to keep things in sync
- $storeHash = array(
+ $storeHash = [
'real_name' => 'Root',
'login' => 'root',
'password' => $_SESSION['password'],
'email' => 'root@localhost',
- 'pass_due' => FALSE,
- 'user_id' => ROOT_USER_ID
- );
+ 'pass_due' => false,
+ 'registration_ip' => $_SERVER['REMOTE_ADDR'],
+ 'user_id' => ROOT_USER_ID,
+ ];
// now let's set up some default data. Group_id's are hardcoded in users/schema_inc defaults
if ( defined( 'ROLE_MODEL' ) ) {
$rootUser = new RolePermUser();
@@ -525,8 +513,8 @@ if( !empty( $_REQUEST['cancel'] ) ) {
$gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_roles` (`user_id`, `role_id`, `role_name`,`role_desc`) VALUES ( ".ROOT_USER_ID.", 1, 'Administrators','Site operators')" );
$rootUser->addUserToRole( ROOT_USER_ID, 1 );
} else {
- vd( 'Errors in root user store:'.PHP_EOL );
- vd( $rootUser->mErrors );
+ \Bitweaver\vd( 'Errors in root user store:'.PHP_EOL );
+ \Bitweaver\vd( $rootUser->mErrors );
}
$gBitSystem->storeConfig( 'user_class', 'RolePermUser', USERS_PKG_NAME );
$gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_roles` (`user_id`, `role_id`, `role_name`,`role_desc`) VALUES ( ".ROOT_USER_ID.", ".ANONYMOUS_TEAM_ID.", 'Anonymous','Public users not logged')" );
@@ -539,8 +527,8 @@ if( !empty( $_REQUEST['cancel'] ) ) {
$gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_groups` (`user_id`, `group_id`, `group_name`,`group_desc`) VALUES ( ".ROOT_USER_ID.", 1, 'Administrators','Site operators')" );
$rootUser->addUserToGroup( ROOT_USER_ID, 1 );
} else {
- vd( 'Errors in root user store:'.PHP_EOL );
- vd( $rootUser->mErrors );
+ \Bitweaver\vd( 'Errors in root user store:'.PHP_EOL );
+ \Bitweaver\vd( $rootUser->mErrors );
}
$gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_groups` (`user_id`, `group_id`, `group_name`,`group_desc`) VALUES ( ".ROOT_USER_ID.", ".ANONYMOUS_GROUP_ID.", 'Anonymous','Public users not logged')" );
$gBitUser->mDb->query( "INSERT INTO `".BIT_DB_PREFIX."users_groups` (`user_id`, `group_id`, `group_name`,`group_desc`) VALUES ( ".ROOT_USER_ID.", 2, 'Managers','Site Managers')" );
@@ -553,15 +541,16 @@ if( !empty( $_REQUEST['cancel'] ) ) {
$gBitUser->assignLevelPermissions( 1, 'admin' );
// Create 'Anonymous' user has id= -1 just like phpBB
- $storeHash = array(
- 'real_name' => 'Guest',
- 'login' => 'guest',
- 'password' => $_SESSION['password'],
- 'email' => 'guest@localhost',
- 'pass_due' => FALSE,
- 'user_id' => ANONYMOUS_USER_ID,
- 'default_role_id' => ANONYMOUS_TEAM_ID
- );
+ $storeHash = [
+ 'real_name' => 'Guest',
+ 'login' => 'guest',
+ 'password' => $_SESSION['password'],
+ 'email' => 'guest@localhost',
+ 'pass_due' => false,
+ 'registration_ip' => $_SERVER['REMOTE_ADDR'],
+ 'user_id' => ANONYMOUS_USER_ID,
+ 'default_role_id' => ANONYMOUS_TEAM_ID,
+ ];
if ( defined( 'ROLE_MODEL' ) ) {
$anonUser = new RolePermUser();
if( $anonUser->store( $storeHash ) ) {
@@ -581,13 +570,15 @@ if( !empty( $_REQUEST['cancel'] ) ) {
}
// Create 'Admin' user has id= 2
- $storeHash = array(
+ $storeHash = [
'real_name' => $_SESSION['real_name'],
'login' => $_SESSION['login'],
'password' => $_SESSION['password'],
'email' => $_SESSION['email'],
- 'pass_due' => FALSE
- );
+ 'registration_ip' => $_SERVER['REMOTE_ADDR'],
+ 'user_id' => 2,
+ 'pass_due' => false,
+ ];
if ( defined( 'ROLE_MODEL' ) ) {
$adminUser = new RolePermUser();
if( $adminUser->store( $storeHash ) ) {
@@ -596,7 +587,7 @@ if( !empty( $_REQUEST['cancel'] ) ) {
// set admin role as default
$adminUser->storeUserDefaultRole( $adminUser->mUserId, 1 );
} else {
- vd( $adminUser->mErrors ); die;
+ \Bitweaver\vd( $adminUser->mErrors ); die;
}
} else {
$adminUser = new BitPermUser();
@@ -606,15 +597,15 @@ if( !empty( $_REQUEST['cancel'] ) ) {
// set admin group as default
$adminUser->storeUserDefaultGroup( $adminUser->mUserId, 1 );
} else {
- vd( $adminUser->mErrors ); die;
+ \Bitweaver\vd( $adminUser->mErrors ); die;
}
}
// kill admin info in $_SESSION
-// unset( $_SESSION['real_name'] );
-// unset( $_SESSION['login'] );
-// unset( $_SESSION['password'] );
-// unset( $_SESSION['email'] );
+ unset( $_SESSION['real_name'] );
+ unset( $_SESSION['login'] );
+ unset( $_SESSION['password'] );
+ unset( $_SESSION['email'] );
}
}
@@ -648,4 +639,3 @@ if( !empty( $_REQUEST['cancel'] ) ) {
$gBitSmarty->assign( 'next_step', $step + 1 );
$app = '_done';
}
-?>