remove trailing slash from attachment_holding_dir

If it's passed a filename, it should return the filename inside the holding
dir. If passed a page, the directory sans slash. All code adds the slash.
master
Joey Hess 2011-06-14 15:47:47 -04:00
parent d4254c7f97
commit 2e086b3263
1 changed files with 8 additions and 7 deletions

View File

@ -153,18 +153,19 @@ sub formbuilder (@) {
$form->tmpl_param("attachment_list" => [attachment_list($form->field('page'))]); $form->tmpl_param("attachment_list" => [attachment_list($form->field('page'))]);
} }
sub attachment_holding_dir { sub attachment_holding_location {
my $page=attachment_location(shift); my $page=attachment_location(shift);
return $config{wikistatedir}."/attachments/". my $dir=$config{wikistatedir}."/attachments/".
IkiWiki::possibly_foolish_untaint(linkpage($page)); IkiWiki::possibly_foolish_untaint(linkpage($page));
$dir=~s/\/$//;
return $dir;
} }
sub is_held_attachment { sub is_held_attachment {
my $attachment=shift; my $attachment=shift;
my $f=attachment_holding_dir($attachment); my $f=attachment_holding_location($attachment);
$f=~s/\/$//;
if (-f $f) { if (-f $f) {
return $f return $f
} }
@ -214,7 +215,7 @@ sub attachment_store {
# Move the attachment into holding directory. # Move the attachment into holding directory.
# Try to use a fast rename; fall back to copying. # Try to use a fast rename; fall back to copying.
my $dest=attachment_holding_dir($form->field('page')); my $dest=attachment_holding_location($form->field('page'));
IkiWiki::prep_writefile($filename, $dest); IkiWiki::prep_writefile($filename, $dest);
unlink($dest."/".$filename); unlink($dest."/".$filename);
if (rename($tempfile, $dest."/".$filename)) { if (rename($tempfile, $dest."/".$filename)) {
@ -248,7 +249,7 @@ sub attachments_save {
# Move attachments out of holding directory. # Move attachments out of holding directory.
my @attachments; my @attachments;
my $dir=attachment_holding_dir($form->field('page')); my $dir=attachment_holding_location($form->field('page'));
foreach my $filename (glob("$dir/*")) { foreach my $filename (glob("$dir/*")) {
next unless -f $filename; next unless -f $filename;
my $dest=$config{srcdir}."/". my $dest=$config{srcdir}."/".
@ -317,7 +318,7 @@ sub attachment_list ($) {
} }
# attachments in holding directory # attachments in holding directory
my $dir=attachment_holding_dir($page); my $dir=attachment_holding_location($page);
my $heldmsg=gettext("this attachment is not yet saved"); my $heldmsg=gettext("this attachment is not yet saved");
foreach my $file (glob("$dir/*")) { foreach my $file (glob("$dir/*")) {
next unless -f $file; next unless -f $file;