]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/CGI.pm
* Allow preprocessor directives to contain python-like triple-quoted
[ikiwiki.git] / IkiWiki / CGI.pm
index f69f02a15af2396d51c3e116ada1cb8be3652d22..7d4ba146fc9de3eb2e8ca08fb7b4d100a29c6bda 100644 (file)
@@ -70,8 +70,7 @@ sub cgi_recentchanges ($) { #{{{
                indexlink => indexlink(),
                wikiname => $config{wikiname},
                changelog => [rcs_recentchanges(100)],
-               styleurl => styleurl(),
-               baseurl => "$config{url}/",
+               baseurl => baseurl(),
        );
        print $q->header(-charset=>'utf-8'), $template->output;
 } #}}}
@@ -100,7 +99,7 @@ sub cgi_signin ($$) { #{{{
                header => 0,
                template => (-e "$config{templatedir}/signin.tmpl" ?
                             {template_params("signin.tmpl")} : ""),
-               stylesheet => styleurl(),
+               stylesheet => baseurl()."style.css",
        );
                
        decode_form_utf8($form);
@@ -267,7 +266,7 @@ sub cgi_prefs ($$) { #{{{
                action => $config{cgiurl},
                template => (-e "$config{templatedir}/prefs.tmpl" ?
                             {template_params("prefs.tmpl")} : ""),
-               stylesheet => styleurl(),
+               stylesheet => baseurl()."style.css",
        );
        my @buttons=("Save Preferences", "Logout", "Cancel");
        
@@ -346,12 +345,11 @@ sub cgi_editpage ($$) { #{{{
        # This untaint is safe because titlepage removes any problematic
        # characters.
        my ($page)=$form->field('page');
-       $page=titlepage(possibly_foolish_untaint(lc($page)));
+       $page=titlepage(possibly_foolish_untaint($page));
        if (! defined $page || ! length $page ||
            $page=~/$config{wiki_file_prune_regexp}/ || $page=~/^\//) {
                error("bad page name");
        }
-       $page=lc($page);
        
        my $from;
        if (defined $form->field('from')) {
@@ -359,7 +357,7 @@ sub cgi_editpage ($$) { #{{{
        }
        
        my $file;
-       my $type;       
+       my $type;
        if (exists $pagesources{$page}) {
                $file=$pagesources{$page};
                $type=pagetype($file);
@@ -373,9 +371,7 @@ sub cgi_editpage ($$) { #{{{
                        # favor the type of linking page
                        $type=pagetype($pagesources{$from});
                }
-               else {
-                       $type=$config{default_pageext};
-               }
+               $type=$config{default_pageext} unless defined $type;
                $file=$page.".".$type;
        }
 
@@ -397,8 +393,7 @@ sub cgi_editpage ($$) { #{{{
        $form->tmpl_param("indexlink", indexlink());
        $form->tmpl_param("helponformattinglink",
                htmllink("", "", "HelpOnFormatting", 1));
-       $form->tmpl_param("styleurl", styleurl());
-       $form->tmpl_param("baseurl", "$config{url}/");
+       $form->tmpl_param("baseurl", baseurl());
        if (! $form->submitted) {
                $form->field(name => "rcsinfo", value => rcs_prepedit($file),
                        force => 1);
@@ -417,7 +412,7 @@ sub cgi_editpage ($$) { #{{{
                $form->field(name => "comments",
                                value => $comments, force => 1);
                $form->tmpl_param("page_preview",
-                       htmlize($type, linkify($page, $page, filter($page, $content))));
+                       htmlize($type, linkify($page, "", filter($page, $content))));
        }
        else {
                $form->tmpl_param("page_preview", "");
@@ -457,7 +452,7 @@ sub cgi_editpage ($$) { #{{{
                        }
 
                        @page_locs = grep {
-                               ! exists $pagesources{lc($_)} &&
+                               ! exists $pagecase{lc $_} &&
                                ! page_locked($_, $session, 1)
                        } @page_locs;
                        
@@ -485,8 +480,8 @@ sub cgi_editpage ($$) { #{{{
                        if (! defined $form->field('editcontent') || 
                            ! length $form->field('editcontent')) {
                                my $content="";
-                               if (exists $pagesources{lc($page)}) {
-                                       $content=readfile(srcfile($pagesources{lc($page)}));
+                               if (exists $pagesources{$page}) {
+                                       $content=readfile(srcfile($pagesources{$page}));
                                        $content=~s/\n/\r\n/g;
                                }
                                $form->field(name => "editcontent", value => $content,
@@ -617,11 +612,11 @@ sub cgi () { #{{{
                cgi_prefs($q, $session);
        }
        elsif ($do eq 'blog') {
-               my $page=titlepage(lc($q->param('title')));
+               my $page=titlepage(decode_utf8($q->param('title')));
                # if the page already exists, munge it to be unique
                my $from=$q->param('from');
                my $add="";
-               while (exists $oldpagemtime{"$from/$page$add"}) {
+               while (exists $pagecase{lc "$from/$page$add"}) {
                        $add=1 unless length $add;
                        $add++;
                }