Tadashi Okoshi
slash****@users*****
2005年 6月 30日 (木) 04:32:38 JST
Index: affelio/lib/Affelio.pm diff -u affelio/lib/Affelio.pm:1.12 affelio/lib/Affelio.pm:1.13 --- affelio/lib/Affelio.pm:1.12 Thu Jun 30 03:15:00 2005 +++ affelio/lib/Affelio.pm Thu Jun 30 04:32:38 2005 @@ -4,7 +4,7 @@ # http://affelio.jp/ (Japan) # http://affelio.jp/ (USA and other area) # -# $Id: Affelio.pm,v 1.12 2005/06/29 18:15:00 slash5234 Exp $ +# $Id: Affelio.pm,v 1.13 2005/06/29 19:32:38 slash5234 Exp $ package Affelio; { @@ -275,7 +275,6 @@ return($ret); } - ###################################################################### #load_Locale ###################################################################### @@ -296,7 +295,7 @@ catch Error with { my $ex = shift; if($self->{mode} ne "init"){ - die "Cannot load profilemanager"; + throw Affelio::exception::SystemException("Cannot load profilemanager: $ex"); } }; } @@ -311,7 +310,7 @@ }catch Error with { my $ex = shift; if($self->{mode} ne "init"){ - die "Cannot load FriendManager"; + throw Affelio::exception::SystemException("Cannot load FriendManager: $ex"); } }; } @@ -327,7 +326,7 @@ catch Error with { my $ex = shift; if($self->{mode} ne "init"){ - die "Cannot load group manager"; + throw Affelio::exception::SystemException("Cannot load GroupManager: $ex"); } }; @@ -344,7 +343,7 @@ catch Error with { my $ex = shift; if($self->{mode} ne "init"){ - die "Cannot load permission manager"; + throw Affelio::exception::SystemException("Cannot load PermissionManager: $ex"); } }; } @@ -360,7 +359,7 @@ catch Error with { my $ex = shift; if($self->{mode} ne "init"){ - die "Cannot load message manager"; + throw Affelio::exception::SystemException("Cannot load MessageManager: $ex"); } }; @@ -377,7 +376,7 @@ catch Error with { my $ex = shift; if($self->{mode} ne "init"){ - die "Cannot load accesslog manager"; + throw Affelio::exception::SystemException("Cannot load AccessLogManager: $ex"); } }; @@ -413,7 +412,7 @@ }catch Error with { my $ex = shift; if($self->{mode} ne "init"){ - die "Cannot load application manager"; + throw Affelio::exception::SystemException("Cannot load ApplicationManager: $ex"); } }; @@ -433,6 +432,10 @@ my $Config = Config::Tiny->new(); $Config = Config::Tiny->read($self->{cfg_path}); + if($@ || !$Config){ + throw Affelio::exception::SystemException("affelio.cfg not found"); + } + #print "$self->{cfg_path}\n"; my $rootproperty = $Config->{_}->{rootproperty}; @@ -456,21 +459,27 @@ #Determine userdata/..../ directory my $dir; - opendir(DIR, "$self->{cfg_dir}/userdata"); - while (defined($dir = readdir(DIR))) { - #print "$dir\n"; - if(($dir ne '.') && ($dir ne '..') - && ($dir ne 'default') && ($dir ne 'CVS')){ - $self->{site__user_dir} = - $wi->PTN_dirname("$self->{cfg_dir}/userdata/$dir"); + eval{ + opendir(DIR, "$self->{cfg_dir}/userdata"); + while (defined($dir = readdir(DIR))) { + if(($dir ne '.') && ($dir ne '..') + && ($dir ne 'default') && ($dir ne 'CVS')){ + $self->{site__user_dir} = + $wi->PTN_dirname("$self->{cfg_dir}/userdata/$dir"); + } } + }; + if($@){ + throw Affelio::exception::SystemException("cannot open userdata directory."); } - #print "[$self->{site__user_dir}]\n"; closedir(DIR); - + #Load username and password my $Config2 = Config::Tiny->new(); $Config2 = Config::Tiny->read("$self->{site__user_dir}/login.cfg"); + if($@ || !$Config2){ + throw Affelio::exception::SystemException("login.cfg not found"); + } my $rootproperty2 = $Config2->{_}->{rootproperty}; $self->{site__username} = $wi->PTN_nickname($Config2->{auth}->{username}); $self->{site__password} = $Config2->{auth}->{password}; @@ -490,6 +499,10 @@ my $Config = Config::Tiny->new(); $Config = Config::Tiny->read("$self->{site__user_dir}/preference.cfg"); + if($@ || !$Config){ + throw Affelio::exception::SystemException("preference.cfg not found"); + } + my $rootproperty = $Config->{_}->{rootproperty}; #Write preferences @@ -506,6 +519,9 @@ $self->{userpref__skin}; $Config->write("$self->{site__user_dir}/preference.cfg"); + if($@ || !$Config){ + throw Affelio::exception::SystemException("preference.cfg is not writable."); + } debug_print("Affelio::write_user_prefs: end."); } @@ -521,6 +537,10 @@ my $Config = Config::Tiny->new(); $Config = Config::Tiny->read("$self->{site__user_dir}/preference.cfg"); + if($@ || !$Config){ + throw Affelio::exception::SystemException("Cannot open preference.cfg"); + } + my $rootproperty = $Config->{_}->{rootproperty}; #Read preferences @@ -700,32 +720,6 @@ } - ###################################################################### - #print stuff - ###################################################################### - sub print_site_config{ - my $self = shift; - - print "$self->{site__fs_root}\n". - "$self->{site__web_root}\n". - "$self->{cmd__nkf}\n". - "$self->{cmd__sendmail}\n"; - } - - sub print_user_config{ - my $self = shift; - - print "$self->{site__username}\n". - "$self->{site__password}\n". - "$self->{user__n_family}\n". - "$self->{user__n_given}\n". - "$self->{user__nickname}\n". - "$self->{user__url}\n". - "$self->{user__email1}\n". - "$self->{user__services}\n"; - } - - }#package 1; ##########################################################################