Rewrite jquery.dashboard.js as Angular app
[civicrm-core.git] / CRM / Upgrade / Form.php
index c2788e63ed005d595e22cb4257f38381ccbedd39..2ab3c1c7e8d87d909d729d1638c3e331336e53e9 100644 (file)
@@ -25,7 +25,7 @@ class CRM_Upgrade_Form extends CRM_Core_Form {
   /**
    * Minimum previous CiviCRM version we can directly upgrade from
    */
-  const MINIMUM_UPGRADABLE_VERSION = '4.2.9';
+  const MINIMUM_UPGRADABLE_VERSION = '4.4.7';
 
   /**
    * @var \CRM_Core_Config
@@ -68,11 +68,10 @@ class CRM_Upgrade_Form extends CRM_Core_Form {
   ) {
     $this->_config = CRM_Core_Config::singleton();
 
-    $domain = new CRM_Core_DAO_Domain();
-    $domain->find(TRUE);
+    $locales = CRM_Core_I18n::getMultilingual();
 
-    $this->multilingual = (bool) $domain->locales;
-    $this->locales = explode(CRM_Core_DAO::VALUE_SEPARATOR, $domain->locales);
+    $this->multilingual = (bool) $locales;
+    $this->locales = $locales;
 
     $smarty = CRM_Core_Smarty::singleton();
     //$smarty->compile_dir = $this->_config->templateCompileDir;
@@ -287,19 +286,6 @@ SET    version = '$version'
     return FALSE;
   }
 
-  /**
-   * @param $version
-   *
-   * @return bool
-   */
-  public function checkVersion($version) {
-    $domainID = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Domain',
-      $version, 'id',
-      'version'
-    );
-    return (bool) $domainID;
-  }
-
   /**
    * @return array
    * @throws Exception
@@ -453,6 +439,16 @@ SET    version = '$version'
         ]);
     }
 
+    if (version_compare(CRM_Utils_SQL::getDatabaseVersion(), CRM_Upgrade_Incremental_General::MIN_INSTALL_MYSQL_VER) < 0) {
+      $error = ts('CiviCRM %4 requires MySQL version v%1 or MariaDB v%3 (or newer), but the current system uses %2 ',
+        [
+          1 => CRM_Upgrade_Incremental_General::MIN_INSTALL_MYSQL_VER,
+          2 => CRM_Utils_SQL::getDatabaseVersion(),
+          3 => '10.1',
+          4 => $latestVer,
+        ]);
+    }
+
     // check for mysql trigger privileges
     if (!\Civi::settings()->get('logging_no_trigger_permission') && !CRM_Core_DAO::checkTriggerViewPermission(FALSE, TRUE)) {
       $error = ts('CiviCRM %1 requires MySQL trigger privileges.',