0) { // They have installed at LEAST to version 1.6.0. Just pull the version number OR migration number $migrationNumberSql = hesk_dbQuery("SELECT `Value` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'migrationNumber'"); if ($migrationRow = hesk_dbFetchAssoc($migrationNumberSql)) { $startingMigrationNumber = intval($migrationRow['Value']); } else { $versionSql = hesk_dbQuery("SELECT `Value` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "settings` WHERE `Key` = 'modsForHeskVersion'"); $versionRow = hesk_dbFetchAssoc($versionSql); $migration_map = array( // Pre-1.4.0 to 1.5.0 did not have a settings table '1.6.0' => 15, '1.6.1' => 16, '1.7.0' => 20, '2.0.0' => 26, '2.0.1' => 27, '2.1.0' => 28, '2.1.1' => 30, '2.2.0' => 33, '2.2.1' => 34, '2.3.0' => 40, '2.3.1' => 41, '2.3.2' => 42, '2.4.0' => 47, '2.4.1' => 48, '2.4.2' => 49, '2.5.0' => 53, '2.5.1' => 54, '2.5.2' => 55, '2.5.3' => 56, '2.5.4' => 57, '2.5.5' => 58, '2.6.0' => 65, '2.6.1' => 66, '2.6.2' => 68, '2.6.3' => 69, '2.6.4' => 70, '3.0.0' => 74, '3.0.1' => 75, '3.0.2' => 77, '3.0.3' => 78, '3.0.4' => 79, '3.0.5' => 80, '3.0.6' => 81, '3.0.7' => 82, '3.1.0' => 89, '3.1.1' => 90 ); $startingMigrationNumber = $migration_map[$versionRow['Value']]; } } else { // migration # => sql for checking $versionChecks = array( // 1.5.0 -> users.active 8 => "SHOW COLUMNS FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "users` LIKE 'active'", // 1.4.1 -> denied_emails 5 => "SHOW TABLES LIKE '" . hesk_dbEscape($hesk_settings['db_pfix']) . "denied_emails'", // 1.4.0 -> denied ips 3 => "SHOW TABLES LIKE '" . hesk_dbEscape($hesk_settings['db_pfix']) . "denied_ips'", // Pre-1.4.0 but still something -> statuses 1 => "SHOW TABLES LIKE '" . hesk_dbEscape($hesk_settings['db_pfix']) . "statuses'" ); foreach ($versionChecks as $migrationNumber => $sql) { $rs = hesk_dbQuery($sql); if (hesk_dbNumRows($rs) > 0) { $startingMigrationNumber = $migrationNumber; break; } } } ?> Mods for HESK <?php echo MODS_FOR_HESK_NEW_VERSION; ?> Install / Upgrade