* Move blog form code out of CGI.pm and into the inline plugin.
parent
8ca85b699d
commit
46a80d9cbe
|
@ -704,21 +704,6 @@ sub cgi (;$$) { #{{{
|
|||
elsif ($do eq 'create' || $do eq 'edit') {
|
||||
cgi_editpage($q, $session);
|
||||
}
|
||||
elsif ($do eq 'blog') {
|
||||
my $page=decode_utf8($q->param('title'));
|
||||
$page=~s/\///g; # no slashes in blog posts
|
||||
# if the page already exists, munge it to be unique
|
||||
my $from=$q->param('from');
|
||||
my $add="";
|
||||
while (exists $pagecase{lc($from."/".titlepage($page).$add)}) {
|
||||
$add=1 unless length $add;
|
||||
$add++;
|
||||
}
|
||||
$q->param('page', $page.$add);
|
||||
# now run same as create
|
||||
$q->param('do', 'create');
|
||||
cgi_editpage($q, $session);
|
||||
}
|
||||
elsif ($do eq 'postsignin') {
|
||||
error(gettext("login failed, perhaps you need to turn on cookies?"));
|
||||
}
|
||||
|
|
|
@ -4,12 +4,14 @@ package IkiWiki::Plugin::inline;
|
|||
|
||||
use warnings;
|
||||
use strict;
|
||||
use Encode;
|
||||
use IkiWiki 2.00;
|
||||
use URI;
|
||||
|
||||
sub import { #{{{
|
||||
hook(type => "getopt", id => "inline", call => \&getopt);
|
||||
hook(type => "checkconfig", id => "inline", call => \&checkconfig);
|
||||
hook(type => "sessioncgi", id => "skeleton", call => \&sessioncgi);
|
||||
hook(type => "preprocess", id => "inline",
|
||||
call => \&IkiWiki::preprocess_inline);
|
||||
hook(type => "pagetemplate", id => "inline",
|
||||
|
@ -19,6 +21,7 @@ sub import { #{{{
|
|||
# pings interrupting page builds.
|
||||
hook(type => "change", id => "inline",
|
||||
call => \&IkiWiki::pingurl);
|
||||
|
||||
} # }}}
|
||||
|
||||
sub getopt () { #{{{
|
||||
|
@ -43,6 +46,27 @@ sub checkconfig () { #{{{
|
|||
}
|
||||
} #}}}
|
||||
|
||||
sub sessioncgi () { #{{{
|
||||
my $q=shift;
|
||||
my $session=shift;
|
||||
|
||||
if ($q->param('do') eq 'blog') {
|
||||
my $page=decode_utf8($q->param('title'));
|
||||
$page=~s/\///g; # no slashes in blog posts
|
||||
# if the page already exists, munge it to be unique
|
||||
my $from=$q->param('from');
|
||||
my $add="";
|
||||
while (exists $IkiWiki::pagecase{lc($from."/".IkiWiki::titlepage($page).$add)}) {
|
||||
$add=1 unless length $add;
|
||||
$add++;
|
||||
}
|
||||
$q->param('page', $page.$add);
|
||||
# now go create the page
|
||||
$q->param('do', 'create');
|
||||
IkiWiki::cgi_editpage($q, $session);
|
||||
}
|
||||
}
|
||||
|
||||
# Back to ikiwiki namespace for the rest, this code is very much
|
||||
# internal to ikiwiki even though it's separated into a plugin.
|
||||
package IkiWiki;
|
||||
|
|
|
@ -23,6 +23,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 => "sessioncgi", id => "skeleton", call => \&sessioncgi);
|
||||
hook(type => "canedit", id => "skeleton", call => \&canedit);
|
||||
hook(type => "formbuilder_setup", id => "skeleton", call => \&formbuilder_setup);
|
||||
hook(type => "formbuilder", id => "skeleton", call => \&formbuilder);
|
||||
|
@ -119,6 +120,13 @@ sub auth ($$) { #{{{
|
|||
debug("skeleton plugin running in auth");
|
||||
} #}}}
|
||||
|
||||
sub sessionncgi ($$) { #{{{
|
||||
my $cgi=shift;
|
||||
my $session=shift;
|
||||
|
||||
debug("skeleton plugin running in sessioncgi");
|
||||
} #}}}
|
||||
|
||||
sub canedit ($$$) { #{{{
|
||||
my $page=shift;
|
||||
my $cgi=shift;
|
||||
|
|
|
@ -10,6 +10,7 @@ ikiwiki (2.6) UNRELEASED; urgency=low
|
|||
* Add rel=tag attribute to tag links, supporting that microformat, as well
|
||||
as allowing them to be styled specially. Thanks, NicolasLimare.
|
||||
* Add sessioncgi hook.
|
||||
* Move blog form code out of CGI.pm and into the inline plugin.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Sun, 05 Aug 2007 14:36:55 -0700
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2007-08-05 13:46-0700\n"
|
||||
"POT-Creation-Date: 2007-08-05 14:56-0700\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"
|
||||
|
@ -42,7 +42,7 @@ msgid "%s is not an editable page"
|
|||
msgstr ""
|
||||
|
||||
#: ../IkiWiki/CGI.pm:429 ../IkiWiki/Plugin/brokenlinks.pm:24
|
||||
#: ../IkiWiki/Plugin/inline.pm:184 ../IkiWiki/Plugin/opendiscussion.pm:17
|
||||
#: ../IkiWiki/Plugin/inline.pm:206 ../IkiWiki/Plugin/opendiscussion.pm:17
|
||||
#: ../IkiWiki/Plugin/orphans.pm:28 ../IkiWiki/Render.pm:99
|
||||
#: ../IkiWiki/Render.pm:179
|
||||
msgid "discussion"
|
||||
|
@ -59,11 +59,11 @@ msgstr ""
|
|||
msgid "editing %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../IkiWiki/CGI.pm:691
|
||||
#: ../IkiWiki/CGI.pm:688
|
||||
msgid "You are banned."
|
||||
msgstr ""
|
||||
|
||||
#: ../IkiWiki/CGI.pm:723
|
||||
#: ../IkiWiki/CGI.pm:708
|
||||
msgid "login failed, perhaps you need to turn on cookies?"
|
||||
msgstr ""
|
||||
|
||||
|
@ -173,29 +173,29 @@ msgstr ""
|
|||
msgid "failed to determine size of image %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../IkiWiki/Plugin/inline.pm:36
|
||||
#: ../IkiWiki/Plugin/inline.pm:37
|
||||
msgid "Must specify url to wiki with --url when using --rss or --atom"
|
||||
msgstr ""
|
||||
|
||||
#: ../IkiWiki/Plugin/inline.pm:106
|
||||
#: ../IkiWiki/Plugin/inline.pm:128
|
||||
#, perl-format
|
||||
msgid "unknown sort type %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../IkiWiki/Plugin/inline.pm:146
|
||||
#: ../IkiWiki/Plugin/inline.pm:168
|
||||
msgid "Add a new post titled:"
|
||||
msgstr ""
|
||||
|
||||
#: ../IkiWiki/Plugin/inline.pm:161
|
||||
#: ../IkiWiki/Plugin/inline.pm:183
|
||||
#, perl-format
|
||||
msgid "nonexistant template %s"
|
||||
msgstr ""
|
||||
|
||||
#: ../IkiWiki/Plugin/inline.pm:192 ../IkiWiki/Render.pm:103
|
||||
#: ../IkiWiki/Plugin/inline.pm:214 ../IkiWiki/Render.pm:103
|
||||
msgid "Discussion"
|
||||
msgstr ""
|
||||
|
||||
#: ../IkiWiki/Plugin/inline.pm:403
|
||||
#: ../IkiWiki/Plugin/inline.pm:425
|
||||
msgid "RPC::XML::Client not found, not pinging"
|
||||
msgstr ""
|
||||
|
||||
|
|
Loading…
Reference in New Issue