/**
  * Checks to see if the database information provided is valid or not.
  * @access public
  */
 public static function testDbSettings($dbHostname, $dbName, $dbUsername, $dbPassword)
 {
     $dbConnectionError = "";
     $lang = Core::$language->getCurrentLanguageStrings();
     $link = @mysql_connect($dbHostname, $dbUsername, $dbPassword) or $dbConnectionError = mysql_error();
     if ($dbConnectionError) {
         $placeholders = array("db_connection_error" => $dbConnectionError);
         $error = Templates::evalSmartyString($lang["install_invalid_db_info"], $placeholders);
         return array(false, $error);
     } else {
         $dbSelectError = "";
         @mysql_select_db($dbName) or $dbSelectError = mysql_error();
         if ($dbSelectError) {
             $placeholders = array("db_select_error" => $dbSelectError);
             $error = Template::evalSmartyString($lang["install_no_db_connection"], $placeholders);
             return array(false, $error);
         } else {
             @mysql_close($link);
         }
     }
     return array(true, "");
 }