]> scripts.mit.edu Git - www/ikiwiki.git/blobdiff - IkiWiki/CGI.pm
Change the name of the session cookie. This will avoid problems with
[www/ikiwiki.git] / IkiWiki / CGI.pm
index 560377f0e4709d32bc0356b97185a0425ce40729..fb4fd4475e9fb90d6bd9fcbf28d14492079b0379 100644 (file)
@@ -355,7 +355,9 @@ sub cgi_editpage ($$) { #{{{
                        my ($from)=$form->param('from')=~/$config{wiki_file_regexp}/;
                        if (! defined $from || ! length $from ||
                            $from ne $form->param('from') ||
-                           $from=~/$config{wiki_file_prune_regexp}/ || $from=~/^\//) {
+                           $from=~/$config{wiki_file_prune_regexp}/ ||
+                           $from=~/^\// ||
+                           $form->submitted eq "Preview") {
                                @page_locs=$best_loc=$page;
                        }
                        else {
@@ -481,8 +483,8 @@ sub cgi () { #{{{
                return;
        }
        
-       CGI::Session->name("ikiwiki_session");
-
+       CGI::Session->name("ikiwiki_session_$config{wikiname}");
+       
        my $oldmask=umask(077);
        my $session = CGI::Session->new("driver:db_file", $q,
                { FileName => "$config{wikistatedir}/sessions.db" });
@@ -513,7 +515,7 @@ sub cgi () { #{{{
                # is entered
                my $page=lc($q->param('title'));
                $page=~y/ /_/;
-               $page=~s/([^-A-Za-z0-9_:+/])/"__".ord($1)."__"/eg;
+               $page=~s/([^-A-Za-z0-9_:+\/])/"__".ord($1)."__"/eg;
                # if the page already exist, munge it to be unique
                my $from=$q->param('from');
                my $add="";