summaryrefslogtreecommitdiff
path: root/includes/classes/BitInstaller.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/classes/BitInstaller.php')
-rwxr-xr-xincludes/classes/BitInstaller.php25
1 files changed, 22 insertions, 3 deletions
diff --git a/includes/classes/BitInstaller.php b/includes/classes/BitInstaller.php
index 9574956..75df5b1 100755
--- a/includes/classes/BitInstaller.php
+++ b/includes/classes/BitInstaller.php
@@ -285,6 +285,25 @@ class BitInstaller extends BitSystem {
}
/**
+ * getVersion reads the installed version from DB during BIT_INSTALL (loadConfig is blocked, so we query directly).
+ */
+ public function getVersion( ?string $pPackage = null, $pDefault = BITWEAVER_VERSION ): string {
+ $config = empty( $pPackage ) ? 'bitweaver_version' : "package_{$pPackage}_version";
+ if( !empty( $this->mDb ) ) {
+ try {
+ $query = "SELECT `config_value` FROM `" . BIT_DB_PREFIX . "kernel_config` WHERE `config_name`=?";
+ $result = $this->mDb->getOne( $query, [ $config ] );
+ if( !empty( $result ) ) {
+ return $result;
+ }
+ } catch( \Throwable $e ) {
+ // kernel_config may not exist during a fresh install
+ }
+ }
+ return $pDefault;
+ }
+
+ /**
* upgradePackage
*
* @param string $pPackage
@@ -309,7 +328,7 @@ class BitInstaller extends BitSystem {
public function upgradePackageVersions( $pPackage ) {
if( !empty( $pPackage ) && !empty( $this->mPackageUpgrades[$pPackage] )) {
// make sure everything is in the right order
- uksort( $this->mPackageUpgrades[$pPackage], 'upgrade_version_sort' );
+ uksort( $this->mPackageUpgrades[$pPackage], 'Bitweaver\Install\upgrade_version_sort' );
foreach( array_keys( $this->mPackageUpgrades[$pPackage] ) as $version ) {
// version we are upgrading from
@@ -520,7 +539,7 @@ class BitInstaller extends BitSystem {
if( !empty( $sql ) ) $sql = null;
break;
case 'QUERY':
- uksort( $step, 'upgrade_query_sort' );
+ uksort( $step, 'Bitweaver\Install\upgrade_query_sort' );
foreach( array_keys( $step ) as $dbType ) {
if( $dbType == 'MYSQL' && preg_match( '/mysql/', $gBitDbType )) {
$sql = $step[$dbType];
@@ -686,7 +705,7 @@ function upgrade_package_sort( $a, $b ) {
* @return numeric sort direction
*/
function upgrade_version_sort( $a, $b ) {
- return version_compare( $a, $b, '>' );
+ return version_compare( $a, $b );
}
/**