summaryrefslogtreecommitdiff
path: root/lib/VNDB/Handler/Releases.pm
AgeCommit message (Collapse)AuthorFilesLines
2011-02-04Merge branch 'beta'2.17Yorhel1-54/+54
Conflicts: ChangeLog
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-5/+5
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-25TUWF: Initial convert from YAWF to TUWFYorhel1-47/+47
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-07Bugfix: Don't allow empty edit on releases with multiple producersYorhel1-1/+1
Caused by an errorneous sort statement when comparing the producer values.
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-22/+20
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-28Bugfix: translate screen resolutions on release revision pagesYorhel1-1/+1
2010-12-19RFC-01: Code/DB cleanup and renamed some stuff for consistencyYorhel1-3/+3
2010-12-19RFC-01: Fixed release list selection thing on release pagesYorhel1-10/+6
2010-12-17Check for editsum = description and give an easier to understand errorYorhel1-1/+2
The check is quite basic and you can easily get around it. It's just intended to warn about common mistakes.
2010-12-17Don't allow NULL for rr.minage and use -1 for unknownYorhel1-10/+8
This can be seen as a partial revert of 0a4f97f0186d6941a4cab2e3bd05201f1fed1441. I used to think using NULL for special values is more "correct" in database terms. But in the end I guess I should be aiming for whatever solution is easier. Both are "correct" in a sense anyway.
2010-12-14L10N: Extracted screen resolution strings from the codeYorhel1-2/+3
A somewhat ugly approach, but couldn't think of something better.
2010-12-04Handler::Releases: Fixed perl warning in _fil_compat()Yorhel1-1/+1
2010-11-28Release filter selector: Added original language filterYorhel1-1/+1
I'm surprised I haven't been able to find a combination of filters that would generate an SQL query that would run more than 300ms or so. PostgreSQL is amazing!
2010-11-27Filter system: Fixed IE8 compatibility and an HTML bugYorhel1-0/+1
IE7 still doesn't work, however. Not going to fix it either.
2010-11-27Replaced old VN advanced options with the new filter selection systemYorhel1-1/+1
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-26Added voiced field release filterYorhel1-1/+1
The release filters are now pretty much complete. Save, perhaps, for some improved styling and grouping in the filter selector; but I'm too lazy for that at the moment.
2010-11-26Added animation field release filterYorhel1-1/+1
Surprisingly enough, the SQL queries are still quite fast even when matching on the animation columns. And thanks to the new filter system, adding this filter was incredibly easy.
2010-11-26Use word-level (instead of character-level) diff for large fieldsYorhel1-1/+1
Primary reason for this change is because Algorithm::Diff::Fast isn't all that fast for character-level diffs. :-/
2010-11-22Added basic validation of the filter stringYorhel1-2/+1
fil_parse() now checks for proper formatting of the string and ignores key/value pairs that are not the list of allowed keys. This makes it impossible to provide extra, unintended, arguments to dbReleaseGet(), such as 'results'.
2010-11-21Implemented the server side of the new release filter selectorYorhel1-38/+46
There's no validation of the filter string yet, and somehow I don't feel like adding that; it's a lot of code and there's nothing to protect - the values are inserted using parameters into a SELECT query, the worst thing that could happen is the user receiving a 500. Also, I've started using the perl '//=' operator, which was added in 5.10. This removes support for older perls.
2010-11-21Implemented the client side of the new release filter systemYorhel1-106/+11
This isn't entirely functional yet, the server side will need to be rewritten as well. And after that new filters should be added and this system should also be used for VN/producer search. script.js is getting quite large with all those new translation strings, it may be an idea to generate a separate .js file for each language and only load the one being used. I won't have a valid reason to feel bored anytime soon, at least...
2010-11-06Fixed cross-site request forgery vulnerabilitiesYorhel1-1/+2
2010-02-19Two more GTIN-related fixesYorhel1-1/+1
1. Don't try to normalize the GTIN code in the releases form when it's 0 2. Don't try to gtintype() *every* number in the search
2010-02-19VNDB::Func: Another gtintype() related bugfixYorhel1-0/+1
We have to assume that the input doesn't always have enough zeros, to fill the 12 characters, otherwise UPC codes fail when they are fetched from the database (which is stored as a bigint, no zero padding in the output). Instead, we'll just add the zeros ourselves up to 12 for normalization purposes.
2010-01-24Versioned the deleting and locking of database entriesYorhel1-3/+5
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.
2010-01-23Handler::Releases: Made the release date a required fieldYorhel1-0/+2
2010-01-09L10N: Extracted/fixed some more strings on revision pagesYorhel1-5/+5
2010-01-01SQL: Revision insertion abstraction for release entriesYorhel1-6/+2
Also added a little sanity checking on the edit_(vn|release) table, and added a default value for releases_rev.released.
2009-12-05SQL: Call update_vncache() in a triggerYorhel1-2/+0
This removes the need for the dbVNCache() function in perl.
2009-12-05Added maxlength check on the website field for releases and producersYorhel1-1/+1
A form validation error is somewhat more user friendly than a 500.
2009-12-05Merged db[VN|Producer|Release][Edit|Add] into dbItemEdit and dbItemAddYorhel1-2/+2
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.
2009-11-27DB: Abstracted all ORDER BY clauses in the DB abstraction layerYorhel1-1/+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-14SQL/L10N: Allow NULL for releases_rev.minage and make the values translatableYorhel1-12/+13
2009-10-24Merge branch 'beta'2.8Yorhel1-45/+51
+ ChangeLog update
2009-10-17SQL: Converted releases_rev.type to an ENUM data typeYorhel1-3/+3
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-09Handler::Releases: Display producer role on release pagesYorhel1-11/+16
Still the VN & producer pages to go...
2009-10-09Added producer role (developer/publisher) to DB and release editorYorhel1-7/+15
They aren't displayed on the site yet, though.
2009-10-09Handler::Releases: Fixed display of media in filtersYorhel1-1/+1
2009-10-07L10N: Extracted last bits of JavascriptYorhel1-2/+2
2009-10-07L10N: Extracted release media and the media selectorYorhel1-12/+6
2009-10-07L10N: Extracted release list statusesYorhel1-5/+5
Should be converted to enums at some point... integers don't do the trick here.
2009-10-05JS: Moved, split and rewrote release <-> VN & producer linkingYorhel1-9/+7
+ 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-26Handler::Releases: Allow filtering on 'other' platform & mediaYorhel1-2/+0