]> source.dussan.org Git - nextcloud-server.git/commitdiff
dont create a new user when it already exists
authorRobin Appelman <icewind1991@gmail.com>
Sun, 8 Jan 2012 13:25:38 +0000 (14:25 +0100)
committerRobin Appelman <icewind1991@gmail.com>
Sun, 8 Jan 2012 13:25:38 +0000 (14:25 +0100)
lib/setup.php

index a65dc9453c288ca64c13f2e2929ae833b0a672e4..ebe7a45a1f6f4e7c5488386957180a95e5b2080e 100644 (file)
@@ -98,26 +98,33 @@ class OC_Setup {
                                        );
                                }
                                else {
+                                       $oldUser=OC_Config::getValue('dbuser', false);
+                                       $oldPassword=OC_Config::getValue('dbpassword', false);
+                                       
                                        $query="SELECT user FROM mysql.user WHERE user='$dbuser'"; //this should be enough to check for admin rights in mysql
                                        if(mysql_query($query, $connection)) {
                                                //use the admin login data for the new database user
 
                                                //add prefix to the mysql user name to prevent collissions
                                                $dbusername=substr('oc_'.$username,0,16);
-                                               //hash the password so we don't need to store the admin config in the config file
-                                               $dbpassword=md5(time().$password);
-                                               
-                                               self::createDBUser($dbusername, $dbpassword, $connection);
-                                               
-                                               OC_Config::setValue('dbuser', $dbusername);
-                                               OC_Config::setValue('dbpassword', $dbpassword);
+                                               if($dbusername!=$oldUser){
+                                                       //hash the password so we don't need to store the admin config in the config file
+                                                       $dbpassword=md5(time().$password);
+
+                                                       self::createDBUser($dbusername, $dbpassword, $connection);
+
+                                                       OC_Config::setValue('dbuser', $dbusername);
+                                                       OC_Config::setValue('dbpassword', $dbpassword);
+                                               }
 
                                                //create the database
                                                self::createDatabase($dbname, $dbusername, $connection);
                                        }
                                        else {
-                                               OC_Config::setValue('dbuser', $dbuser);
-                                               OC_Config::setValue('dbpassword', $dbpass);
+                                               if($dbuser!=$oldUser){
+                                                       OC_Config::setValue('dbuser', $dbuser);
+                                                       OC_Config::setValue('dbpassword', $dbpass);
+                                               }
 
                                                //create the database
                                                self::createDatabase($dbname, $dbuser, $connection);