diff options
Diffstat (limited to 'lib/VNDB/Handler/Misc.pm')
-rw-r--r-- | lib/VNDB/Handler/Misc.pm | 19 |
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'); |