Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
Moved old release browser, VN browser and tag pages to /old/, moved
/experimental/ pages to /, removed warnings and updated some references.
|
|
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. :(
|
|
|
|
|
|
This is a bit experimental, not sure how the performance is going to be.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
And added new 'page' and 'id' templates for more strict validation.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
A TUWF change I forgot to check.
|
|
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.
|
|
|
|
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
|
|
|
|
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)
|
|
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.
|
|
|
|
|
|
- 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
|
|
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.
|
|
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.
|
|
This caused the search to break when no language filters were set.
|
|
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 >.>)
|
|
|
|
Also requested several times before.
|
|
Has been requested quite often, now finally implemented.
|
|
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.
|
|
This replaces the "cookie_auth" setting, and applies to all cookies in
use by VNDB.
|
|
|
|
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.
|
|
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)
|
|
Sorting from least to most popular VN make sense now, you won't have to
wade through those entries without any vote at all.
|
|
Was a good idea after all...
|
|
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.
|
|
|
|
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.
|
|
+ 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.
|
|
|
|
Interface consistency.
|
|
|
|
and age()
|