aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/notifyemail.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2012-03-28 20:56:22 -0400
committerJoey Hess <joey@kitenet.net>2012-03-28 20:56:22 -0400
commit5ed773c6434c4e992898720d3033ce14e484a68b (patch)
tree04338e562f95cd78697dda07c39f0bf6528e4559 /IkiWiki/Plugin/notifyemail.pm
parentd366a7bbb5d1672aeef89c767d3b1911d35d333e (diff)
downloadikiwiki-5ed773c6434c4e992898720d3033ce14e484a68b.tar
ikiwiki-5ed773c6434c4e992898720d3033ce14e484a68b.tar.gz
more fixes to subscription prefs
Diffstat (limited to 'IkiWiki/Plugin/notifyemail.pm')
-rw-r--r--IkiWiki/Plugin/notifyemail.pm20
1 files changed, 7 insertions, 13 deletions
diff --git a/IkiWiki/Plugin/notifyemail.pm b/IkiWiki/Plugin/notifyemail.pm
index 0c067270c..58f0c9920 100644
--- a/IkiWiki/Plugin/notifyemail.pm
+++ b/IkiWiki/Plugin/notifyemail.pm
@@ -6,7 +6,6 @@ use strict;
use IkiWiki 3.00;
sub import {
- hook(type => "formbuilder_setup", id => "notifyemail", call => \&formbuilder_setup);
hook(type => "formbuilder", id => "notifyemail", call => \&formbuilder);
hook(type => "getsetup", id => "notifyemail", call => \&getsetup);
hook(type => "changes", id => "notifyemail", call => \&notify);
@@ -20,28 +19,23 @@ sub getsetup () {
},
}
-sub formbuilder_setup (@) {
+sub formbuilder (@) {
my %params=@_;
-
my $form=$params{form};
return unless $form->title eq "preferences";
my $session=$params{session};
+ my $username=$session->param("name");
$form->field(name => "subscriptions", size => 50,
fieldset => "preferences",
comment => "(".htmllink("", "", "ikiwiki/PageSpec", noimageinline => 1).")");
if (! $form->submitted) {
$form->field(name => "subscriptions", force => 1,
- value => getsubscriptions($session->param("name")));
+ value => getsubscriptions($username));
+ }
+ elsif ($form->submitted eq "Save Preferences" && $form->validate &&
+ defined $form->field("subscriptions")) {
+ setsubscriptions($username, $form->field('subscriptions'));
}
-}
-
-sub formbuilder (@) {
- my %params=@_;
- my $form=$params{form};
- return unless $form->title eq "preferences" &&
- $form->submitted eq "Save Preferences" && $form->validate &&
- defined $form->field("subscriptions");
- setsubscriptions($form->field('name'), $form->field('subscriptions'));
}
sub getsubscriptions ($) {