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; + } ######################################################################