X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/34e8c78c1c9bf65564c1a3086584158e5c3cc415..57d0ef239b1a153d3c2da50e23c95f43e9b56cc0:/IkiWiki/Plugin/rename.pm

diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm
index 69e615ead..ad5e72645 100644
--- a/IkiWiki/Plugin/rename.pm
+++ b/IkiWiki/Plugin/rename.pm
@@ -108,6 +108,7 @@ sub check_canrename ($$$$$$) {
 			}
 		}
 	});
+	return defined $canrename ? $canrename : 1;
 }
 
 sub rename_form ($$$) {
@@ -126,11 +127,13 @@ sub rename_form ($$$) {
 		javascript => 0,
 		params => $q,
 		action => $config{cgiurl},
-		stylesheet => IkiWiki::baseurl()."style.css",
+		stylesheet => 1,
 		fields => [qw{do page new_name attachment}],
 	);
 	
 	$f->field(name => "do", type => "hidden", value => "rename", force => 1);
+	$f->field(name => "sid", type => "hidden", value => $session->id,
+		force => 1);
 	$f->field(name => "page", type => "hidden", value => $page, force => 1);
 	$f->field(name => "new_name", value => pagetitle($page, 1), size => 60);
 	if (!$q->param("attachment")) {
@@ -286,6 +289,8 @@ sub sessioncgi ($$) {
 			postrename($session);
 		}
 		elsif ($form->submitted eq 'Rename' && $form->validate) {
+			IkiWiki::checksessionexpiry($q, $session, $q->param('sid'));
+
 			# Queue of rename actions to perfom.
 			my @torename;
 
@@ -345,8 +350,9 @@ sub sessioncgi ($$) {
 				$pagesources{$rename->{src}}=$rename->{destfile};
 			}
 			IkiWiki::rcs_commit_staged(
-				sprintf(gettext("rename %s to %s"), $srcfile, $destfile),
-				$session->param("name"), $ENV{REMOTE_ADDR}) if $config{rcs};
+				message => sprintf(gettext("rename %s to %s"), $srcfile, $destfile),
+				session => $session,
+			) if $config{rcs};
 
 			# Then link fixups.
 			foreach my $rename (@torename) {
@@ -571,8 +577,8 @@ sub fixlinks ($$$) {
 					$file,
 					sprintf(gettext("update for rename of %s to %s"), $rename->{srcfile}, $rename->{destfile}),
 					$token,
-					$session->param("name"), 
-					$ENV{REMOTE_ADDR}
+					$session->param("name"),
+					$session->remote_addr(),
 				);
 				push @fixedlinks, $page if ! defined $conflict;
 			}