summaryrefslogtreecommitdiffstats
path: root/lib/setup/mssql.php
diff options
context:
space:
mode:
Diffstat (limited to 'lib/setup/mssql.php')
-rw-r--r--lib/setup/mssql.php54
1 files changed, 27 insertions, 27 deletions
diff --git a/lib/setup/mssql.php b/lib/setup/mssql.php
index b3e08fb4fa5..a1414a9ac57 100644
--- a/lib/setup/mssql.php
+++ b/lib/setup/mssql.php
@@ -2,14 +2,12 @@
namespace OC\Setup;
-class MSSQL {
- public static function setupDatabase($dbhost, $dbuser, $dbpass, $dbname, $dbtableprefix) {
- $l = \OC_Setup::getTrans();
-
+class MSSQL extends AbstractDatabase {
+ public function setupDatabase() {
//check if the database user has admin right
- $masterConnectionInfo = array( "Database" => "master", "UID" => $dbuser, "PWD" => $dbpass);
+ $masterConnectionInfo = array( "Database" => "master", "UID" => $this->dbuser, "PWD" => $this->dbpassword);
- $masterConnection = @sqlsrv_connect($dbhost, $masterConnectionInfo);
+ $masterConnection = @sqlsrv_connect($this->dbhost, $masterConnectionInfo);
if(!$masterConnection) {
$entry = null;
if( ($errors = sqlsrv_errors() ) != null) {
@@ -17,26 +15,26 @@ class MSSQL {
} else {
$entry = '';
}
- throw new DatabaseSetupException($l->t('MS SQL username and/or password not valid: %s', array($entry)),
- $l->t('You need to enter either an existing account or the administrator.'));
+ throw new \DatabaseSetupException($this->trans->t('MS SQL username and/or password not valid: %s', array($entry)),
+ $this->trans->t('You need to enter either an existing account or the administrator.'));
}
- \OC_Config::setValue('dbuser', $dbuser);
- \OC_Config::setValue('dbpassword', $dbpass);
+ \OC_Config::setValue('dbuser', $this->dbuser);
+ \OC_Config::setValue('dbpassword', $this->dbpassword);
- self::createDBLogin($dbuser, $dbpass, $masterConnection);
+ $this->createDBLogin($masterConnection);
- self::createDatabase($dbname, $masterConnection);
+ $this->createDatabase($masterConnection);
- self::createDBUser($dbuser, $dbname, $masterConnection);
+ $this->createDBUser($masterConnection);
sqlsrv_close($masterConnection);
- self::createDatabaseStructure($dbhost, $dbname, $dbuser, $dbpass, $dbtableprefix);
+ $this->createDatabaseStructure();
}
- private static function createDBLogin($name, $password, $connection) {
- $query = "SELECT * FROM master.sys.server_principals WHERE name = '".$name."';";
+ private function createDBLogin($connection) {
+ $query = "SELECT * FROM master.sys.server_principals WHERE name = '".$this->dbuser."';";
$result = sqlsrv_query($connection, $query);
if ($result === false) {
if ( ($errors = sqlsrv_errors() ) != null) {
@@ -59,7 +57,7 @@ class MSSQL {
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
} else {
if ($row == null) {
- $query = "CREATE LOGIN [".$name."] WITH PASSWORD = '".$password."';";
+ $query = "CREATE LOGIN [".$this->dbuser."] WITH PASSWORD = '".$this->dbpassword."';";
$result = sqlsrv_query($connection, $query);
if (!$result or $result === false) {
if ( ($errors = sqlsrv_errors() ) != null) {
@@ -75,8 +73,8 @@ class MSSQL {
}
}
- private static function createDBUser($name, $dbname, $connection) {
- $query = "SELECT * FROM [".$dbname."].sys.database_principals WHERE name = '".$name."';";
+ private function createDBUser($connection) {
+ $query = "SELECT * FROM [".$this->dbname."].sys.database_principals WHERE name = '".$this->dbuser."';";
$result = sqlsrv_query($connection, $query);
if ($result === false) {
if ( ($errors = sqlsrv_errors() ) != null) {
@@ -99,7 +97,7 @@ class MSSQL {
\OC_Log::write('setup.mssql', $entry, \OC_Log::WARN);
} else {
if ($row == null) {
- $query = "USE [".$dbname."]; CREATE USER [".$name."] FOR LOGIN [".$name."];";
+ $query = "USE [".$this->dbname."]; CREATE USER [".$this->dbuser."] FOR LOGIN [".$this->dbuser."];";
$result = sqlsrv_query($connection, $query);
if (!$result || $result === false) {
if ( ($errors = sqlsrv_errors() ) != null) {
@@ -112,7 +110,7 @@ class MSSQL {
}
}
- $query = "USE [".$dbname."]; EXEC sp_addrolemember 'db_owner', '".$name."';";
+ $query = "USE [".$this->dbname."]; EXEC sp_addrolemember 'db_owner', '".$this->dbuser."';";
$result = sqlsrv_query($connection, $query);
if (!$result || $result === false) {
if ( ($errors = sqlsrv_errors() ) != null) {
@@ -127,8 +125,8 @@ class MSSQL {
}
}
- private static function createDatabase($dbname, $connection) {
- $query = "CREATE DATABASE [".$dbname."];";
+ private function createDatabase($connection) {
+ $query = "CREATE DATABASE [".$this->dbname."];";
$result = sqlsrv_query($connection, $query);
if (!$result || $result === false) {
if ( ($errors = sqlsrv_errors() ) != null) {
@@ -141,13 +139,15 @@ class MSSQL {
}
}
- private static function createDatabaseStructure($dbhost, $dbname, $dbuser, $dbpass, $dbtableprefix) {
- $connectionInfo = array( "Database" => $dbname, "UID" => $dbuser, "PWD" => $dbpass);
+ private function createDatabaseStructure() {
+ $connectionInfo = array( "Database" => $this->dbname, "UID" => $this->dbuser, "PWD" => $this->dbpassword);
- $connection = @sqlsrv_connect($dbhost, $connectionInfo);
+ $connection = @sqlsrv_connect($this->dbhost, $connectionInfo);
//fill the database if needed
- $query = "SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '{$dbname}' AND TABLE_NAME = '{$dbtableprefix}users'";
+ $query = "SELECT * FROM INFORMATION_SCHEMA.TABLES"
+ ." WHERE TABLE_SCHEMA = '".$this->dbname."'"
+ ." AND TABLE_NAME = '".$this->dbtableprefix."users'";
$result = sqlsrv_query($connection, $query);
if ($result === false) {
if ( ($errors = sqlsrv_errors() ) != null) {