summaryrefslogtreecommitdiff
path: root/lib/VNDB/Handler/Misc.pm
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2011-01-01 15:05:34 +0100
committerYorhel <git@yorhel.nl>2011-01-01 15:08:16 +0100
commit5ac3d668fb56961aa43f824feb7dc3407b8eb33e (patch)
tree6732ce519be25bb5de67f39e300469a4777f1fa8 /lib/VNDB/Handler/Misc.pm
parent7fd5b49039f5e9b3367a0a9025f695eeabbcd318 (diff)
More infrastructural changes to accomodate for the permanent filters
- Added a 'prefs' option to htmlFooter() to add preference data for use by Javascript. - Added an /xml/prefs.xml URL for setting preferences from JS. - Added 'filter_*' keys to the prefs_key ENUM - Load filters by default on VN and Release browser
Diffstat (limited to 'lib/VNDB/Handler/Misc.pm')
-rw-r--r--lib/VNDB/Handler/Misc.pm19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/VNDB/Handler/Misc.pm b/lib/VNDB/Handler/Misc.pm
index 8b4b8900..2d9932b1 100644
--- a/lib/VNDB/Handler/Misc.pm
+++ b/lib/VNDB/Handler/Misc.pm
@@ -16,6 +16,7 @@ YAWF::register(
qr{setlang}, \&setlang,
qr{nospam}, \&nospam,
qr{we-dont-like-ie}, \&iemessage,
+ qr{xml/prefs\.xml}, \&prefs,
qr{opensearch\.xml}, \&opensearch,
# redirects for old URLs
@@ -412,6 +413,24 @@ sub iemessage {
}
+sub prefs {
+ my $self = shift;
+ return if !$self->authCheckCode;
+ return 404 if !$self->authInfo->{id};
+ my $f = $self->formValidate(
+ { name => 'key', enum => [qw|filter_vn filter_release|] },
+ { name => 'value', required => 0, maxlength => 2000 },
+ );
+ return 404 if $f->{_err};
+ $self->authPref($f->{key}, $f->{value});
+
+ # doesn't really matter what we return, as long as it's XML
+ $self->resHeader('Content-type' => 'text/xml');
+ xml;
+ tag 'done', '';
+}
+
+
sub opensearch {
my $self = shift;
$self->resHeader('Content-Type' => 'application/opensearchdescription+xml');