Tadashi Okoshi
slash****@users*****
2006年 6月 1日 (木) 15:34:12 JST
Index: affelio/lib/Affelio.pm
diff -u affelio/lib/Affelio.pm:1.43 affelio/lib/Affelio.pm:1.44
--- affelio/lib/Affelio.pm:1.43 Mon May 29 21:08:49 2006
+++ affelio/lib/Affelio.pm Thu Jun 1 15:34:12 2006
@@ -14,7 +14,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
-# $Id: Affelio.pm,v 1.43 2006/05/29 12:08:49 slash5234 Exp $
+# $Id: Affelio.pm,v 1.44 2006/06/01 06:34:12 slash5234 Exp $
package Affelio;
{
@@ -26,7 +26,6 @@
use lib("../lib");
use Affelio::SNS::FriendManager;
use Affelio::misc::Debug;
- use Affelio::misc::L10N;
use Affelio::misc::WebInput;
use Affelio::misc::Util;
use Affelio::exception::TaintedInputException;
@@ -350,7 +349,13 @@
######################################################################
sub load_Locale{
my $self = shift;
- $self->{lh} = Affelio::misc::L10N->get_handle(($self->{site__locale},"en_us"));
+ my $clsname = "Affelio::App::Standalone::L10N";
+
+ if($ENV{'REDIRECT_AF_EXEC_TYPE'}){
+ $clsname = "Affelio::App::$ENV{'REDIRECT_AF_EXEC_TYPE'}::L10N";
+ }
+ eval "use $clsname";
+ $self->{lh} = $clsname->get_handle(($self->{site__locale},"en_us"));
}
######################################################################
@@ -847,7 +852,7 @@
if($self->{site__farm_mode} eq "AFE2"){
$self->{site__exec_type} = $ENV{'REDIRECT_AF_EXEC_TYPE'};
}else{
- $self->{site__exec_type} = "";
+ $self->{site__exec_type} = "Standalone";
}
debug_print("Affelio::read_site_config: site__exec_type = [$self->{site__exec_type}]");
@@ -956,31 +961,24 @@
my $self = shift;
debug_print("Affelio::write_user_prefs: start.");
- require Config::Tiny;
- my $Config = Config::Tiny->new();
- $Config = Config::Tiny->read("$self->{site__user_dir}/preference.cfg");
+ require Config::IniFiles;
+ my $Config = new Config::IniFiles -file => "$self->{site__user_dir}/preference.cfg";
if($@ || !$Config){
throw Affelio::exception::SystemException("preference.cfg not found");
}
- my $rootproperty = $Config->{_}->{rootproperty};
-
#Write preferences
-
- $Config->{messaging}->{emailflg} =
- $self->{userpref__mesging__emailflg};
- $Config->{preference}->{toppage_app_installname} =
- $self->{userpref__toppage_app_installname};
- $Config->{preference}->{emailack_friendship_recv} =
- $self->{userpref__emailack_fr_recv};
- $Config->{preference}->{preferred_hosting_service} =
- $self->{userpref__preferred_hosting_service};
- $Config->{preference}->{skin}= $self->{userpref__skin};
-
- $Config->{preference}->{password_remoteop}=
- $self->{userpref__password_remoteop};
-
- $Config->write("$self->{site__user_dir}/preference.cfg");
+ foreach my $key (sort keys %$self){
+ if($key =~ /userpref__/){
+ my $key2 = $key;
+ $key2 =~ s/userpref__//g;
+ debug_print("ProfileManager::save_profile: $key2 = $self->{$key}");
+ if($self->{$key} ne ""){
+ $Config->setval("preference", $key2, "$self->{$key}");
+ }
+ }
+ }
+ $Config->RewriteConfig();
if($@ || !$Config){
throw Affelio::exception::SystemException("preference.cfg is not writable.");
}
@@ -996,32 +994,22 @@
debug_print("Affelio::read_user_prefs: start.");
my $wi = new Affelio::misc::WebInput;
-
- require Config::Tiny;
- my $Config = Config::Tiny->new();
- $Config = Config::Tiny->read("$self->{site__user_dir}/preference.cfg");
+
+ require Config::IniFiles;
+ my $Config = new Config::IniFiles -file => "$self->{site__user_dir}/preference.cfg";
if($@ || !$Config){
throw Affelio::exception::SystemException("Cannot open preference.cfg");
}
-
- my $rootproperty = $Config->{_}->{rootproperty};
- #Read preferences
- $self->{userpref__toppage_app_installname}
- = $wi->PTN_word($Config->{preference}->{toppage_app_installname});
- $self->{userpref__emailack_fr_recv}
- = $wi->PTN_word($Config->{preference}->{emailack_friendship_recv});
- $self->{userpref__preferred_hosting_service}
- = $wi->PTN_URL($Config->{preference}->{preferred_hosting_service});
- $self->{userpref__skin}
- = $wi->PTN_word($Config->{preference}->{skin});
-
- $self->{userpref__password_remoteop}
- = $Config->{preference}->{password_remoteop};
-
- $self->{userpref__mesging__emailflg}
- = $wi->PTN_word($Config->{messaging}->{emailflg});
- if($self->{userpref__mesging__emailflg} eq ""){
+ my @parameters = $Config->Parameters("preference");
+
+ #preference section
+ foreach my $key (@parameters){
+ $self->{"userpref__$key"} = $Config->val("preference", $key);
+ }
+
+ #for backward compatibility
+ if($self->{userpref__mesging__emailflg} ne "no"){
$self->{userpref__mesging__emailflg} = "yes";
}