[LON-CAPA-cvs] cvs: loncom /interface lonmysql.pm

matthew lon-capa-cvs@mail.lon-capa.org
Mon, 21 Feb 2005 17:23:32 -0000


matthew		Mon Feb 21 12:23:32 2005 EDT

  Modified files:              
    /loncom/interface	lonmysql.pm 
  Log:
  Added ability to specify the database to connect to in 
  &set_mysql_user_and_password() to make it possible to test lonmysql.
  
  
Index: loncom/interface/lonmysql.pm
diff -u loncom/interface/lonmysql.pm:1.26 loncom/interface/lonmysql.pm:1.27
--- loncom/interface/lonmysql.pm:1.26	Wed Feb  9 16:21:08 2005
+++ loncom/interface/lonmysql.pm	Mon Feb 21 12:23:32 2005
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # MySQL utility functions
 #
-# $Id: lonmysql.pm,v 1.26 2005/02/09 21:21:08 matthew Exp $
+# $Id: lonmysql.pm,v 1.27 2005/02/21 17:23:32 matthew Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -35,11 +35,18 @@
 
 my $mysqluser;
 my $mysqlpassword;
+my $mysqldatabase;
 
 sub set_mysql_user_and_password {
     # If we are running under Apache and LONCAPA, use the LON-CAPA 
     # user and password.  Otherwise...? ? ? ?
-    ($mysqluser,$mysqlpassword) = @_;
+    my ($input_mysqluser,$input_mysqlpassword,$input_mysqldatabase) = @_;
+    if (! defined($mysqldatabase)) {
+        $mysqldatabase = 'loncapa';
+    }
+    if (defined($input_mysqldatabase)) {
+        $mysqldatabase = $input_mysqldatabase;
+    }
     if (! defined($mysqluser) || ! defined($mysqlpassword)) {
         if (! eval 'require Apache::lonnet();') {
             $mysqluser = 'www';
@@ -49,6 +56,12 @@
             $mysqlpassword = '';
         }
     }
+    if (defined($input_mysqluser)) {
+        $mysqluser = $input_mysqluser;
+    } 
+    if (defined($input_mysqlpassword)) {
+        $mysqlpassword = $input_mysqlpassword;
+    }
 }
 
 ######################################################################
@@ -349,7 +362,7 @@
     if (! defined($mysqluser) || ! defined($mysqlpassword)) {
         &set_mysql_user_and_password();
     }
-    if (! ($dbh = DBI->connect("DBI:mysql:loncapa",$mysqluser,$mysqlpassword,
+    if (! ($dbh = DBI->connect("DBI:mysql:$mysqldatabase",$mysqluser,$mysqlpassword,
                                { RaiseError=>0,PrintError=>0}))) {
         $debugstring = "Unable to connect to loncapa database.";    
         if (! defined($dbh)) {