]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
optimise backlinks counting for pagestats, simplify function returns again
[ikiwiki.git] / IkiWiki.pm
index 73280abf1b13b0f3d56e3c71657ac401da061cc6..aea5b7abf95da33edfd9fc9164622214d61cda91 100644 (file)
@@ -69,15 +69,16 @@ sub defaultconfig () { #{{{
        setup => undef,
        adminuser => undef,
        adminemail => undef,
-       plugin => [qw{mdwn inline htmlscrubber passwordauth signinedit
+       plugin => [qw{mdwn inline htmlscrubber passwordauth openid signinedit
                      lockedit conditional}],
        timeformat => '%c',
        locale => undef,
        sslcookie => 0,
        httpauth => 0,
        userdir => "",
-       usedirs => 0,
+       usedirs => 1,
        numbacklinks => 10,
+       account_creation_password => "",
 } #}}}
    
 sub checkconfig () { #{{{
@@ -178,7 +179,7 @@ sub log_message ($$) { #{{{
                        $log_open=1;
                }
                eval {
-                       Sys::Syslog::syslog($type, "%s", join(" ", @_));
+                       Sys::Syslog::syslog($type, "[$config{wikiname}] %s", join(" ", @_));
                };
        }
        elsif (! $config{cgi}) {
@@ -362,8 +363,14 @@ sub bestlink ($$) { #{{{
                }
        } while $cwd=~s!/?[^/]+$!!;
 
-       if (length $config{userdir} && exists $links{"$config{userdir}/".lc($link)}) {
-               return "$config{userdir}/".lc($link);
+       if (length $config{userdir}) {
+               my $l = "$config{userdir}/".lc($link);
+               if (exists $links{$l}) {
+                       return $l;
+               }
+               elsif (exists $pagecase{lc $l}) {
+                       return $pagecase{lc $l};
+               }
        }
 
        #print STDERR "warning: page $page, broken link: $link\n";
@@ -1005,29 +1012,29 @@ sub pagespec_match ($$;@) { #{{{
 
 package IkiWiki::FailReason;
 
-use overload (
-       '""'    => sub { return ${$_[0]} },
-       '0+'    => sub { return 0 },
+use overload ( #{{{
+       '""'    => sub { ${$_[0]} },
+       '0+'    => sub { 0 },
        '!'     => sub { bless $_[0], 'IkiWiki::SuccessReason'},
        fallback => 1,
-);
+); #}}}
 
-sub new {
+sub new { #{{{
        bless \$_[1], $_[0];
-}
+} #}}}
 
 package IkiWiki::SuccessReason;
 
-use overload (
-       '""'    => sub { return ${$_[0]} },
-       '0+'    => sub { return 1 },
+use overload ( #{{{
+       '""'    => sub { ${$_[0]} },
+       '0+'    => sub { 1 },
        '!'     => sub { bless $_[0], 'IkiWiki::FailReason'},
        fallback => 1,
-);
+); #}}}
 
-sub new {
+sub new { #{{{
        bless \$_[1], $_[0];
-}
+}; #}}}
 
 package IkiWiki::PageSpec;