[Affelio-cvs 25] CVS update: affelio/lib

Back to archive index

Tadashi Okoshi slash****@users*****
2005年 6月 17日 (金) 13:35:40 JST


Index: affelio/lib/Affelio.pm
diff -u affelio/lib/Affelio.pm:1.1.1.1 affelio/lib/Affelio.pm:1.2
--- affelio/lib/Affelio.pm:1.1.1.1	Tue Jun 14 12:53:29 2005
+++ affelio/lib/Affelio.pm	Fri Jun 17 13:35:40 2005
@@ -6,7 +6,7 @@
 #    http://affelio.jp/ (Japan)
 #    http://affelio.jp/ (USA and other area)
 #
-# $Id: Affelio.pm,v 1.1.1.1 2005/06/14 03:53:29 slash5234 Exp $
+# $Id: Affelio.pm,v 1.2 2005/06/17 04:35:40 slash5234 Exp $
 
 package Affelio;
 {
@@ -139,7 +139,9 @@
 	#Load permission manager
 	$self->load_MessageManager();
 
-	$self->load_ApplicationManager();
+	if($self->{mode} ne "init"){
+	    $self->load_ApplicationManager();
+	}
 
 	debug_print("Affelio::new: end.");
 	return $self;
@@ -167,17 +169,31 @@
     ######################################################################
     sub openDB{
 	my $self = shift;
-	#$self->{db} = 
-	#    DBI->connect("DBI:CSV:f_dir=$self->{site__user_dir}")
-	#    or die "Cannot connect: " . $DBI::errstr;
-
-	debug_print("Affelio::openDB: [$self->{site__user_dir}/DB.sqlite]");
-
-	$self->{db} = 
-	    DBI->connect("dbi:SQLite:dbname=$self->{site__user_dir}/DB.sqlite",
-			 "",
-			 "")
-	    or die "Cannot connect to DB: " . $DBI::errstr;
+
+	#Load username and password
+	my $DBConfig = Config::Tiny->new();
+	$DBConfig = Config::Tiny->read("$self->{site__user_dir}/db.cfg");
+	my $rootproperty = $DBConfig->{_}->{rootproperty};
+	my $db_type = $DBConfig->{db}->{type};
+	my $db_dbname   = $DBConfig->{db}->{dbname};
+	my $db_username = $DBConfig->{db}->{username};
+	my $db_password = $DBConfig->{db}->{password};
+	my $db_hostname = $DBConfig->{db}->{hostname};
+	my $db_port = $DBConfig->{db}->{port};
+
+	###MySQL
+	if($db_type eq "mysql"){
+	    my $dsn = "DBI:mysql:$db_dbname:$db_hostname:$db_port";
+	    $self->{db} = DBI->connect($dsn, $db_username, $db_password) or die "Cannot connect to DB: " . $DBI::errstr;
+	}
+	###SQLite
+	if($db_type eq "sqlite"){
+	    debug_print("Affelio::openDB: [$self->{site__user_dir}/DB.sqlite]");
+	    $self->{db} = DBI->connect("dbi:SQLite:dbname=$self->{site__user_dir}/DB.sqlite", "", "") or die "Cannot connect to DB: " . $DBI::errstr;
+	}
+
+	$self->{db}->{RaiseError} = 1;
+
     }
 
     ######################################################################


Affelio-cvs メーリングリストの案内
Back to archive index