--CRM-16617, code fixing for install, changed the parameters of function
authorPradeep Nayak <pradpnayak@gmail.com>
Tue, 5 Apr 2016 20:57:36 +0000 (02:27 +0530)
committerPradeep Nayak <pradpnayak@gmail.com>
Tue, 5 Apr 2016 21:10:13 +0000 (02:40 +0530)
CRM/Core/DAO.php
install/index.php
tests/phpunit/CRM/Core/DAOTest.php

index fa9fe9859d4998cfcc435087016cd380eb8524d7..dc987eb6cdf7ba58bfbc2747a6f6f6b12f9d7f1a 100644 (file)
@@ -2561,14 +2561,13 @@ SELECT contact_id
   }
 
   /**
-   * function to check valid db name
+   * function to check valid db name containing only characters in [0-9,a-z,A-Z_]
    *
    * @param $database
-   * @param $testDetails
    *
    * @return bool
    */
-  public static function requireValidDBName($database, $testDetails, $object = NULL) {
+  public static function requireValidDBName($database) {
     $matches = array();
     preg_match(
       "/^[0-9]*[a-zA-Z_]+[a-zA-Z0-9_]*$/",
@@ -2576,14 +2575,8 @@ SELECT contact_id
       $matches
     );
     if (empty($matches)) {
-      if ($object) {
-        $object->error($testDetails);
-      }
       return FALSE;
     }
-    if ($object) {
-      $object->testing($testDetails);
-    }
     return TRUE;
   }
 
index cd4091cba25ac8c2d7567606ae354bc82f94f6f6..17a134f03de6cc1318dc0974ea6a904b4f0c5370 100644 (file)
@@ -394,17 +394,18 @@ class InstallRequirements {
             ts("An auto_increment_increment value greater than 1 is not currently supported. Please see issue CRM-7923 for further details and potential workaround."),
           )
         );
-        if (!CRM_Core_DAO::requireValidDBName(
-          $databaseConfig['database'],
-          $this,
-          array(
-            ts("MySQL %1 Configuration", array(1 => $dbName)),
-            ts("Is the provided database name valid?"),
-            ts("The database name provided is not valid. Please use only 0-9, a-z, A-Z and _ as characters in the name."),
-          ))
-        ) {
+        $testDetails = array(
+          ts("MySQL %1 Configuration", array(1 => $dbName)),
+          ts("Is the provided database name valid?"),
+          ts("The database name provided is not valid. Please use only 0-9, a-z, A-Z and _ as characters in the name."),
+        );
+        if (!CRM_Core_DAO::requireValidDBName($databaseConfig['database'])) {
+          $this->error($testDetails);
           return FALSE;
         }
+        else {
+          $this->testing($testDetails);
+        }
         $this->requireMySQLThreadStack($databaseConfig['server'],
           $databaseConfig['username'],
           $databaseConfig['password'],
index 8536ff9921c5760728f8158303540e2c096c045c..c2f67a04c7b8b5f6a9274543f60df340cfb3618d 100644 (file)
@@ -245,7 +245,7 @@ class CRM_Core_DAOTest extends CiviUnitTestCase {
     );
     $testDetails = array();
     foreach ($databases as $database => $val) {
-      $this->assertEquals(CRM_Core_DAO::requireValidDBName($database, $testDetails), $val);
+      $this->assertEquals(CRM_Core_DAO::requireValidDBName($database), $val);
     }
   }