Age | Commit message (Collapse) | Author | Files | Lines |
|
There's a lot of unused code in VNDB::DB::{VN,Release} still, but I'll
not fiddle with that for now.
|
|
|
|
To my surprise, I actually managed to achieve acceptable performance by
just adding two indices. I totally expected I'd have to keep a cache
column in ulist_vns whether the row is private or not. The partial index
on the users table in fact improves the performance of the vote graph
query. A covering index improves that even further, but that requires
Postgres 11+, which the Docker image doesn't have yet (and isn't all
that crucial anyway).
There's a rather annoying potential for confusion regarding the private
flag on votes. The user page & list stats only look at whether the
'Voted' label is private, whereas the VN stats use the "proper" approach
of checking for any public label. Not entirely sure which of the two is
more intuitive.
|
|
Requiring callers to fetch the right fields and pass it along to
framework_() just seems brittle. This implementation requires an extra
query but does make an effort to avoid fetching the skin and css when
it's not needed.
|
|
|
|
Only place where this isn't applied (yet?): Sorting user lists still
goes by the old username and board names don't use the new unicode
names.
I have to say, I quite like the sql_user() and user_() pattern. It's not
without problems when applied to everything, but it's good enough for
several use cases.
|
|
I did create a function to export arrays, but ended up exporting them as
hashes. That ought to simplify a conversion to an enum type. Which will
likely never happen because I'd rather switch to dynamic user-defined
statuses, but that's quite a step further...
|
|
This can leak information about hidden users. While it's possible to fix
the filter to throw all hidden users under 'h', I don't think the
character filter had much value anyway and this is less error prone.
|
|
https://vndb.org/t950.119 - old request, but better late than never.
|
|
|
|
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.
|
|
|
|
|
|
|
|
Looks like 0 is actually used often to indicate some special value.
Affects basically all 'check all' boxes (had to modify some of those
boxes because some used -1, but that wasn't a problem).
|
|
And added new 'page' and 'id' templates for more strict validation.
|
|
- Individual blocks don't leak variables into the parent scope anymore.
Previously some blocks would re-use variables from other blocks,
creating (almost invisible) dependencies between te blocks.
- More consistent code for ulist-change-dropdowns, and all of them have
a ref= argument now.
- Use 'hidden' class instead of style.display wherever that makes sense.
- Remove dead 'advselect' code. Hasn't been used since the addition of
search filters.
- lang_select doesn't rely on the position of the language class in
className anymore (seriously that stuff is fragile...)
|
|
|
|
TUWF properly detects HTTPS and includes this in the returned URL, so
this change ensures that all URLs adopt properly to HTTP and HTTPS.
|
|
A generic '_unknown' is more easily usable.
|
|
Using CSS3 selectors. This is a more elegant approach, and since browser
support for CSS3 selectors isn't as crap as it used to be I can finally
make use of them.
|
|
The interface to set a non-integer vote isn't very nice, but at least it
works. Or so I hope.
|
|
For consistency
|
|
|
|
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
|
|
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.
|
|
|
|
Bug introduced in 6ff1efe0d07e24e9fb2db199c308c6cbed51e578.
|
|
|
|
In the users_prefs table, the default value should evaluate to 'false'
in Perl, so show_list had to be inverted to hide_list.
|
|
Can only filter on one option. If there are more things to filter on it
would make sense to use the filter selector, but for now this will do.
|
|
The interface to set this could be more dynamic, since it'll be a lot of
work to set different notes for each VN. But oh well, let's first see
how many people will use this feature.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I'm sure I broke all vnlist/rlist-related features on the rest of the
site since I modified the DB abstractions. But these will all have to
be updated/rewritten anyway.
|
|
In line with the noindex on other ulists pages. And it's not very
interesting for googling users anyway.
|
|
|
|
|
|
|
|
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.
|
|
This fixes a strange issue that the ordering changes when browsing to
the next page, resulting in some VNs not showing up at all.
|
|
Should be converted to enums at some point... integers don't do the
trick here.
|
|
|
|
This is one of the last easy-to-extract unextracted texts... the rest is
slightly harder to extract. Either because it's in JS, used in Multi, or
used in some creative way that doesn't work well together with
extraction... :/
|
|
|