]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
* Add canedit hook, allowing arbitrary controls over when a page can be
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Fri, 2 Feb 2007 02:33:03 +0000 (02:33 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Fri, 2 Feb 2007 02:33:03 +0000 (02:33 +0000)
  edited.
* Move code forcing signing before edit to a new "signinedit" plugin, and
  code checking for locked pages into a new "lockedit" plugin. Both are
  enabled by default.
* Remove the anonok config setting. This is now implemented by a new
  "anonok" plugin. Anyone with a wiki allowing anonymous edits should
  change their configs to enable this new plugin.
* Add an opendiscussion plugin that allows anonymous users to edit
  discussion pages, on a wiki that is otherwise wouldn't allow it.
* Lots of CGI code reorg and cleanup.

34 files changed:
IkiWiki.pm
IkiWiki/CGI.pm
IkiWiki/Plugin/anonok.pm [new file with mode: 0644]
IkiWiki/Plugin/lockedit.pm [new file with mode: 0644]
IkiWiki/Plugin/opendiscussion.pm [new file with mode: 0644]
IkiWiki/Plugin/openid.pm
IkiWiki/Plugin/passwordauth.pm
IkiWiki/Plugin/signinedit.pm [new file with mode: 0644]
IkiWiki/Plugin/skeleton.pm
debian/NEWS
debian/changelog
doc/features.mdwn
doc/ikiwiki.setup
doc/index/discussion.mdwn
doc/plugins.mdwn
doc/plugins/anonok.mdwn [new file with mode: 0644]
doc/plugins/lockedit.mdwn [new file with mode: 0644]
doc/plugins/opendiscussion.mdwn [new file with mode: 0644]
doc/plugins/signinedit.mdwn [new file with mode: 0644]
doc/plugins/type/auth.mdwn
doc/plugins/write.mdwn
doc/todo/discuss_without_login.mdwn [new file with mode: 0644]
doc/usage.mdwn
doc/w3mmode/ikiwiki.setup
ikiwiki.in
po/bg.po
po/cs.po
po/es.po
po/fr.po
po/gu.po
po/ikiwiki.pot
po/pl.po
po/sv.po
po/vi.po

index 292f18f5e0228207513f3a0a6a1bfa43c2dc9af2..2d692a9784e67548382e0e5e36252f5992b5eb48 100644 (file)
@@ -44,7 +44,6 @@ sub defaultconfig () { #{{{
        cgiurl => '',
        historyurl => '',
        diffurl => '',
        cgiurl => '',
        historyurl => '',
        diffurl => '',
-       anonok => 0,
        rss => 0,
        atom => 0,
        discussion => 1,
        rss => 0,
        atom => 0,
        discussion => 1,
@@ -66,7 +65,7 @@ sub defaultconfig () { #{{{
        setup => undef,
        adminuser => undef,
        adminemail => undef,
        setup => undef,
        adminuser => undef,
        adminemail => undef,
-       plugin => [qw{mdwn inline htmlscrubber passwordauth}],
+       plugin => [qw{mdwn inline htmlscrubber passwordauth signinedit lockedit}],
        timeformat => '%c',
        locale => undef,
        sslcookie => 0,
        timeformat => '%c',
        locale => undef,
        sslcookie => 0,
index 0c66705469185954acf8eadf4200bb17e0e18d36..a8e610e2de1c193900404f1d8dbb2d8796c919e3 100644 (file)
@@ -33,28 +33,25 @@ sub redirect ($$) { #{{{
        }
 } #}}}
 
        }
 } #}}}
 
-sub page_locked ($$;$) { #{{{
+sub check_canedit ($$$;$) { #{{{
        my $page=shift;
        my $page=shift;
+       my $q=shift;
        my $session=shift;
        my $nonfatal=shift;
        
        my $session=shift;
        my $nonfatal=shift;
        
-       my $user=$session->param("name");
-       return if defined $user && is_admin($user);
-
-       foreach my $admin (@{$config{adminuser}}) {
-               my $locked_pages=userinfo_get($admin, "locked_pages");
-               if (pagespec_match($page, userinfo_get($admin, "locked_pages"))) {
-                       return 1 if $nonfatal;
-
-                       #translators: The first parameter is a page name,
-                       #translators: second is the user who locked it.
-                       error(sprintf(gettext("%s is locked by %s and cannot be edited"),
-                               htmllink("", "", $page, 1),
-                               userlink($admin)));
+       my $canedit;
+       run_hooks(canedit => sub {
+               return if defined $canedit;
+               my $ret=shift->($page, $q, $session);
+               if (defined $ret && $ret eq "") {
+                       $canedit=1;
                }
                }
-       }
-
-       return 0;
+               elsif (defined $ret) {
+                       $canedit=0;
+                       error($ret) unless $nonfatal;
+               }
+       });
+       return $canedit;
 } #}}}
 
 sub decode_form_utf8 ($) { #{{{
 } #}}}
 
 sub decode_form_utf8 ($) { #{{{
@@ -113,6 +110,23 @@ sub cgi_recentchanges ($) { #{{{
        print $q->header(-charset => 'utf-8'), $template->output;
 } #}}}
 
        print $q->header(-charset => 'utf-8'), $template->output;
 } #}}}
 
+# Check if the user is signed in. If not, redirect to the signin form and
+# save their place to return to later.
+sub needsignin ($$) { #{{{
+       my $q=shift;
+       my $session=shift;
+
+       if (! defined $session->param("name") ||
+           ! userinfo_get($session->param("name"), "regdate")) {
+               if (! defined $session->param("postsignin")) {
+                       $session->param(postsignin => $ENV{QUERY_STRING});
+               }
+               cgi_signin($q, $session);
+               cgi_savesession($session);
+               exit;
+       }
+} #}}} 
+
 sub cgi_signin ($$) { #{{{
        my $q=shift;
        my $session=shift;
 sub cgi_signin ($$) { #{{{
        my $q=shift;
        my $session=shift;
@@ -134,11 +148,11 @@ sub cgi_signin ($$) { #{{{
        );
        my $buttons=["Login"];
        
        );
        my $buttons=["Login"];
        
-       $form->field(name => "do", type => "hidden");
-       
        if ($q->param("do") ne "signin" && !$form->submitted) {
                $form->text(gettext("You need to log in first."));
        }
        if ($q->param("do") ne "signin" && !$form->submitted) {
                $form->text(gettext("You need to log in first."));
        }
+       $form->field(name => "do", type => "hidden", value => "signin",
+               force => 1);
        
        run_hooks(formbuilder_setup => sub {
                shift->(form => $form, cgi => $q, session => $session);
        
        run_hooks(formbuilder_setup => sub {
                shift->(form => $form, cgi => $q, session => $session);
@@ -166,23 +180,19 @@ sub cgi_postsignin ($$) { #{{{
        my $session=shift;
 
        # Continue with whatever was being done before the signin process.
        my $session=shift;
 
        # Continue with whatever was being done before the signin process.
-       if (defined $q->param("do") && $q->param("do") ne "signin" &&
-           defined $session->param("postsignin")) {
-               my $postsignin=CGI->new($session->param("postsignin"));
-               $session->clear("postsignin");
-               cgi($postsignin, $session);
-               cgi_savesession($session);
-               exit;
-       }
-       else {
-               redirect($q, $config{url});
-       }
+       my $postsignin=CGI->new($session->param("postsignin"));
+       $session->clear("postsignin");
+       cgi($postsignin, $session);
+       cgi_savesession($session);
+       exit;
 } #}}}
 
 sub cgi_prefs ($$) { #{{{
        my $q=shift;
        my $session=shift;
 
 } #}}}
 
 sub cgi_prefs ($$) { #{{{
        my $q=shift;
        my $session=shift;
 
+       needsignin($q, $session);
+
        eval q{use CGI::FormBuilder};
        error($@) if $@;
        my $form = CGI::FormBuilder->new(
        eval q{use CGI::FormBuilder};
        error($@) if $@;
        my $form = CGI::FormBuilder->new(
@@ -210,13 +220,10 @@ sub cgi_prefs ($$) { #{{{
        $form->field(name => "email", size => 50);
        $form->field(name => "subscriptions", size => 50,
                comment => "(".htmllink("", "", "PageSpec", 1).")");
        $form->field(name => "email", size => 50);
        $form->field(name => "subscriptions", size => 50,
                comment => "(".htmllink("", "", "PageSpec", 1).")");
-       $form->field(name => "locked_pages", size => 50,
-               comment => "(".htmllink("", "", "PageSpec", 1).")");
        $form->field(name => "banned_users", size => 50);
        
        my $user_name=$session->param("name");
        if (! is_admin($user_name)) {
        $form->field(name => "banned_users", size => 50);
        
        my $user_name=$session->param("name");
        if (! is_admin($user_name)) {
-               $form->field(name => "locked_pages", type => "hidden");
                $form->field(name => "banned_users", type => "hidden");
        }
 
                $form->field(name => "banned_users", type => "hidden");
        }
 
@@ -225,8 +232,6 @@ sub cgi_prefs ($$) { #{{{
                        value => userinfo_get($user_name, "email"));
                $form->field(name => "subscriptions", force => 1,
                        value => userinfo_get($user_name, "subscriptions"));
                        value => userinfo_get($user_name, "email"));
                $form->field(name => "subscriptions", force => 1,
                        value => userinfo_get($user_name, "subscriptions"));
-               $form->field(name => "locked_pages", force => 1,
-                       value => userinfo_get($user_name, "locked_pages"));
                if (is_admin($user_name)) {
                        $form->field(name => "banned_users", force => 1,
                                value => join(" ", get_banned_users()));
                if (is_admin($user_name)) {
                        $form->field(name => "banned_users", force => 1,
                                value => join(" ", get_banned_users()));
@@ -245,7 +250,7 @@ sub cgi_prefs ($$) { #{{{
                return;
        }
        elsif ($form->submitted eq 'Save Preferences' && $form->validate) {
                return;
        }
        elsif ($form->submitted eq 'Save Preferences' && $form->validate) {
-               foreach my $field (qw(email subscriptions locked_pages)) {
+               foreach my $field (qw(email subscriptions)) {
                        if (defined $form->field($field) && length $form->field($field)) {
                                userinfo_set($user_name, $field, $form->field($field)) || error("failed to set $field");
                        }
                        if (defined $form->field($field) && length $form->field($field)) {
                                userinfo_set($user_name, $field, $form->field($field)) || error("failed to set $field");
                        }
@@ -422,16 +427,22 @@ sub cgi_editpage ($$) { #{{{
                                if length $config{userdir};
 
                        @page_locs = grep {
                                if length $config{userdir};
 
                        @page_locs = grep {
-                               ! exists $pagecase{lc $_} &&
-                               ! page_locked($_, $session, 1)
+                               ! exists $pagecase{lc $_}
                        } @page_locs;
                        } @page_locs;
-                       
                        if (! @page_locs) {
                                # hmm, someone else made the page in the
                                # meantime?
                                redirect($q, "$config{url}/".htmlpage($page));
                                return;
                        }
                        if (! @page_locs) {
                                # hmm, someone else made the page in the
                                # meantime?
                                redirect($q, "$config{url}/".htmlpage($page));
                                return;
                        }
+
+                       my @editable_locs = grep {
+                               check_canedit($_, $q, $session, 1)
+                       } @page_locs;
+                       if (! @editable_locs) {
+                               # let it throw an error this time
+                               map { check_canedit($_, $q, $session) } @page_locs;
+                       }
                        
                        my @page_types;
                        if (exists $hooks{htmlize}) {
                        
                        my @page_types;
                        if (exists $hooks{htmlize}) {
@@ -440,13 +451,13 @@ sub cgi_editpage ($$) { #{{{
                        
                        $form->tmpl_param("page_select", 1);
                        $form->field(name => "page", type => 'select',
                        
                        $form->tmpl_param("page_select", 1);
                        $form->field(name => "page", type => 'select',
-                               options => \@page_locs, value => $best_loc);
+                               options => \@editable_locs, value => $best_loc);
                        $form->field(name => "type", type => 'select',
                                options => \@page_types);
                        $form->title(sprintf(gettext("creating %s"), pagetitle($page)));
                }
                elsif ($form->field("do") eq "edit") {
                        $form->field(name => "type", type => 'select',
                                options => \@page_types);
                        $form->title(sprintf(gettext("creating %s"), pagetitle($page)));
                }
                elsif ($form->field("do") eq "edit") {
-                       page_locked($page, $session);
+                       check_canedit($page, $q, $session);
                        if (! defined $form->field('editcontent') || 
                            ! length $form->field('editcontent')) {
                                my $content="";
                        if (! defined $form->field('editcontent') || 
                            ! length $form->field('editcontent')) {
                                my $content="";
@@ -467,7 +478,7 @@ sub cgi_editpage ($$) { #{{{
        }
        else {
                # save page
        }
        else {
                # save page
-               page_locked($page, $session);
+               check_canedit($page, $q, $session);
                
                my $content=$form->field('editcontent');
 
                
                my $content=$form->field('editcontent');
 
@@ -547,7 +558,7 @@ sub cgi_savesession ($) { #{{{
        my $oldmask=umask(077);
        $session->flush;
        umask($oldmask);
        my $oldmask=umask(077);
        $session->flush;
        umask($oldmask);
-}
+} #}}}
 
 sub cgi (;$$) { #{{{
        my $q=shift;
 
 sub cgi (;$$) { #{{{
        my $q=shift;
@@ -606,37 +617,27 @@ sub cgi (;$$) { #{{{
                        }
                }
        }
                        }
                }
        }
-
-       # Everything below this point needs the user to be signed in.
-       if (((! $config{anonok} || $do eq 'prefs') &&
-            (! defined $session->param("name") ||
-            ! userinfo_get($session->param("name"), "regdate")))
-            || $do eq 'signin') {
-               if ($do ne 'signin' && ! defined $session->param("postsignin")) {
-                       $session->param(postsignin => $ENV{QUERY_STRING});
-               }
-               cgi_signin($q, $session);
-               cgi_savesession($session);
-               return;
-       }
-       elsif (defined $session->param("postsignin")) {
-               cgi_postsignin($q, $session);
-       }
-
-       if (defined $session->param("name") && userinfo_get($session->param("name"), "banned")) {
+       
+       if (defined $session->param("name") &&
+           userinfo_get($session->param("name"), "banned")) {
                print $q->header(-status => "403 Forbidden");
                $session->delete();
                print gettext("You are banned.");
                cgi_savesession($session);
                print $q->header(-status => "403 Forbidden");
                $session->delete();
                print gettext("You are banned.");
                cgi_savesession($session);
-               exit;
        }
        }
-       
-       if ($do eq 'create' || $do eq 'edit') {
-               cgi_editpage($q, $session);
+       elsif ($do eq 'signin') {
+               cgi_signin($q, $session);
+               cgi_savesession($session);
+       }
+       elsif (defined $session->param("postsignin")) {
+               cgi_postsignin($q, $session);
        }
        elsif ($do eq 'prefs') {
                cgi_prefs($q, $session);
        }
        }
        elsif ($do eq 'prefs') {
                cgi_prefs($q, $session);
        }
+       elsif ($do eq 'create' || $do eq 'edit') {
+               cgi_editpage($q, $session);
+       }
        elsif ($do eq 'blog') {
                my $page=titlepage(decode_utf8($q->param('title')));
                $page=~s/(\/)/"__".ord($1)."__"/eg; # escape slashes too
        elsif ($do eq 'blog') {
                my $page=titlepage(decode_utf8($q->param('title')));
                $page=~s/(\/)/"__".ord($1)."__"/eg; # escape slashes too
diff --git a/IkiWiki/Plugin/anonok.pm b/IkiWiki/Plugin/anonok.pm
new file mode 100644 (file)
index 0000000..3e2a746
--- /dev/null
@@ -0,0 +1,16 @@
+#!/usr/bin/perl
+package IkiWiki::Plugin::anonok;
+
+use warnings;
+use strict;
+use IkiWiki;
+
+sub import { #{{{
+       hook(type => "canedit", id => "anonok", call => \&canedit,);
+} # }}}
+
+sub canedit ($$$) { #{{{
+       return "";
+} #}}}
+
+1
diff --git a/IkiWiki/Plugin/lockedit.pm b/IkiWiki/Plugin/lockedit.pm
new file mode 100644 (file)
index 0000000..587f7ee
--- /dev/null
@@ -0,0 +1,61 @@
+#!/usr/bin/perl
+package IkiWiki::Plugin::lockedit;
+
+use warnings;
+use strict;
+use IkiWiki;
+
+sub import { #{{{
+       hook(type => "canedit", id => "lockedit", call => \&canedit);
+       hook(type => "formbuilder_setup", id => "lockedit",
+            call => \&formbuilder_setup);
+} # }}}
+
+sub canedit ($$) { #{{{
+       my $page=shift;
+       my $cgi=shift;
+       my $session=shift;
+
+       my $user=$session->param("name");
+       return undef if defined $user && IkiWiki::is_admin($user);
+
+       foreach my $admin (@{$config{adminuser}}) {
+               if (pagespec_match($page, IkiWiki::userinfo_get($admin, "locked_pages"))) {
+                       return sprintf(gettext("%s is locked by %s and cannot be edited"),
+                               htmllink("", "", $page, 1),
+                               IkiWiki::userlink($admin));
+               }
+       }
+
+       return undef;
+} #}}}
+
+sub formbuilder_setup (@) { #{{{
+       my %params=@_;
+       
+       my $form=$params{form};
+       my $session=$params{session};
+       my $cgi=$params{cgi};
+       my $user_name=$session->param("name");
+
+       if ($form->title eq "preferences") {
+               $form->field(name => "locked_pages", size => 50,
+                       comment => "(".htmllink("", "", "PageSpec", 1).")");
+               if (! IkiWiki::is_admin($user_name)) {
+                       $form->field(name => "locked_pages", type => "hidden");
+               }
+               if (! $form->submitted) {
+                       $form->field(name => "locked_pages", force => 1,
+                               value => IkiWiki::userinfo_get($user_name, "locked_pages"));
+               }
+               if ($form->submitted && $form->submitted eq 'Save Preferences') {
+                       if (defined $form->field("locked_pages")) {
+                               IkiWiki::userinfo_set($user_name, "locked_pages",
+                                       $form->field("locked_pages")) ||
+                                               error("failed to set locked_pages");
+                       }
+               }
+       }
+} #}}}
+
+1
diff --git a/IkiWiki/Plugin/opendiscussion.pm b/IkiWiki/Plugin/opendiscussion.pm
new file mode 100644 (file)
index 0000000..4b1a432
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+package IkiWiki::Plugin::opendiscussion;
+
+use warnings;
+use strict;
+use IkiWiki;
+
+sub import { #{{{
+       hook(type => "canedit", id => "opendiscussion", call => \&canedit);
+} # }}}
+
+sub canedit ($$) { #{{{
+       my $page=shift;
+       my $cgi=shift;
+       my $session=shift;
+
+       my $discussion=gettext("discussion");
+       return "" if $page=~/\/\Q$discussion\E$/;
+       return undef;
+} #}}}
+
+1
index 4a7255069928c7d2b3bafb23730f7ef4783462c1..5d387fbc6602e5e091203870e01e1a2a43fda294 100644 (file)
@@ -59,7 +59,7 @@ sub formbuilder_setup (@) { #{{{
        elsif ($form->title eq "preferences") {
                if (! defined $form->field(name => "name")) {
                        $form->field(name => "OpenID", disabled => 1, value =>
        elsif ($form->title eq "preferences") {
                if (! defined $form->field(name => "name")) {
                        $form->field(name => "OpenID", disabled => 1, value =>
-                               $session->param("name"), size => 30, force => 1);
+                               $session->param("name"), size => 50, force => 1);
                }
        }
 }
                }
        }
 }
index 7ffc12080cdc6135dc64600f279135a7f7c1deb4..3007dd4ffd092f858b9fc0d4599ef4444a31e7c1 100644 (file)
@@ -21,7 +21,7 @@ sub formbuilder_setup (@) { #{{{
        my $cgi=$params{cgi};
 
        if ($form->title eq "signin" || $form->title eq "register") {
        my $cgi=$params{cgi};
 
        if ($form->title eq "signin" || $form->title eq "register") {
-               $form->field(name => "name", required => 0, size => 30);
+               $form->field(name => "name", required => 0, size => 50);
                $form->field(name => "password", type => "password", required => 0);
                
                if ($form->submitted eq "Register" || $form->submitted eq "Create Account") {
                $form->field(name => "password", type => "password", required => 0);
                
                if ($form->submitted eq "Register" || $form->submitted eq "Create Account") {
diff --git a/IkiWiki/Plugin/signinedit.pm b/IkiWiki/Plugin/signinedit.pm
new file mode 100644 (file)
index 0000000..04532f4
--- /dev/null
@@ -0,0 +1,25 @@
+#!/usr/bin/perl
+package IkiWiki::Plugin::signinedit;
+
+use warnings;
+use strict;
+use IkiWiki;
+
+sub import { #{{{
+       hook(type => "canedit", id => "signinedit", call => \&canedit,
+            last => 1);
+} # }}}
+
+sub canedit ($$$) { #{{{
+       my $page=shift;
+       my $cgi=shift;
+       my $session=shift;
+
+       # Have the user sign in, if they are not already. This is why the
+       # hook runs last, so that any hooks that don't need the user to
+       # signin can override this.
+       IkiWiki::needsignin($cgi, $session);
+       return "";
+} #}}}
+
+1
index feb0f7419b26948624e1d3d96b5af3fc82e906a4..06b184b0a201ad66037e7c0883045b978eaf2c84 100644 (file)
@@ -21,6 +21,7 @@ sub import { #{{{
        hook(type => "change", id => "skeleton", call => \&change);
        hook(type => "cgi", id => "skeleton", call => \&cgi);
        hook(type => "auth", id => "skeleton", call => \&auth);
        hook(type => "change", id => "skeleton", call => \&change);
        hook(type => "cgi", id => "skeleton", call => \&cgi);
        hook(type => "auth", id => "skeleton", call => \&auth);
+       hook(type => "canedit", id => "skeleton", call => \&canedit);
        hook(type => "formbuilder_setup", id => "skeleton", call => \&formbuilder_setup);
        hook(type => "formbuilder", id => "skeleton", call => \&formbuilder);
        hook(type => "savestate", id => "savestate", call => \&savestate);
        hook(type => "formbuilder_setup", id => "skeleton", call => \&formbuilder_setup);
        hook(type => "formbuilder", id => "skeleton", call => \&formbuilder);
        hook(type => "savestate", id => "savestate", call => \&savestate);
@@ -105,6 +106,14 @@ sub auth ($$) { #{{{
        debug("skeleton plugin running in auth");
 } #}}}
 
        debug("skeleton plugin running in auth");
 } #}}}
 
+sub canedit ($$$) { #{{{
+       my $page=shift;
+       my $cgi=shift;
+       my $session=shift;
+
+       debug("skeleton plugin running in canedit");
+} #}}}
+
 sub formbuilder_setup (@) { #{{{
        my %params=@_;
        
 sub formbuilder_setup (@) { #{{{
        my %params=@_;
        
index dd19e26b4ee3f9c87f02994f6252e025b5bbfa94..bb3bf2272d78ee4c3c2c1749b45385b9597c689a 100644 (file)
@@ -1,3 +1,11 @@
+ikiwiki (1.42) unstable; urgency=low
+
+  The anonok setting in config files has been removed. To enable
+  httpauth support on your wiki, you should now enable the anonok plugin,
+  instead.
+
+ -- Joey Hess <joeyh@debian.org>  Thu,  1 Feb 2007 16:57:59 -0500
+
 ikiwiki (1.34) unstable; urgency=low
 
   The httpauth setting in config files has been removed. To enable
 ikiwiki (1.34) unstable; urgency=low
 
   The httpauth setting in config files has been removed. To enable
index 40eaae23823f894aa502d07d5acdbf0e4812b662..9ef47936e3a19d224a7818d2c811714092152e40 100644 (file)
@@ -2,8 +2,19 @@ ikiwiki (1.42) UNRELEASED; urgency=low
 
   * Fix several more missing translations of Discussion.
   * Fix for missing backlinks() in pagestats plugin.
 
   * Fix several more missing translations of Discussion.
   * Fix for missing backlinks() in pagestats plugin.
-
- -- Joey Hess <joeyh@debian.org>  Wed, 31 Jan 2007 02:12:01 -0500
+  * Add canedit hook, allowing arbitrary controls over when a page can be
+    edited.
+  * Move code forcing signing before edit to a new "signinedit" plugin, and
+    code checking for locked pages into a new "lockedit" plugin. Both are 
+    enabled by default.
+  * Remove the anonok config setting. This is now implemented by a new
+    "anonok" plugin. Anyone with a wiki allowing anonymous edits should
+    change their configs to enable this new plugin.
+  * Add an opendiscussion plugin that allows anonymous users to edit
+    discussion pages, on a wiki that is otherwise wouldn't allow it.
+  * Lots of CGI code reorg and cleanup.
+
+ -- Joey Hess <joeyh@debian.org>  Thu,  1 Feb 2007 15:36:38 -0500
 
 ikiwiki (1.41) unstable; urgency=low
 
 
 ikiwiki (1.41) unstable; urgency=low
 
index b2c810f30b209f4ce3f5048196755416bf1e5406..58d6d09cd9ef041af12e9b421375dc3d19a459be 100644 (file)
@@ -129,7 +129,7 @@ and can be enabled by enabling [[CGI]].
 
 ### User registration
 
 
 ### User registration
 
-Can optionally be configured to allow only registered users to post
+Can optionally be configured to allow only registered users to edit
 pages.
 
 User registration can be done using a web form, or ikiwiki can be
 pages.
 
 User registration can be done using a web form, or ikiwiki can be
@@ -142,10 +142,12 @@ Thanks to subpages, every page can easily and automatically have a
 /Discussion subpage. By default, these links are included in the
 [[templates]] for each page.
 
 /Discussion subpage. By default, these links are included in the
 [[templates]] for each page.
 
-### Page locking
+### Edit controls
 
 
-Wiki admins can [[lock_pages|page_locking]] so that only other admins
-can edit them.
+Wiki admins can [[lock_pages|page_locking]] so that only other admins can
+edit them. Or a wiki can be set up to allow anyone to edit Discussion
+pages, but only registered users to edit other pages. These are just two
+possibilities, since page edit controls can be changed via plugins.
 
 ### [[PageHistory]]
 
 
 ### [[PageHistory]]
 
index 910b2b527dcfa97538b2660d14613b5de8693710..a25d9f50ec18e19dab46e1fe86eb618b0ffb4123 100644 (file)
@@ -71,8 +71,6 @@ use IkiWiki::Setup::Standard {
                #},
        ],
        
                #},
        ],
        
-       # Can anonymous web users edit pages?
-       #anonok => 1,
        # Generate rss feeds for blogs?
        rss => 1,
        # Generate atom feeds for blogs?
        # Generate rss feeds for blogs?
        rss => 1,
        # Generate atom feeds for blogs?
@@ -98,7 +96,7 @@ use IkiWiki::Setup::Standard {
        
        # To add plugins, list them here.
        #add_plugins => [qw{goodstuff openid search wikitext camelcase
        
        # To add plugins, list them here.
        #add_plugins => [qw{goodstuff openid search wikitext camelcase
-       #                   htmltidy fortune sidebar map rst}],
+       #                   htmltidy fortune sidebar map rst anonok}],
        # If you want to disable any of the default plugins, list them here.
        #disable_plugins => [qw{inline htmlscrubber passwordauth}],
 
        # If you want to disable any of the default plugins, list them here.
        #disable_plugins => [qw{inline htmlscrubber passwordauth}],
 
index e60ab0f50229970f306699ffe6196caae6cef5e4..7f82e87ceedcfa2d2702dba79b6a164bf9be1d56 100644 (file)
@@ -162,21 +162,3 @@ Clicking on an old "?" or going to a create link but new Markdown content exists
 >>> discussion, or users/discussion, but not index/discussion, since this
 >>> page already exists. If all the pages existed, it would do the redirect
 >>> thing. --[[Joey]]
 >>> discussion, or users/discussion, but not index/discussion, since this
 >>> page already exists. If all the pages existed, it would do the redirect
 >>> thing. --[[Joey]]
-
-----
-
-# Discuss without login? Or feedback forum? Or fine-tuned per-page access control?
-
-Any plugin or option for allowing website visitors to edit the discuss page without logging in (without having ikiwiki accounts)?
-
-Or any plugin to add a feedback form (and maybe threads) to extend a Wiki webpage?
-
-Or is there per-page access control that can be fine-tuned to lock some users or groups for specific pages?
-(The [[pagespec]] does show a way to lock all pages except for Discussion pages, but I want some users to also be able to edit other pages.)
-
-I want a way for website visitors to be able to give feedback on the wiki pages without having to sign up or log in.
-I don't want them to be able to edit the exiting wiki pages except maybe Discussion page.
-
-(For some reason, it seems like I asked this before ...)
-
---JeremyReed
\ No newline at end of file
index 46527ce4ffdd02a267a5e54638300d5d2cd35b22..1006a9e1c0d17b38315f6607696d9b7c334c1b24 100644 (file)
@@ -7,10 +7,10 @@ wiki, or just have [[type/fun]].
 There's documentation if you want to [[write]] your own plugins, or you can
 install and use plugins [[contributed|contrib]] by others. 
 
 There's documentation if you want to [[write]] your own plugins, or you can
 install and use plugins [[contributed|contrib]] by others. 
 
-The [[mdwn]], [[inline]], [[htmlscrubber]], and [[passwordauth]] plugins
-are enabled by default. To enable other plugins, use the `--plugin` switch
-described in [[usage]], or the equivalent `add_plugins` line in
-[[ikiwiki.setup]].
+The [[mdwn]], [[inline]], [[htmlscrubber]], [[passwordauth]],
+[[signinedit]], and [[lockedit]] plugins are enabled by default.
+To enable other plugins, use the `--plugin` switch described in
+[[usage]], or the equivalent `add_plugins` line in [[ikiwiki.setup]].
 
 # Plugin directory
 
 
 # Plugin directory
 
diff --git a/doc/plugins/anonok.mdwn b/doc/plugins/anonok.mdwn
new file mode 100644 (file)
index 0000000..ae1c87f
--- /dev/null
@@ -0,0 +1,5 @@
+[[template id=plugin name=anonok included=1 author="[[Joey]]"]]
+[[tag type/auth]]
+
+By default, anonymous users cannot edit the wiki. This plugin allows
+anonymous web users, who have not signed in, to edit any page in the wiki.
diff --git a/doc/plugins/lockedit.mdwn b/doc/plugins/lockedit.mdwn
new file mode 100644 (file)
index 0000000..be9ca84
--- /dev/null
@@ -0,0 +1,4 @@
+[[template id=plugin name=lockedit core=1 included=1 author="[[Joey]]"]]
+[[tag type/auth]]
+
+This plugin enables [[page_locking]]. It is enabled by default.
diff --git a/doc/plugins/opendiscussion.mdwn b/doc/plugins/opendiscussion.mdwn
new file mode 100644 (file)
index 0000000..3257224
--- /dev/null
@@ -0,0 +1,5 @@
+[[template id=plugin name=opendiscussion included=1 author="[[Joey]]"]]
+[[tag type/auth]]
+
+This plugin allows editing of Discussion pages by anonymous users who have
+not logged into the wiki.
diff --git a/doc/plugins/signinedit.mdwn b/doc/plugins/signinedit.mdwn
new file mode 100644 (file)
index 0000000..5beae9d
--- /dev/null
@@ -0,0 +1,5 @@
+[[template id=plugin name=signinedit core=1 included=1 author="[[Joey]]"]]
+[[tag type/auth]]
+
+This plugin, which is enabled by default, requires users be logged in
+before editing pages in the wiki.
index a6ae5e4ea6d16450fa908364bdeb79331276b96f..400a5bccad9b143822ab3d52368eb09308600ff3 100644 (file)
@@ -1,2 +1,2 @@
 These plugins add different authentication methods for logging in to the
 These plugins add different authentication methods for logging in to the
-wiki.
+wiki and control what pages users can edit.
index 6c475024a2adf45576895be5cbeded1355f97f85..d0f256ca293aaeaf21fd398906771f9db8cd831f 100644 (file)
@@ -192,6 +192,20 @@ object's "name" parameter to the authenticated user's name. Note that
 if the name is set to the name of a user who is not registered,
 a basic registration of the user will be automatically performed.
 
 if the name is set to the name of a user who is not registered,
 a basic registration of the user will be automatically performed.
 
+### canedit
+
+       hook(type => "canedit", id => "foo", call => \&pagelocked);
+
+This hook can be used to implement arbitrary access methods to control when
+a page can be edited using the web interface (commits from revision control
+bypass it). When a page is edited, each registered canedit hook is called
+in turn, and passed the page name, a CGI object, and a session object.
+
+If edit can proceed, the hook should return "". If the edit is not allowed
+by this hook, the hook should return an error message for the user to see.
+If the hook has no opinion about whether the edit can proceed, return
+`undef`, and the next plugin will be asked to decide.
+
 ### formbuilder
 
        hook(type => "formbuilder_setup", id => "foo", call => \&formbuilder_setup);
 ### formbuilder
 
        hook(type => "formbuilder_setup", id => "foo", call => \&formbuilder_setup);
diff --git a/doc/todo/discuss_without_login.mdwn b/doc/todo/discuss_without_login.mdwn
new file mode 100644 (file)
index 0000000..74f3cde
--- /dev/null
@@ -0,0 +1,19 @@
+# Discuss without login? Or feedback forum? Or fine-tuned per-page access control?
+
+Any plugin or option for allowing website visitors to edit the discuss page without logging in (without having ikiwiki accounts)?
+
+Or any plugin to add a feedback form (and maybe threads) to extend a Wiki webpage?
+
+Or is there per-page access control that can be fine-tuned to lock some users or groups for specific pages?
+(The [[pagespec]] does show a way to lock all pages except for Discussion pages, but I want some users to also be able to edit other pages.)
+
+I want a way for website visitors to be able to give feedback on the wiki pages without having to sign up or log in.
+I don't want them to be able to edit the exiting wiki pages except maybe Discussion page.
+
+(For some reason, it seems like I asked this before ...)
+
+--JeremyReed
+
+[[todo/Done]]; there's now a plugin interface for this and several nice
+plugins including one allowing [[plugins/opendiscussion]]. More special-purpose 
+(and less wiki-like plugins) can be added based on this. --[[Joey]]
index 9980cca037d25a73ec38bff97ed3f3334ca108e1..afd69919472a7cd34e9de6e342b6985965a4fde8 100644 (file)
@@ -154,12 +154,6 @@ configuration options of their own.
   This defaults to trunk; change it if your wiki is at some other location
   inside the repository.
 
   This defaults to trunk; change it if your wiki is at some other location
   inside the repository.
 
-* --anonok, --noanonok
-
-  If anonok is set, it will allow anonymous web users, who have not signed in, to make changes to the wiki.
-
-  By default, anonymous users cannot edit the wiki.
-
 * --rss, --norss
 
   If rss is set, ikiwiki will generate RSS feeds for pages that inline
 * --rss, --norss
 
   If rss is set, ikiwiki will generate RSS feeds for pages that inline
index 216e066c8ec431e7b8e2fc800184b76fa48e6f78..d71221a8ff6deffea28cb453602cd50a907969ba 100644 (file)
@@ -26,7 +26,7 @@ use IkiWiki::Setup::Standard {
                },
        ],
        
                },
        ],
        
-       anonok => 1,
+       add_plugins => [qw{anonok}],
        rss => 1,
        atom => 1,
        discussion => 1,
        rss => 1,
        atom => 1,
        discussion => 1,
index 5b1f57d16314bef6add96735c2737a7170a7d2ec..24b02bc415f9ad73908eef2c809d2efa1111400e 100755 (executable)
@@ -31,7 +31,6 @@ sub getconfig () { #{{{
                        "wrappermode=i" => \$config{wrappermode},
                        "rcs=s" => \$config{rcs},
                        "no-rcs" => sub { $config{rcs}="" },
                        "wrappermode=i" => \$config{wrappermode},
                        "rcs=s" => \$config{rcs},
                        "no-rcs" => sub { $config{rcs}="" },
-                       "anonok!" => \$config{anonok},
                        "cgi!" => \$config{cgi},
                        "discussion!" => \$config{discussion},
                        "w3mmode!" => \$config{w3mmode},
                        "cgi!" => \$config{cgi},
                        "discussion!" => \$config{discussion},
                        "w3mmode!" => \$config{w3mmode},
index 080b1e899cb6668929f93998fafb6296433f1c30..de05863072660b0167a137096822547bcfdd22dd 100644 (file)
--- a/po/bg.po
+++ b/po/bg.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki-bg\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: ikiwiki-bg\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-01-31 02:17-0500\n"
+"POT-Creation-Date: 2007-02-01 21:27-0500\n"
 "PO-Revision-Date: 2007-01-12 01:19+0200\n"
 "Last-Translator: Damyan Ivanov <dam@modsodtsys.com>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
 "PO-Revision-Date: 2007-01-12 01:19+0200\n"
 "Last-Translator: Damyan Ivanov <dam@modsodtsys.com>\n"
 "Language-Team: Bulgarian <dict@fsa-bg.org>\n"
@@ -16,43 +16,36 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#. translators: The first parameter is a page name,
-#. translators: second is the user who locked it.
-#: ../IkiWiki/CGI.pm:51
-#, perl-format
-msgid "%s is locked by %s and cannot be edited"
-msgstr ""
-"Страницата „%s” е заключена от потребителя „%s” и не може да бъде променяна"
-
-#: ../IkiWiki/CGI.pm:140
+#: ../IkiWiki/CGI.pm:152
 msgid "You need to log in first."
 msgstr "Първо трябва да влезете."
 
 msgid "You need to log in first."
 msgstr "Първо трябва да влезете."
 
-#: ../IkiWiki/CGI.pm:257
+#: ../IkiWiki/CGI.pm:262
 msgid "Preferences saved."
 msgstr "Предпочитанията са запазени."
 
 msgid "Preferences saved."
 msgstr "Предпочитанията са запазени."
 
-#: ../IkiWiki/CGI.pm:407 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/orphans.pm:28
-#: ../IkiWiki/Render.pm:97 ../IkiWiki/Render.pm:165
+#: ../IkiWiki/CGI.pm:412 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
+#: ../IkiWiki/Render.pm:165
 msgid "discussion"
 msgstr "дискусия"
 
 msgid "discussion"
 msgstr "дискусия"
 
-#: ../IkiWiki/CGI.pm:446
+#: ../IkiWiki/CGI.pm:457
 #, perl-format
 msgid "creating %s"
 msgstr "създаване на %s"
 
 #, perl-format
 msgid "creating %s"
 msgstr "създаване на %s"
 
-#: ../IkiWiki/CGI.pm:463 ../IkiWiki/CGI.pm:506
+#: ../IkiWiki/CGI.pm:474 ../IkiWiki/CGI.pm:517
 #, perl-format
 msgid "editing %s"
 msgstr "промяна на %s"
 
 #, perl-format
 msgid "editing %s"
 msgstr "промяна на %s"
 
-#: ../IkiWiki/CGI.pm:629
+#: ../IkiWiki/CGI.pm:625
 msgid "You are banned."
 msgstr "Достъпът ви е забранен."
 
 msgid "You are banned."
 msgstr "Достъпът ви е забранен."
 
-#: ../IkiWiki/CGI.pm:656
+#: ../IkiWiki/CGI.pm:657
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
@@ -142,6 +135,12 @@ msgstr "модулът „RPC::XML::Client” не е намерен; източ
 msgid "linkmap failed to run dot"
 msgstr "приставката „linkmap”: грешка при изпълнение на „dot”"
 
 msgid "linkmap failed to run dot"
 msgstr "приставката „linkmap”: грешка при изпълнение на „dot”"
 
+#: ../IkiWiki/Plugin/lockedit.pm:24
+#, perl-format
+msgid "%s is locked by %s and cannot be edited"
+msgstr ""
+"Страницата „%s” е заключена от потребителя „%s” и не може да бъде променяна"
+
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
@@ -372,13 +371,13 @@ msgstr "успешно генериране на %s"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "формат: ikiwiki [опции] източник местоназначение"
 
 msgid "usage: ikiwiki [options] source dest"
 msgstr "формат: ikiwiki [опции] източник местоназначение"
 
-#: ../IkiWiki.pm:103
+#: ../IkiWiki.pm:102
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "При използване на пареметъра „--cgi” е необходимо да се укаже и "
 "местоположението на уикито чрез параметъра „--url”"
 
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "При използване на пареметъра „--cgi” е необходимо да се укаже и "
 "местоположението на уикито чрез параметъра „--url”"
 
-#: ../IkiWiki.pm:148 ../IkiWiki.pm:149
+#: ../IkiWiki.pm:147 ../IkiWiki.pm:148
 msgid "Error"
 msgstr "Грешка"
 
 msgid "Error"
 msgstr "Грешка"
 
@@ -386,7 +385,7 @@ msgstr "Грешка"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:528
+#: ../IkiWiki.pm:527
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "открита е циклична завидимост при %s на „%s” на дълбочина %i"
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "открита е циклична завидимост при %s на „%s” на дълбочина %i"
index 4c731c54efb2d1a928662a39d52971a3d84bcecf..5cc90a512496ced05226b43aae7de49a92985321 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-01-31 02:17-0500\n"
+"POT-Creation-Date: 2007-02-01 21:27-0500\n"
 "PO-Revision-Date: 2007-01-07 11:59+0100\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
 "PO-Revision-Date: 2007-01-07 11:59+0100\n"
 "Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
 "Language-Team: Czech <debian-l10n-czech@lists.debian.org>\n"
@@ -15,42 +15,36 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. translators: The first parameter is a page name,
-#. translators: second is the user who locked it.
-#: ../IkiWiki/CGI.pm:51
-#, perl-format
-msgid "%s is locked by %s and cannot be edited"
-msgstr "Stránka %s je zamknutá uživatelem %s a nelze ji měnit"
-
-#: ../IkiWiki/CGI.pm:140
+#: ../IkiWiki/CGI.pm:152
 msgid "You need to log in first."
 msgstr "Nejprve se musíte přihlásit."
 
 msgid "You need to log in first."
 msgstr "Nejprve se musíte přihlásit."
 
-#: ../IkiWiki/CGI.pm:257
+#: ../IkiWiki/CGI.pm:262
 msgid "Preferences saved."
 msgstr "Nastavení uloženo."
 
 msgid "Preferences saved."
 msgstr "Nastavení uloženo."
 
-#: ../IkiWiki/CGI.pm:407 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/orphans.pm:28
-#: ../IkiWiki/Render.pm:97 ../IkiWiki/Render.pm:165
+#: ../IkiWiki/CGI.pm:412 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
+#: ../IkiWiki/Render.pm:165
 msgid "discussion"
 msgstr "diskuse"
 
 msgid "discussion"
 msgstr "diskuse"
 
-#: ../IkiWiki/CGI.pm:446
+#: ../IkiWiki/CGI.pm:457
 #, perl-format
 msgid "creating %s"
 msgstr "vytvářím %s"
 
 #, perl-format
 msgid "creating %s"
 msgstr "vytvářím %s"
 
-#: ../IkiWiki/CGI.pm:463 ../IkiWiki/CGI.pm:506
+#: ../IkiWiki/CGI.pm:474 ../IkiWiki/CGI.pm:517
 #, perl-format
 msgid "editing %s"
 msgstr "upravuji %s"
 
 #, perl-format
 msgid "editing %s"
 msgstr "upravuji %s"
 
-#: ../IkiWiki/CGI.pm:629
+#: ../IkiWiki/CGI.pm:625
 msgid "You are banned."
 msgstr "Jste vyhoštěni."
 
 msgid "You are banned."
 msgstr "Jste vyhoštěni."
 
-#: ../IkiWiki/CGI.pm:656
+#: ../IkiWiki/CGI.pm:657
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
@@ -138,6 +132,11 @@ msgstr "RPC::XML::Client nebyl nalezen, nepinkám"
 msgid "linkmap failed to run dot"
 msgstr "linkmapu se nepodařilo spustit dot"
 
 msgid "linkmap failed to run dot"
 msgstr "linkmapu se nepodařilo spustit dot"
 
+#: ../IkiWiki/Plugin/lockedit.pm:24
+#, perl-format
+msgid "%s is locked by %s and cannot be edited"
+msgstr "Stránka %s je zamknutá uživatelem %s a nelze ji měnit"
+
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
@@ -366,11 +365,11 @@ msgstr "%s byl úspěšně vytvořen"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "použití: ikiwiki [volby] zdroj cíl"
 
 msgid "usage: ikiwiki [options] source dest"
 msgstr "použití: ikiwiki [volby] zdroj cíl"
 
-#: ../IkiWiki.pm:103
+#: ../IkiWiki.pm:102
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "Při použití --cgi musíte pomocí --url zadat url k wiki"
 
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "Při použití --cgi musíte pomocí --url zadat url k wiki"
 
-#: ../IkiWiki.pm:148 ../IkiWiki.pm:149
+#: ../IkiWiki.pm:147 ../IkiWiki.pm:148
 msgid "Error"
 msgstr "Chyba"
 
 msgid "Error"
 msgstr "Chyba"
 
@@ -378,7 +377,7 @@ msgstr "Chyba"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:528
+#: ../IkiWiki.pm:527
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "Byla rozpoznána smyčka direktivy %s na %s v hloubce %i"
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "Byla rozpoznána smyčka direktivy %s na %s v hloubce %i"
index d2ba0745a4e19dca675f5eb946116389948a5e63..75387d161dbb17117098f833842db68c98a27db8 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-01-31 02:17-0500\n"
+"POT-Creation-Date: 2007-02-01 21:27-0500\n"
 "PO-Revision-Date: 2007-01-03 09:37+0100\n"
 "Last-Translator: Víctor Moral <victor@taquiones.net>\n"
 "Language-Team: spanish <es@li.org>\n"
 "PO-Revision-Date: 2007-01-03 09:37+0100\n"
 "Last-Translator: Víctor Moral <victor@taquiones.net>\n"
 "Language-Team: spanish <es@li.org>\n"
@@ -16,42 +16,36 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#. translators: The first parameter is a page name,
-#. translators: second is the user who locked it.
-#: ../IkiWiki/CGI.pm:51
-#, perl-format
-msgid "%s is locked by %s and cannot be edited"
-msgstr "La página %s está bloqueada por %s y no puede modificarse"
-
-#: ../IkiWiki/CGI.pm:140
+#: ../IkiWiki/CGI.pm:152
 msgid "You need to log in first."
 msgstr "Antes es necesario identificarse"
 
 msgid "You need to log in first."
 msgstr "Antes es necesario identificarse"
 
-#: ../IkiWiki/CGI.pm:257
+#: ../IkiWiki/CGI.pm:262
 msgid "Preferences saved."
 msgstr "Las preferencias se han guardado."
 
 msgid "Preferences saved."
 msgstr "Las preferencias se han guardado."
 
-#: ../IkiWiki/CGI.pm:407 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/orphans.pm:28
-#: ../IkiWiki/Render.pm:97 ../IkiWiki/Render.pm:165
+#: ../IkiWiki/CGI.pm:412 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
+#: ../IkiWiki/Render.pm:165
 msgid "discussion"
 msgstr "comentarios"
 
 msgid "discussion"
 msgstr "comentarios"
 
-#: ../IkiWiki/CGI.pm:446
+#: ../IkiWiki/CGI.pm:457
 #, perl-format
 msgid "creating %s"
 msgstr "creando página %s"
 
 #, perl-format
 msgid "creating %s"
 msgstr "creando página %s"
 
-#: ../IkiWiki/CGI.pm:463 ../IkiWiki/CGI.pm:506
+#: ../IkiWiki/CGI.pm:474 ../IkiWiki/CGI.pm:517
 #, perl-format
 msgid "editing %s"
 msgstr "modificando página %s"
 
 #, perl-format
 msgid "editing %s"
 msgstr "modificando página %s"
 
-#: ../IkiWiki/CGI.pm:629
+#: ../IkiWiki/CGI.pm:625
 msgid "You are banned."
 msgstr "Ha sido expulsado."
 
 msgid "You are banned."
 msgstr "Ha sido expulsado."
 
-#: ../IkiWiki/CGI.pm:656
+#: ../IkiWiki/CGI.pm:657
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
@@ -142,6 +136,11 @@ msgstr "No he encontrado el componente RPC::XML::Client, no envío señal alguna
 msgid "linkmap failed to run dot"
 msgstr "El complemento linkmap no ha podido ejecutar el programa dot"
 
 msgid "linkmap failed to run dot"
 msgstr "El complemento linkmap no ha podido ejecutar el programa dot"
 
+#: ../IkiWiki/Plugin/lockedit.pm:24
+#, perl-format
+msgid "%s is locked by %s and cannot be edited"
+msgstr "La página %s está bloqueada por %s y no puede modificarse"
+
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
@@ -375,13 +374,13 @@ msgstr "creado con éxito el programa envoltorio %s"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "uso: ikiwiki [opciones] origen destino"
 
 msgid "usage: ikiwiki [options] source dest"
 msgstr "uso: ikiwiki [opciones] origen destino"
 
-#: ../IkiWiki.pm:103
+#: ../IkiWiki.pm:102
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Es obligatorio especicar un url al wiki con el parámetro --url si se utiliza "
 "el parámetro --cgi"
 
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Es obligatorio especicar un url al wiki con el parámetro --url si se utiliza "
 "el parámetro --cgi"
 
-#: ../IkiWiki.pm:148 ../IkiWiki.pm:149
+#: ../IkiWiki.pm:147 ../IkiWiki.pm:148
 msgid "Error"
 msgstr "Error"
 
 msgid "Error"
 msgstr "Error"
 
@@ -389,7 +388,7 @@ msgstr "Error"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:528
+#: ../IkiWiki.pm:527
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
index 9db7b5cd003cbc47509653e38b4be29948a8eda3..9a7ebdc8f573eac6950dba5da6f36c9038e2662b 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-01-31 02:17-0500\n"
+"POT-Creation-Date: 2007-02-01 21:27-0500\n"
 "PO-Revision-Date: 2007-01-22 22:12+0100\n"
 "Last-Translator: Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
 "PO-Revision-Date: 2007-01-22 22:12+0100\n"
 "Last-Translator: Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
@@ -17,42 +17,36 @@ msgstr ""
 "X-Poedit-Language: French\n"
 "X-Poedit-Country: FRANCE\n"
 
 "X-Poedit-Language: French\n"
 "X-Poedit-Country: FRANCE\n"
 
-#. translators: The first parameter is a page name,
-#. translators: second is the user who locked it.
-#: ../IkiWiki/CGI.pm:51
-#, perl-format
-msgid "%s is locked by %s and cannot be edited"
-msgstr "%s est verrouillé par %s et ne peut être édité"
-
-#: ../IkiWiki/CGI.pm:140
+#: ../IkiWiki/CGI.pm:152
 msgid "You need to log in first."
 msgstr "Vous devez d'abord vous identifier."
 
 msgid "You need to log in first."
 msgstr "Vous devez d'abord vous identifier."
 
-#: ../IkiWiki/CGI.pm:257
+#: ../IkiWiki/CGI.pm:262
 msgid "Preferences saved."
 msgstr "Les préférences ont été enregistrées."
 
 msgid "Preferences saved."
 msgstr "Les préférences ont été enregistrées."
 
-#: ../IkiWiki/CGI.pm:407 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/orphans.pm:28
-#: ../IkiWiki/Render.pm:97 ../IkiWiki/Render.pm:165
+#: ../IkiWiki/CGI.pm:412 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
+#: ../IkiWiki/Render.pm:165
 msgid "discussion"
 msgstr "Discussion"
 
 msgid "discussion"
 msgstr "Discussion"
 
-#: ../IkiWiki/CGI.pm:446
+#: ../IkiWiki/CGI.pm:457
 #, perl-format
 msgid "creating %s"
 msgstr "Création de %s"
 
 #, perl-format
 msgid "creating %s"
 msgstr "Création de %s"
 
-#: ../IkiWiki/CGI.pm:463 ../IkiWiki/CGI.pm:506
+#: ../IkiWiki/CGI.pm:474 ../IkiWiki/CGI.pm:517
 #, perl-format
 msgid "editing %s"
 msgstr "Édition de %s"
 
 #, perl-format
 msgid "editing %s"
 msgstr "Édition de %s"
 
-#: ../IkiWiki/CGI.pm:629
+#: ../IkiWiki/CGI.pm:625
 msgid "You are banned."
 msgstr "Vous avez été banni."
 
 msgid "You are banned."
 msgstr "Vous avez été banni."
 
-#: ../IkiWiki/CGI.pm:656
+#: ../IkiWiki/CGI.pm:657
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 "Échec de l'identification, vous devriez peut-être autoriser les cookies."
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 "Échec de l'identification, vous devriez peut-être autoriser les cookies."
@@ -143,6 +137,11 @@ msgstr "RPC::XML::Client introuvable, pas de réponse au ping"
 msgid "linkmap failed to run dot"
 msgstr "Échec de lancement de dot par linkmap"
 
 msgid "linkmap failed to run dot"
 msgstr "Échec de lancement de dot par linkmap"
 
+#: ../IkiWiki/Plugin/lockedit.pm:24
+#, perl-format
+msgid "%s is locked by %s and cannot be edited"
+msgstr "%s est verrouillé par %s et ne peut être édité"
+
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
@@ -375,13 +374,13 @@ msgstr "%s a été créé avec succès"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "Syntaxe : ikiwiki [options] source destination"
 
 msgid "usage: ikiwiki [options] source dest"
 msgstr "Syntaxe : ikiwiki [options] source destination"
 
-#: ../IkiWiki.pm:103
+#: ../IkiWiki.pm:102
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Vous devez indiquer une url vers le wiki par --url lors de l'utilisation de "
 "--cgi"
 
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Vous devez indiquer une url vers le wiki par --url lors de l'utilisation de "
 "--cgi"
 
-#: ../IkiWiki.pm:148 ../IkiWiki.pm:149
+#: ../IkiWiki.pm:147 ../IkiWiki.pm:148
 msgid "Error"
 msgstr "Erreur"
 
 msgid "Error"
 msgstr "Erreur"
 
@@ -389,7 +388,7 @@ msgstr "Erreur"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:528
+#: ../IkiWiki.pm:527
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
index bcf98b982d64937dda879e74b29791020b14114f..59ae104b9d66b888d0c00eadd52a2c4b4accca2c 100644 (file)
--- a/po/gu.po
+++ b/po/gu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki-gu\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: ikiwiki-gu\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-01-31 02:17-0500\n"
+"POT-Creation-Date: 2007-02-01 21:27-0500\n"
 "PO-Revision-Date: 2007-01-11 16:05+0530\n"
 "Last-Translator: Kartik Mistry <kartik.mistry@gmail.com>\n"
 "Language-Team: Gujarati <team@utkarsh.org>\n"
 "PO-Revision-Date: 2007-01-11 16:05+0530\n"
 "Last-Translator: Kartik Mistry <kartik.mistry@gmail.com>\n"
 "Language-Team: Gujarati <team@utkarsh.org>\n"
@@ -15,42 +15,36 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. translators: The first parameter is a page name,
-#. translators: second is the user who locked it.
-#: ../IkiWiki/CGI.pm:51
-#, perl-format
-msgid "%s is locked by %s and cannot be edited"
-msgstr "%s એ %s દ્વારા તાળું મરાયેલ છે અને તેમાં સુધારો કરી શકાશે નહી"
-
-#: ../IkiWiki/CGI.pm:140
+#: ../IkiWiki/CGI.pm:152
 msgid "You need to log in first."
 msgstr "તમારે પ્રથમ લોગ ઇન થવું પડશે."
 
 msgid "You need to log in first."
 msgstr "તમારે પ્રથમ લોગ ઇન થવું પડશે."
 
-#: ../IkiWiki/CGI.pm:257
+#: ../IkiWiki/CGI.pm:262
 msgid "Preferences saved."
 msgstr "પ્રાથમિકતાઓ સંગ્રહાઇ."
 
 msgid "Preferences saved."
 msgstr "પ્રાથમિકતાઓ સંગ્રહાઇ."
 
-#: ../IkiWiki/CGI.pm:407 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/orphans.pm:28
-#: ../IkiWiki/Render.pm:97 ../IkiWiki/Render.pm:165
+#: ../IkiWiki/CGI.pm:412 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
+#: ../IkiWiki/Render.pm:165
 msgid "discussion"
 msgstr "ચર્ચા"
 
 msgid "discussion"
 msgstr "ચર્ચા"
 
-#: ../IkiWiki/CGI.pm:446
+#: ../IkiWiki/CGI.pm:457
 #, perl-format
 msgid "creating %s"
 msgstr "%s બનાવે છે"
 
 #, perl-format
 msgid "creating %s"
 msgstr "%s બનાવે છે"
 
-#: ../IkiWiki/CGI.pm:463 ../IkiWiki/CGI.pm:506
+#: ../IkiWiki/CGI.pm:474 ../IkiWiki/CGI.pm:517
 #, perl-format
 msgid "editing %s"
 msgstr "%s સુધારે છે"
 
 #, perl-format
 msgid "editing %s"
 msgstr "%s સુધારે છે"
 
-#: ../IkiWiki/CGI.pm:629
+#: ../IkiWiki/CGI.pm:625
 msgid "You are banned."
 msgstr "તમારા પર પ્રતિબંધ છે."
 
 msgid "You are banned."
 msgstr "તમારા પર પ્રતિબંધ છે."
 
-#: ../IkiWiki/CGI.pm:656
+#: ../IkiWiki/CGI.pm:657
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
@@ -138,6 +132,11 @@ msgstr "RPC::XML::Client મળ્યું નહી, પિંગ કરવા
 msgid "linkmap failed to run dot"
 msgstr "લીંકમેપ ડોટ ચલાવવામાં નિષ્ફળ"
 
 msgid "linkmap failed to run dot"
 msgstr "લીંકમેપ ડોટ ચલાવવામાં નિષ્ફળ"
 
+#: ../IkiWiki/Plugin/lockedit.pm:24
+#, perl-format
+msgid "%s is locked by %s and cannot be edited"
+msgstr "%s એ %s દ્વારા તાળું મરાયેલ છે અને તેમાં સુધારો કરી શકાશે નહી"
+
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
@@ -364,11 +363,11 @@ msgstr "સફળતાપૂર્વક પેદા કરેલ છે %s"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "ઉપયોગ: ikiwiki [વિકલ્પો] source dest"
 
 msgid "usage: ikiwiki [options] source dest"
 msgstr "ઉપયોગ: ikiwiki [વિકલ્પો] source dest"
 
-#: ../IkiWiki.pm:103
+#: ../IkiWiki.pm:102
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "જ્યારે --cgi ઉપયોગ કરતાં હોય ત્યારે વીકીનું યુઆરએલ સ્પષ્ટ કરવું જ પડશે"
 
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "જ્યારે --cgi ઉપયોગ કરતાં હોય ત્યારે વીકીનું યુઆરએલ સ્પષ્ટ કરવું જ પડશે"
 
-#: ../IkiWiki.pm:148 ../IkiWiki.pm:149
+#: ../IkiWiki.pm:147 ../IkiWiki.pm:148
 msgid "Error"
 msgstr "ક્ષતિ"
 
 msgid "Error"
 msgstr "ક્ષતિ"
 
@@ -376,7 +375,7 @@ msgstr "ક્ષતિ"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:528
+#: ../IkiWiki.pm:527
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "%s પર શોધાયેલ લુપ  %s પર ચલાવે છે %i ઉંડાણ પર"
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "%s પર શોધાયેલ લુપ  %s પર ચલાવે છે %i ઉંડાણ પર"
index 43fe172bada233c7f9851ce25fc005bbd93126d9..a77f9d8838dd36a0eef56609d8119c12d6806497 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-01-31 02:17-0500\n"
+"POT-Creation-Date: 2007-02-01 21:30-0500\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,42 +16,36 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. translators: The first parameter is a page name,
-#. translators: second is the user who locked it.
-#: ../IkiWiki/CGI.pm:51
-#, perl-format
-msgid "%s is locked by %s and cannot be edited"
-msgstr ""
-
-#: ../IkiWiki/CGI.pm:140
+#: ../IkiWiki/CGI.pm:152
 msgid "You need to log in first."
 msgstr ""
 
 msgid "You need to log in first."
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:257
+#: ../IkiWiki/CGI.pm:262
 msgid "Preferences saved."
 msgstr ""
 
 msgid "Preferences saved."
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:407 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/orphans.pm:28
-#: ../IkiWiki/Render.pm:97 ../IkiWiki/Render.pm:165
+#: ../IkiWiki/CGI.pm:412 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
+#: ../IkiWiki/Render.pm:165
 msgid "discussion"
 msgstr ""
 
 msgid "discussion"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:446
+#: ../IkiWiki/CGI.pm:457
 #, perl-format
 msgid "creating %s"
 msgstr ""
 
 #, perl-format
 msgid "creating %s"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:463 ../IkiWiki/CGI.pm:506
+#: ../IkiWiki/CGI.pm:474 ../IkiWiki/CGI.pm:517
 #, perl-format
 msgid "editing %s"
 msgstr ""
 
 #, perl-format
 msgid "editing %s"
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:629
+#: ../IkiWiki/CGI.pm:625
 msgid "You are banned."
 msgstr ""
 
 msgid "You are banned."
 msgstr ""
 
-#: ../IkiWiki/CGI.pm:656
+#: ../IkiWiki/CGI.pm:657
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
@@ -139,6 +133,11 @@ msgstr ""
 msgid "linkmap failed to run dot"
 msgstr ""
 
 msgid "linkmap failed to run dot"
 msgstr ""
 
+#: ../IkiWiki/Plugin/lockedit.pm:24
+#, perl-format
+msgid "%s is locked by %s and cannot be edited"
+msgstr ""
+
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
@@ -365,11 +364,11 @@ msgstr ""
 msgid "usage: ikiwiki [options] source dest"
 msgstr ""
 
 msgid "usage: ikiwiki [options] source dest"
 msgstr ""
 
-#: ../IkiWiki.pm:103
+#: ../IkiWiki.pm:102
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 
-#: ../IkiWiki.pm:148 ../IkiWiki.pm:149
+#: ../IkiWiki.pm:147 ../IkiWiki.pm:148
 msgid "Error"
 msgstr ""
 
 msgid "Error"
 msgstr ""
 
@@ -377,7 +376,7 @@ msgstr ""
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:528
+#: ../IkiWiki.pm:527
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr ""
index a1e445949244cb0ef96003ce50b834e902b2351d..a93c76167946290bdb5ab92171d5b806c937a082 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki 1.37\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: ikiwiki 1.37\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-01-31 02:17-0500\n"
+"POT-Creation-Date: 2007-02-01 21:27-0500\n"
 "PO-Revision-Date: 2007-01-05 16:33+100\n"
 "Last-Translator: Paweł Tęcza <ptecza@net.icm.edu.pl>\n"
 "Language-Team: Debian L10n Polish <debian-l10n-polish@lists.debian.org>\n"
 "PO-Revision-Date: 2007-01-05 16:33+100\n"
 "Last-Translator: Paweł Tęcza <ptecza@net.icm.edu.pl>\n"
 "Language-Team: Debian L10n Polish <debian-l10n-polish@lists.debian.org>\n"
@@ -16,44 +16,36 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. translators: The first parameter is a page name,
-#. translators: second is the user who locked it.
-#: ../IkiWiki/CGI.pm:51
-#, perl-format
-msgid "%s is locked by %s and cannot be edited"
-msgstr ""
-"strona %s jest tymczasowo zablokowana przez użytkownika %s i nie może być "
-"teraz edytowana"
-
-#: ../IkiWiki/CGI.pm:140
+#: ../IkiWiki/CGI.pm:152
 msgid "You need to log in first."
 msgstr "Konieczne jest zalogowanie się."
 
 msgid "You need to log in first."
 msgstr "Konieczne jest zalogowanie się."
 
-#: ../IkiWiki/CGI.pm:257
+#: ../IkiWiki/CGI.pm:262
 msgid "Preferences saved."
 msgstr "Ustawienia zostały zapisane."
 
 msgid "Preferences saved."
 msgstr "Ustawienia zostały zapisane."
 
-#: ../IkiWiki/CGI.pm:407 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/orphans.pm:28
-#: ../IkiWiki/Render.pm:97 ../IkiWiki/Render.pm:165
+#: ../IkiWiki/CGI.pm:412 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
+#: ../IkiWiki/Render.pm:165
 msgid "discussion"
 msgstr "dyskusja"
 
 msgid "discussion"
 msgstr "dyskusja"
 
-#: ../IkiWiki/CGI.pm:446
+#: ../IkiWiki/CGI.pm:457
 #, perl-format
 msgid "creating %s"
 msgstr "tworzenie strony %s"
 
 #, perl-format
 msgid "creating %s"
 msgstr "tworzenie strony %s"
 
-#: ../IkiWiki/CGI.pm:463 ../IkiWiki/CGI.pm:506
+#: ../IkiWiki/CGI.pm:474 ../IkiWiki/CGI.pm:517
 #, perl-format
 msgid "editing %s"
 msgstr "edycja strony %s"
 
 #, perl-format
 msgid "editing %s"
 msgstr "edycja strony %s"
 
-#: ../IkiWiki/CGI.pm:629
+#: ../IkiWiki/CGI.pm:625
 msgid "You are banned."
 msgstr "Dostęp został zabroniony przez administratora."
 
 msgid "You are banned."
 msgstr "Dostęp został zabroniony przez administratora."
 
-#: ../IkiWiki/CGI.pm:656
+#: ../IkiWiki/CGI.pm:657
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
@@ -145,6 +137,13 @@ msgstr "Niezainstalowany moduł RPC::XML::Client, brak możliwości pingowania"
 msgid "linkmap failed to run dot"
 msgstr "awaria wtyczki linkmap"
 
 msgid "linkmap failed to run dot"
 msgstr "awaria wtyczki linkmap"
 
+#: ../IkiWiki/Plugin/lockedit.pm:24
+#, perl-format
+msgid "%s is locked by %s and cannot be edited"
+msgstr ""
+"strona %s jest tymczasowo zablokowana przez użytkownika %s i nie może być "
+"teraz edytowana"
+
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
@@ -376,13 +375,13 @@ msgstr "strona pomyślnie utworzona %s"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "użycie: ikiwiki [parametry] źródło cel"
 
 msgid "usage: ikiwiki [options] source dest"
 msgstr "użycie: ikiwiki [parametry] źródło cel"
 
-#: ../IkiWiki.pm:103
+#: ../IkiWiki.pm:102
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Użycie parametru --cgi wymaga podania adresu URL do wiki za pomocą parametru "
 "--url"
 
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Użycie parametru --cgi wymaga podania adresu URL do wiki za pomocą parametru "
 "--url"
 
-#: ../IkiWiki.pm:148 ../IkiWiki.pm:149
+#: ../IkiWiki.pm:147 ../IkiWiki.pm:148
 msgid "Error"
 msgstr "Błąd"
 
 msgid "Error"
 msgstr "Błąd"
 
@@ -390,7 +389,7 @@ msgstr "Błąd"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:528
+#: ../IkiWiki.pm:527
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "polecenie preprocesora %s wykryte w %s na głębokości %i"
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "polecenie preprocesora %s wykryte w %s na głębokości %i"
index ddb95c0f568560ff79169f8ceef8db3f58bd18d0..df9c1055beea4e103abf596cd8a2a887a15f8e6b 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-01-31 02:17-0500\n"
+"POT-Creation-Date: 2007-02-01 21:27-0500\n"
 "PO-Revision-Date: 2007-01-10 23:47+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
 "PO-Revision-Date: 2007-01-10 23:47+0100\n"
 "Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -15,42 +15,36 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#. translators: The first parameter is a page name,
-#. translators: second is the user who locked it.
-#: ../IkiWiki/CGI.pm:51
-#, perl-format
-msgid "%s is locked by %s and cannot be edited"
-msgstr "%s är låst av %s och kan inte redigeras"
-
-#: ../IkiWiki/CGI.pm:140
+#: ../IkiWiki/CGI.pm:152
 msgid "You need to log in first."
 msgstr "Du måste logga in först."
 
 msgid "You need to log in first."
 msgstr "Du måste logga in först."
 
-#: ../IkiWiki/CGI.pm:257
+#: ../IkiWiki/CGI.pm:262
 msgid "Preferences saved."
 msgstr "Inställningar sparades."
 
 msgid "Preferences saved."
 msgstr "Inställningar sparades."
 
-#: ../IkiWiki/CGI.pm:407 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/orphans.pm:28
-#: ../IkiWiki/Render.pm:97 ../IkiWiki/Render.pm:165
+#: ../IkiWiki/CGI.pm:412 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
+#: ../IkiWiki/Render.pm:165
 msgid "discussion"
 msgstr "diskussion"
 
 msgid "discussion"
 msgstr "diskussion"
 
-#: ../IkiWiki/CGI.pm:446
+#: ../IkiWiki/CGI.pm:457
 #, perl-format
 msgid "creating %s"
 msgstr "skapar %s"
 
 #, perl-format
 msgid "creating %s"
 msgstr "skapar %s"
 
-#: ../IkiWiki/CGI.pm:463 ../IkiWiki/CGI.pm:506
+#: ../IkiWiki/CGI.pm:474 ../IkiWiki/CGI.pm:517
 #, perl-format
 msgid "editing %s"
 msgstr "redigerar %s"
 
 #, perl-format
 msgid "editing %s"
 msgstr "redigerar %s"
 
-#: ../IkiWiki/CGI.pm:629
+#: ../IkiWiki/CGI.pm:625
 msgid "You are banned."
 msgstr "Du är bannlyst."
 
 msgid "You are banned."
 msgstr "Du är bannlyst."
 
-#: ../IkiWiki/CGI.pm:656
+#: ../IkiWiki/CGI.pm:657
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
@@ -138,6 +132,11 @@ msgstr "RPC::XML::Client hittades inte, pingar inte"
 msgid "linkmap failed to run dot"
 msgstr "linkmap misslyckades att köra dot"
 
 msgid "linkmap failed to run dot"
 msgstr "linkmap misslyckades att köra dot"
 
+#: ../IkiWiki/Plugin/lockedit.pm:24
+#, perl-format
+msgid "%s is locked by %s and cannot be edited"
+msgstr "%s är låst av %s och kan inte redigeras"
+
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
@@ -368,11 +367,11 @@ msgstr "generering av %s lyckades"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "användning: ikiwiki [flaggor] källa mål"
 
 msgid "usage: ikiwiki [options] source dest"
 msgstr "användning: ikiwiki [flaggor] källa mål"
 
-#: ../IkiWiki.pm:103
+#: ../IkiWiki.pm:102
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "Måste ange url till wiki med --url när --cgi används"
 
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr "Måste ange url till wiki med --url när --cgi används"
 
-#: ../IkiWiki.pm:148 ../IkiWiki.pm:149
+#: ../IkiWiki.pm:147 ../IkiWiki.pm:148
 msgid "Error"
 msgstr "Fel"
 
 msgid "Error"
 msgstr "Fel"
 
@@ -380,7 +379,7 @@ msgstr "Fel"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:528
+#: ../IkiWiki.pm:527
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "%s förbehandlingsslinga detekterades på %s, djup %i"
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "%s förbehandlingsslinga detekterades på %s, djup %i"
index ddecc0db053645ba6db6e9673d14c69e81b14d63..32d386856aa02bab3b4756dc3991eca8b0ae5954 100644 (file)
--- a/po/vi.po
+++ b/po/vi.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
 msgstr ""
 "Project-Id-Version: ikiwiki\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-01-31 02:17-0500\n"
+"POT-Creation-Date: 2007-02-01 21:27-0500\n"
 "PO-Revision-Date: 2007-01-13 15:31+1030\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
 "PO-Revision-Date: 2007-01-13 15:31+1030\n"
 "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
 "Language-Team: Vietnamese <vi-VN@googlegroups.com>\n"
@@ -16,42 +16,36 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: LocFactoryEditor 1.6fc1\n"
 
 "Plural-Forms: nplurals=1; plural=0;\n"
 "X-Generator: LocFactoryEditor 1.6fc1\n"
 
-#. translators: The first parameter is a page name,
-#. translators: second is the user who locked it.
-#: ../IkiWiki/CGI.pm:51
-#, perl-format
-msgid "%s is locked by %s and cannot be edited"
-msgstr "%s bị %s khoá nên không thể sửa được"
-
-#: ../IkiWiki/CGI.pm:140
+#: ../IkiWiki/CGI.pm:152
 msgid "You need to log in first."
 msgstr "Trước tiên bạn cần phải đăng nhập."
 
 msgid "You need to log in first."
 msgstr "Trước tiên bạn cần phải đăng nhập."
 
-#: ../IkiWiki/CGI.pm:257
+#: ../IkiWiki/CGI.pm:262
 msgid "Preferences saved."
 msgstr "Tùy thích đã được lưu."
 
 msgid "Preferences saved."
 msgstr "Tùy thích đã được lưu."
 
-#: ../IkiWiki/CGI.pm:407 ../IkiWiki/Plugin/brokenlinks.pm:24
-#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/orphans.pm:28
-#: ../IkiWiki/Render.pm:97 ../IkiWiki/Render.pm:165
+#: ../IkiWiki/CGI.pm:412 ../IkiWiki/Plugin/brokenlinks.pm:24
+#: ../IkiWiki/Plugin/inline.pm:160 ../IkiWiki/Plugin/opendiscussion.pm:17
+#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:97
+#: ../IkiWiki/Render.pm:165
 msgid "discussion"
 msgstr "thảo luận"
 
 msgid "discussion"
 msgstr "thảo luận"
 
-#: ../IkiWiki/CGI.pm:446
+#: ../IkiWiki/CGI.pm:457
 #, perl-format
 msgid "creating %s"
 msgstr "đang tạo %s"
 
 #, perl-format
 msgid "creating %s"
 msgstr "đang tạo %s"
 
-#: ../IkiWiki/CGI.pm:463 ../IkiWiki/CGI.pm:506
+#: ../IkiWiki/CGI.pm:474 ../IkiWiki/CGI.pm:517
 #, perl-format
 msgid "editing %s"
 msgstr "đang sửa %s"
 
 #, perl-format
 msgid "editing %s"
 msgstr "đang sửa %s"
 
-#: ../IkiWiki/CGI.pm:629
+#: ../IkiWiki/CGI.pm:625
 msgid "You are banned."
 msgstr "Bạn bị cấm ra."
 
 msgid "You are banned."
 msgstr "Bạn bị cấm ra."
 
-#: ../IkiWiki/CGI.pm:656
+#: ../IkiWiki/CGI.pm:657
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
 msgid "login failed, perhaps you need to turn on cookies?"
 msgstr ""
 
@@ -141,6 +135,11 @@ msgstr "Không tìm thấy RPC::XML::Client nên không gửi gói tin ping"
 msgid "linkmap failed to run dot"
 msgstr "linkmap không chạy dot được"
 
 msgid "linkmap failed to run dot"
 msgstr "linkmap không chạy dot được"
 
+#: ../IkiWiki/Plugin/lockedit.pm:24
+#, perl-format
+msgid "%s is locked by %s and cannot be edited"
+msgstr "%s bị %s khoá nên không thể sửa được"
+
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
 #: ../IkiWiki/Plugin/mdwn.pm:37
 #, perl-format
 msgid "failed to load Markdown.pm perl module (%s) or /usr/bin/markdown (%s)"
@@ -368,12 +367,12 @@ msgstr "%s đã được tạo ra"
 msgid "usage: ikiwiki [options] source dest"
 msgstr "cách sử dụng: ikiwiki [tùy chọn] nguồn đích"
 
 msgid "usage: ikiwiki [options] source dest"
 msgstr "cách sử dụng: ikiwiki [tùy chọn] nguồn đích"
 
-#: ../IkiWiki.pm:103
+#: ../IkiWiki.pm:102
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Cần phải xác định địa chỉ URL tới wiki với « --url » khi dùng « --cgi »"
 
 msgid "Must specify url to wiki with --url when using --cgi"
 msgstr ""
 "Cần phải xác định địa chỉ URL tới wiki với « --url » khi dùng « --cgi »"
 
-#: ../IkiWiki.pm:148 ../IkiWiki.pm:149
+#: ../IkiWiki.pm:147 ../IkiWiki.pm:148
 msgid "Error"
 msgstr "Lỗi"
 
 msgid "Error"
 msgstr "Lỗi"
 
@@ -381,7 +380,7 @@ msgstr "Lỗi"
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
 #. translators: preprocessor directive name,
 #. translators: the second a page name, the
 #. translators: third a number.
-#: ../IkiWiki.pm:528
+#: ../IkiWiki.pm:527
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "vòng lặp tiền xử lý %s được phát hiện trên %s ở độ sâu %i"
 #, perl-format
 msgid "%s preprocessing loop detected on %s at depth %i"
 msgstr "vòng lặp tiền xử lý %s được phát hiện trên %s ở độ sâu %i"