]> www.wagner.pp.ru Git - oss/vjournal.git/blobdiff - lib/VJournal/ProviderList.pm
Merge branch 'master' of https://www.wagner.pp.ru/git/oss/vjournal
[oss/vjournal.git] / lib / VJournal / ProviderList.pm
index 6ce8e81e39aec16add79013ea6333967ec84faaf..c4374e713309de9bee7215faa2c803666a112f24 100644 (file)
@@ -1,21 +1,26 @@
 package VJournal::ProviderList;
 use VJournal::Session;
 use Carp;
-use constant PROVIDER_LIST_FILE="providers.lst";
+use constant PROVIDER_LIST_FILE=>"providers.lst";
 
 sub new {
        my $class=shift;
-       if (!exists $VJournal::Session::config{-statedir})
-       croak("VJournal::Session config is not loaded");
+       croak("VJournal::Session config is not loaded") 
+               if (!exists $VJournal::Session::config{-statedir});
        my $f;
-       open
-       $f,"<",$VJournal::Session::config{-statedir}."/".PROVIDER_LIST_FILE or croak("cannot find provider list file");
+       open $f,"<",$VJournal::Session::config{-statedir}."/".PROVIDER_LIST_FILE or croak("cannot find provider list file");
        my $self={};
+       SITE:
        while (<$f>) {
+               next SITE if /^\s*#/;
                chomp;
-               my ($id,$name,$format,$translate_underscore,$format2,$urlasname}=split (":")
-               $self->{$id}={-id=>$id,-name=>$name,$format=>[$format,($format2?$format2:())],
-                       -translate_underscore=>$translate_underscore,-url_as_name=>$urlasname};
+               my ($id,$name,$format,$translate_underscore,$format2,$urlasname)=split(":");
+               next SITE unless $id=~/\w+/;
+               $self->{$id}={-id=>$id,
+                       -name=>$name,
+                       -format=>[$format,($format2?$format2:())],
+                       -translate_underscore=>$translate_underscore,
+                       -url_as_name=>$urlasname};
        }
        close $f;
        return bless $self,$class;
@@ -24,33 +29,33 @@ sub new {
 sub menu {
        my $self=shift;
        my @out;
-       for my $site (values $self) {
+       for my $site (values %$self) {
                push @out,{id=>$site->{-id},name=>$site->{-name}};
        }
-       push @out,{id=>"_",name=>"Other site");
+       push @out,{id=>"_",name=>"Other site"};
        return @out;
 }
 
 sub useruri {
-       my ($self,$user,$site_id) = @;
-       if (!exists $self->{$site_id}) {
+       my ($self,$user,$site_id) = @_;
+       if (!exists($self->{$site_id})) {
                # If no valid site id provided, assume that we have just openid
                # url instead of user name
                return $user;
        }
        my $site=$self->{$site_id};
-       if (!index($site->{-format}[0],"%s")>0) {
+       if (!index($site->{-format}[0],"%s")>=0) {
                return $site->{-format}[0];
        }
        if ($site->{-translate_underscore}) {
                if (defined $site->{-format}[1] && ($user=~/^_/ || $user=~/_$/))
                {
-                       return sprintf $site->{-format}[1],$user);
+                       return sprintf($site->{-format}[1],$user);
                } else {
                        $user =~ tr/_/-/;
                }
        }       
-       return sprintf $site->{-format}[0],$user);
+       return sprintf($site->{-format}[0],$user);
 }
 
 sub meaningless_url {