path: root/lib/VNDB/Handler/
AgeCommit message (Collapse)AuthorFilesLines
2021-01-20v2rw: Rewrite done, time to clean up old v2 codeYorhel1-143/+0
Yay! There are no more request handlers in the VNDB::* namespace and no more Javascript in data/js/. This cleans up a lot of old legacy code that wasn't fun to maintain.
2021-01-10AdvSearch: Time to put this live.2.29Yorhel1-4/+4
Moved old release browser, VN browser and tag pages to /old/, moved /experimental/ pages to /, removed warnings and updated some references.
2019-12-22ulist: Update "My lists" VN filters to use new ulists featureYorhel1-6/+1
This is just a simple backwards-compatible port, proper integration should allow one to filter on individual labels. The "On my VN list" filter now works slightly differently in that it considers *everything* in ulist_vns to be on the users' VN list, including votes and wishlist. I've removed the option to display a "Wishlist" column. The wishlist works rather differently now, maybe this should instead just display all assigned labels - but that would consume quite a bit of space. :(
2019-09-11VNDB::Types: Convert platforms into %PLATFORMYorhel1-1/+1
2019-09-11VNDB::Types: Convert languages into %LANGUAGEYorhel1-1/+2
2019-06-28VNBrowse: Add character filtersYorhel1-3/+11
This is a bit experimental, not sure how the performance is going to be.
2018-10-02Fix release filter compatibility handling on VN browserYorhel1-0/+1
filFetchDB() is not used for the release filter on the VN browsing interface, so I've moved the compatibility stuff into a separate filCompat() method that can be called from Handler::VNBrowse.
2017-03-03VNBrowse: Remember sort options when changing query or filtersYorhel1-2/+2
2016-01-23L10N: Intern all VNDB::Handler::* stuffYorhel1-7/+7
Most of these replacements were automated. This ended up being less work than I had anticipated. I also fixed a few minor bugs along the way, but probably introduced more than I fixed.
2016-01-16L10N: Intern languages/platforms/resolutions/media/ptype/rtype/vnlengthYorhel1-2/+2
2015-12-30Add release filters to VN browserYorhel1-6/+17
2015-09-20Update usage kv_validate() to upcoming TUWF 1.0Yorhel1-1/+1
And added new 'page' and 'id' templates for more strict validation.
2015-07-21Add profile option for the default spoiler settingYorhel1-1/+4
This fixes the unexpected behaviour that changing the spoiler setting on one page will change it for all pages. All manual spoiler changing options are temporary now.
2015-01-27staff: Fix various parts to recognize the new staff databasemorkt1-1/+1
2014-12-01Don't use inline script tag to pass pref_code to JSYorhel1-1/+1
This also simplifies the code a bit, as the value of the preference data was never used so doesn't need to be included now. Primary reason for this change is to work towards disabling inline JS with a CSP header. There's still more stuff to fix before the CSP header can be applied, though.
2012-07-24Handler::VNBrowse: Keep sort info when changing column settingsYorhel1-3/+2
2012-07-24Add wishlist / VN list status options to VN list browserSpaceRanger1-2/+36
2011-05-17Added i+/c+ ID recognition to VN searchYorhel1-1/+1
2011-02-04Fixed two perl warning related to reqCookie() returning undefYorhel1-1/+1
A TUWF change I forgot to check.
2011-02-03Cleaner and more efficient method of checking for the &fil= paramYorhel1-2/+2
With the new TUWF, kv_validate() returns undef when the param isn't present and an empty string if it is, but left empty. This is a more efficient way to differentiate between empty and nonexistent than the previous YAWF-method of grepping all param names.
2011-01-27L10N: Renamed _rbrowse_filters to _js_fil_filtersYorhel1-1/+1
2011-01-27TUWF: Added tag name to several end() callsYorhel1-1/+1
Haven't found any bugs this way, yet. I doubt there'll be any problems, but it's a nice new feature that could help quite a bit. :-D
2011-01-27TUWF: Use the uri_escape() provided by TUWFYorhel1-1/+1
2011-01-27TUWF: Made use of the new cookie_prefix featureYorhel1-1/+1
Configuration change: Make sure you more the cookie_prefix option from %S to %O. (It's now a TUWF option rather than a VNDB one)
2011-01-25TUWF: Initial convert from YAWF to TUWFYorhel1-12/+12
There may still be some bugs present and I've only converted the points where TUWF is incompatible with YAWF. The new TUWF features are not in use yet, I'll do that later on. Note that, in order to run the new code, TUWF must be installed on your system. The configuration for the TransAdmin plugin has also changed. Other than that there shouldn't be any issues.
2011-01-01V|R Browse: Don't apply saved filters when an empty filter string is givenYorhel1-1/+2
2011-01-01Bugfix: properly escape search query in links query stringYorhel1-2/+3
2011-01-01More infrastructural changes to accomodate for the permanent filtersYorhel1-2/+2
- 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
2011-01-01Implemented filFetchDB() and converted the VN/Release browser to use itYorhel1-35/+14
This will correctly handle fetching stuff from the database when permanent filters are enabled. This update also removes compatibility with some old VN browse URLs. The old 'ti' and 'te' (tag include/exclude) query parameters are now ignored, and searching for a language in the query string (e.g. "q=English") won't enable the language filter.
2010-12-21Pass VN tag filters by ID rather than nameYorhel1-27/+13
This makes the UI slightly uglier and less intuitive. I'll see if I can find a way around that. This update is required for the permanent browsing filters to be fast and reliable.
2010-11-28Handler::VNBrowse: Fixed bug with assigning to $fil->{lang}Yorhel1-1/+1
This caused the search to break when no language filters were set.
2010-11-28VN Filter Selector: Added "original language" filterYorhel1-1/+1
The original language is the language of the first release of the VN, and is cached in vn.c_olang. (Geez, the vn table has more caching columns than actual information >.>)
2010-11-27Handler::VNBrowse: Apply search query and filters when changing first charYorhel1-1/+1
2010-11-27VN Filter Selector: Added "has anime" filterYorhel1-1/+1
Also requested several times before.
2010-11-27VN Filter Selector: Added length field filterYorhel1-1/+1
Has been requested quite often, now finally implemented.
2010-11-27Replaced old VN advanced options with the new filter selection systemYorhel1-76/+36
Had to fix some bugs here and there and add some new functionality to the abstractions at some places, but it appears to be working now. There are still a few TODOs left, I'll get to those in a bit.
2010-11-02Prefix all cookies with a configurable cookie_prefixYorhel1-1/+1
This replaces the "cookie_auth" setting, and applies to all cookies in use by VNDB.
2010-10-31Bugfix: only redirect VN search to VN page if page=1Yorhel1-1/+1
2009-11-27DB: Abstracted all ORDER BY clauses in the DB abstraction layerYorhel1-9/+1
The ORDER BY was previously specified using an 'order' argument, which would then be directly inserted into the query. The new method is the same as what I used for the public API: two 'sort' and 'reverse' arguments. This should be less error-prone and more readable. This changes quite a lot of code, so I hope I haven't forgotten to update something along the way.
2009-11-27Display VN ratings on tag pages as wellYorhel1-46/+1
With this method I managed to reuse the VN list table code for the lists on both the VN browser and the tag pages. And optimized away the dbTagVNs() function while I was at it (dbVNGet() is powerful enough)
2009-11-14SQL: Allow NULL for vn.c_popularityYorhel1-2/+2
Sorting from least to most popular VN make sense now, you won't have to wade through those entries without any vote at all.
2009-11-14SQL: Cached bayesian VN rating and vote countsYorhel1-3/+11
Was a good idea after all...
2009-11-14Added bayesian rating and vote count to the VN listYorhel1-1/+7
It's even realtime! To my surprise this calculation isn't very heavy, or PostgreSQL is just extremely fast. The GetVN query on /v/all takes 100ms in the worst case (instead of the usual 30-60ms). Can always cache this later on.
2009-10-19Use 'no spoilers' as default spoiler level for tagsYorhel1-1/+1
2009-10-10List all known languages on /r and /v/all instead of only those in useYorhel1-1/+1
Performance improvement of ~15ms for all release and VN browse pages. There are in total 20 known languages in the DB, and 12 of them are actually used (i.e. a release in that language exists). Which means 8 of the listed language filters won't produce any results (yet), but I'd say that's an accaptable trade-off.
2009-10-05JS: Moved, split and rewrote release <-> VN & producer linkingYorhel1-1/+1
+ removed last traces of forms.js + converted code to use tables, as that is easier to expand more accurate for this purpose. The reason I probably didn't use tables before was that the innerHTML property doesn't work on tr elements. The split was mainly because the producer linking is going to be expanded with an additional field later on.
2009-09-24L10N: Translated the 'ALL' char and fixed footer TL bugYorhel1-1/+1
2009-09-24Replaced all uses of monthstr() with datestr()Yorhel1-1/+1
Interface consistency.
2009-09-05L10N: Converted Handler::VNBrowse and Handler::VNEditYorhel1-19/+22
2009-08-17L10N: Moved some functions from to and added Russian quant() ↵Yorhel1-1/+1
and age()