factor out a userpage function
authorJoey Hess <joey@gnu.kitenet.net>
Thu, 4 Feb 2010 23:24:15 +0000 (18:24 -0500)
committerJoey Hess <joey@gnu.kitenet.net>
Thu, 4 Feb 2010 23:24:15 +0000 (18:24 -0500)
Not yet exported, as only 4 quite core plugins use it.

IkiWiki.pm
IkiWiki/Plugin/comments.pm
IkiWiki/Plugin/editpage.pm
IkiWiki/Plugin/passwordauth.pm
IkiWiki/Plugin/recentchanges.pm

index 6226824df1ca7939779998f1197fb73c2d922c1d..0715f186962032e48dd5c1ca508652c2935dc3ff 100644 (file)
@@ -1090,6 +1090,11 @@ sub htmllink ($$$;@) {
        return "<a href=\"$bestlink\"@attrs>$linktext</a>";
 }
 
+sub userpage ($) {
+       my $user=shift;
+       return length $config{userdir} ? "$config{userdir}/$user" : $user;
+}
+
 sub openiduser ($) {
        my $user=shift;
 
index 5586cca522e5cb2e43422d99c267235197985c5d..caed0d58c5e05fedc70a7a480a5247e728c83b69 100644 (file)
@@ -171,9 +171,8 @@ sub preprocess {
                else {
                        $commentauthorurl = IkiWiki::cgiurl(
                                do => 'goto',
-                               page => (length $config{userdir}
-                                       ? "$config{userdir}/$commentuser"
-                                       : "$commentuser"));
+                               page => IkiWiki::userpage($commentuser)
+                       );
 
                        $commentauthor = $commentuser;
                }
index fca970c60be3a13199298ddf736c70d14dd2528d..219386a30c26245445985629cac48978024ee531 100644 (file)
@@ -245,8 +245,9 @@ sub cgi_editpage ($$) {
                                        push @page_locs, $dir.$page;
                                }
                        
-                               push @page_locs, "$config{userdir}/$page"
-                                       if length $config{userdir};
+                               my $userpage=IkiWiki::userpage($page);
+                               push @page_locs, $userpage
+                                       if ! grep { $_ eq $userpage } @page_locs;
                        }
 
                        @page_locs = grep {
index b3a798055fea9c4315c52be3e8c4794dd17a9e56..c07065b7dca7b3f476f2e1a7add35bf0423855ca 100644 (file)
@@ -223,7 +223,7 @@ sub formbuilder_setup (@) {
                                        shift eq $form->field("password");
                                });
                        
-                       my $userpage=$config{userdir} ? $config{userdir}."/".$user : $user;
+                       my $userpage=IkiWiki::userpage($user);
                        if (exists $pagesources{$userpage}) {
                                $form->text(gettext("Your user page: ").
                                        htmllink("", "", $userpage,
index fa851e46678f208efa04def72e988366df6ea87d..5c7b71aaa64bd02e310b6c5428224ce68ba0679a 100644 (file)
@@ -124,7 +124,7 @@ sub store ($$$) {
        elsif (length $config{cgiurl}) {
                $change->{authorurl} = IkiWiki::cgiurl(
                        do => "goto",
-                       page => (length $config{userdir} ? "$config{userdir}/" : "").$change->{author},
+                       page => IkiWiki::userpage($change->{author}),
                );
        }