my $form=$params{form};
my $q=$params{cgi};
- if ($form->field("do") eq "edit") {
+ if (defined $form->field("do") && $form->field("do") eq "edit") {
$form->field(name => 'attachment', type => 'file');
# These buttons are not put in the usual place, so
# are not added to the normal formbuilder button list.
$form->field(name => "allowed_attachments", size => 50,
fieldset => "admin",
- comment => "(".htmllink("", "", "ikiwiki/PageSpec", noimageinline => 1).")");
+ comment => "(".
+ htmllink("", "",
+ "ikiwiki/PageSpec/attachment",
+ noimageinline => 1,
+ linktext => "Enhanced PageSpec",
+ ).")"
+ );
if (! IkiWiki::is_admin($user_name)) {
$form->field(name => "allowed_attachments", type => "hidden");
}
my $form=$params{form};
my $q=$params{cgi};
- return if $form->field("do") ne "edit";
+ return if ! defined $form->field("do") || $form->field("do") ne "edit";
my $filename=$q->param('attachment');
if (defined $filename && length $filename &&
$mimetype="unknown";
}
- # turn glob into a safe regexp
- my $regexp=quotemeta($wanted);
- $regexp=~s/\\\*/.*/g;
- $regexp=~s/\\\?/./g;
-
+ my $regexp=IkiWiki::glob2re($wanted);
if ($mimetype!~/^$regexp$/i) {
return IkiWiki::FailReason->new("file MIME type is $mimetype, not $wanted");
}