From: Pradeep Nayak Date: Tue, 25 Aug 2015 21:28:32 +0000 (+0530) Subject: -- CRM-16617, added function to check valid db name X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=1d4fc66e66775b2cbbe5646c39d9ad11ec520c21;p=civicrm-core.git -- CRM-16617, added function to check valid db name ---------------------------------------- * CRM-16617: https://issues.civicrm.org/jira/browse/CRM-16617 --- diff --git a/install/index.php b/install/index.php index 313a91d25f..372b567125 100644 --- a/install/index.php +++ b/install/index.php @@ -408,6 +408,14 @@ class InstallRequirements { ); } $onlyRequire = ($dbName == 'Drupal') ? TRUE : FALSE; + $this->requireValidDBName( + $databaseConfig['database'], + 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."), + ) + ); $this->requireDatabaseOrCreatePermissions( $databaseConfig['server'], $databaseConfig['username'], @@ -1273,6 +1281,25 @@ class InstallRequirements { return count($this->warnings); } + /** + * function to check valid db name + * + * @param $database + * @param $testDetails + */ + public function requireValidDBName($database, $testDetails) { + $matches = array(); + preg_match( + "/^[0-9]*[a-zA-Z_]+[a-zA-Z0-9_]*$/", + $database, + $matches + ); + if (empty($matches)) { + $this->error($testDetails); + return; + } + } + } /**