[*] IN : only display the button to create the database if you can actually create the database
This commit is contained in:
@@ -53,7 +53,7 @@ class DbMySQLiCore extends Db
|
||||
return $this->link;
|
||||
}
|
||||
|
||||
public static function createDatabase($host, $user, $password, $dbname)
|
||||
public static function createDatabase($host, $user, $password, $dbname, $dropit = false)
|
||||
{
|
||||
if (strpos($host, ':') !== false)
|
||||
{
|
||||
@@ -62,7 +62,10 @@ class DbMySQLiCore extends Db
|
||||
}
|
||||
else
|
||||
$link = @new mysqli($host, $user, $password);
|
||||
return $link->query('CREATE DATABASE `'.bqSQL($dbname).'`');
|
||||
$success = $link->query('CREATE DATABASE `'.bqSQL($dbname).'`');
|
||||
if ($dropit)
|
||||
$success &= $link->query('DROP DATABASE `'.bqSQL($dbname).'`');
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -46,14 +46,17 @@ class DbPDOCore extends Db
|
||||
return new PDO($dsn, $user, $password, array(PDO::ATTR_TIMEOUT => $timeout, PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
|
||||
}
|
||||
|
||||
public static function createDatabase($host, $user, $password, $dbname)
|
||||
public static function createDatabase($host, $user, $password, $dbname, $dropit = false)
|
||||
{
|
||||
try {
|
||||
$link = DbPDO::_getPDO($host, $user, $password, false);
|
||||
return $link->exec('CREATE DATABASE `'.bqSQL($dbname).'`');
|
||||
$success = $link->exec('CREATE DATABASE `'.bqSQL($dbname).'`');
|
||||
if ($dropit)
|
||||
$success &= $link->exec('DROP DATABASE `'.bqSQL($dbname).'`');
|
||||
} catch (PDOException $e) {
|
||||
return false;
|
||||
$success = false;
|
||||
}
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -47,10 +47,13 @@ class MySQLCore extends Db
|
||||
return $this->link;
|
||||
}
|
||||
|
||||
public static function createDatabase($host, $user, $password, $dbname)
|
||||
public static function createDatabase($host, $user, $password, $dbname, $dropit = false)
|
||||
{
|
||||
$link = mysql_connect($host, $user, $password);
|
||||
return mysql_query('CREATE DATABASE `'.bqSQL($dbname).'`');
|
||||
$success = mysql_query('CREATE DATABASE `'.bqSQL($dbname).'`', $link);
|
||||
if ($dropit)
|
||||
$success &= mysql_query('DROP DATABASE `'.bqSQL($dbname).'`', $link);
|
||||
return $success;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -81,10 +81,11 @@ class InstallModelDatabase extends InstallAbstractModel
|
||||
break;
|
||||
|
||||
case 2:
|
||||
$errors[] = $this->language->l('Connection to MySQL server succeeded, but database "%s" not found', $database).$dbtype.'<br /><br />
|
||||
'.sprintf('<input type="button" value="%s" class="button" id="btCreateDB">
|
||||
<script type="text/javascript">bindCreateDB();</script>',
|
||||
$this->language->l('Attempt to create the database automatically'));
|
||||
$error = $this->language->l('Connection to MySQL server succeeded, but database "%s" not found', $database).$dbtype;
|
||||
if ($this->createDatabase($server, $database, $login, $password, true))
|
||||
$error .= '<p>'.sprintf('<input type="button" value="%s" class="button" id="btCreateDB">', $this->language->l('Attempt to create the database automatically')).'</p>
|
||||
<script type="text/javascript">bindCreateDB();</script>';
|
||||
$errors[] = $error;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -92,10 +93,10 @@ class InstallModelDatabase extends InstallAbstractModel
|
||||
return $errors;
|
||||
}
|
||||
|
||||
public function createDatabase($server, $database, $login, $password)
|
||||
public function createDatabase($server, $database, $login, $password, $dropit = false)
|
||||
{
|
||||
$class = Db::getClass();
|
||||
return $class::createDatabase($server, $login, $password, $database);
|
||||
return $class::createDatabase($server, $login, $password, $database, $dropit);
|
||||
}
|
||||
|
||||
public function getBestEngine($server, $database, $login, $password)
|
||||
|
||||
Reference in New Issue
Block a user