Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
I may do the docs later as well, when I'm terribly bored again.
|
|
This one is also configurable, but mainly because I want to avoid
generating several thousands of notifications for a single action...
|
|
And added a settings window where you can disable this notification,
which is something you really want to do if you're an active
contributor...
|
|
|
|
As requested, http://vndb.org/t423
|
|
And changed vn.c_languages to an array type while I was at it. This
required some changes in the Perl code, and I found a bug in DBD::Pg
while I was at it:
https://rt.cpan.org/Ticket/Display.html?id=54224
Luckily, there's an easy workaround for that.
|
|
Complex queries...
|
|
|
|
|
|
If we're going to automatically remove older sessions, it would make
more sense to remove unused sessions, rather than old sessions that are
still in use. But we first need to keep track of when a session has last
been used to do so...
|
|
Setting the l10n cookie is now done from a separate url: /setlang
This makes the language determination code less complex, and makes sure
nobody links to pages that change the UI language without intending to.
(I've seen some links floating around with the l10n parameter included,
which is... bad)
|
|
The current setup should be able to handle all kinds of notifications,
though only PMs are implemented at this point. More to come.
|
|
The current error message isn't really intuitive, though...
|
|
Added a userid field in the skin config files, from which the credits
are loaded. Now I don't have to constantly update d7 for every language
when something changes in the skin files.
|
|
This way you can easily see the difference between an announcement and a
regular user-requested reply.
|
|
This is implemented by adding ihid (item hidden) and ilock (item
locked) columns to the changes table,
The (vn|release|producer).(hidden|locked) columns now work as a
cache, refering to the changes.(ihid|ilock) columns with
changes.id = (vn|release|producer).latest.
The cached columns are updated automatically each time a new revision is
inserted.
This is a pretty large change, bugs are quite likely.
|
|
|
|
Replaced the selection boxes with some javascript dropdown magic.
This saves a click and a scroll per date part in most cases.
|
|
And greatly simplified the HTML of the screenshot viewer and fixed a
HTML bug (colspan when it wasn't needed) in the process.
|
|
|
|
+ Changelog update for 2.10
|
|
So that people with correctly configured browsers don't have to manually
choose their language of choice with the language switcher, and so that
most people will have one cookie less. (The 'l10n' cookie is removed if
it matches the Accept-Header language -- or the fallback)
More info @
http://www.w3.org/International/questions/qa-lang-priorities
|
|
The functions can now be edited without having to repeat them in the
update scripts. Just importing the func.sql file with \i will do the
trick.
|
|
The warnbg and warnborder colors from the skins are used for
highlighting.
|
|
A POE::Filter shouldn't do anything more than parsing incoming data into
perl structures and vice versa. The previous implementation had too much
logic in the filter itself, which has now been moved into Multi::Anime.
|
|
|
|
1. If there's only one release, select that by default
2. Allow release selection before uploading the file
3. Use the release of the last uploaded screenshot (within the same
session) as default for subsequent uploads.
|
|
When a trigger object for a dropdown box is within 10px of an opened
dropdown box, doing a mouse-over on it didn't trigger the new dropdown
to be opened.
|
|
This column was used to differentiate between automated edits and user
edits, but that later changed to checking for changes.requester = 1.
The column has since never really been used, and due to a bug introduced
in VNDB 2.0, it has never been updated, either. Meaning it's not even
accurate for any database changes made after december 2008...
|
|
A form validation error is somewhat more user friendly than a 500.
|
|
This makes use of the change that the [vn|producers].latest columns are
now only updated after the entire revision has been inserted.
|
|
And also changed the way the item_table.latest column was updated: it is
now only updated after the revision insert has completed, making it
easier to write trigger functions in SQL.
|
|
The return value of dbTagTree() is also somewhat easier to work with.
|
|
|
|
|
|
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.
|
|
CommonHTML.pm was starting to get a bit large.
Also renamed htmlHistory to htmlBrowseHist while I was at it, to keep
consistency with the htmlBrowse functions.
|
|
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)
|
|
For three reasons:
- Speed
tag_vn_calc() is now more than 10 times faster (granted, it could
have been a lot faster even with the bayesian rating, but whatever)
- Consistency with the tag scores displayed on the VN pages (which are
raw averages as well)
- It didn't always make sense
|
|
+ Changelog update
|
|
Sorting from least to most popular VN make sense now, you won't have to
wade through those entries without any vote at 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.
|
|
|
|
|
|
|
|
|
|
She shouldn't spam a quote more than once every 48 hours per channel now.
Also decreased the actual idle timeout, so that the channel doesn't have
to be idle for that long.
|
|
The previous version also had a problem with closing tags when a
$maxlength was defined. With $maxlength, not all tags actually open a
tag in HTML, after all.
|
|
+ Changelog updates, considering the API and other changes are now in
the beta branch.
|