+ if ($form->field("do") eq "edit") {
+ $form->field(name => 'attachment', type => 'file');
+ }
+ elsif ($form->title eq "preferences") {
+ my $session=$params{session};
+ my $user_name=$session->param("name");
+
+ $form->field(name => "allowed_attachments", size => 50,
+ fieldset => "admin",
+ comment => "(".htmllink("", "", "ikiwiki/PageSpec", noimageinline => 1).")");
+ if (! IkiWiki::is_admin($user_name)) {
+ $form->field(name => "allowed_attachments", type => "hidden");
+ }
+ if (! $form->submitted) {
+ $form->field(name => "allowed_attachments", force => 1,
+ value => IkiWiki::userinfo_get($user_name, "allowed_attachments"));
+ }
+ if ($form->submitted && $form->submitted eq 'Save Preferences') {
+ if (defined $form->field("allowed_attachments")) {
+ IkiWiki::userinfo_set($user_name, "allowed_attachments",
+ $form->field("allowed_attachments")) ||
+ error("failed to set allowed_attachments");
+ }
+ }
+ }