summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-11-28BUGFIX: Moved update_vncache() to the bottom of the update script2.14Yorhel1-4/+4
Otherwise it'd send out a lot of "entry has been deleted" notifications. >.>
2010-11-28Merge branch 'beta'Yorhel30-892/+1556
Conflicts: lib/VNDB/Handler/Discussions.pm
2010-11-28ChangeLog update for 2.14 + some minor upgrade fixesYorhel3-4/+6
2010-11-28Release filter selector: Added original language filterYorhel5-9/+19
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-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" filterYorhel8-4/+37
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-27Filter system: Fixed IE8 compatibility and an HTML bugYorhel2-4/+7
IE7 still doesn't work, however. Not going to fix it either.
2010-11-27Extended IE6 warning message to show up for IE7 as wellYorhel3-9/+11
Because the site never looked good in IE7, and the new filter system doesn't work *at all*. (Doesn't work correctly on IE8 either, but I'll try to fix that)
2010-11-27VN Filter Selector: Fixed tiny bug with selecting spoiler levelYorhel1-1/+1
Another one of those '' == 0 JS logic errors. Gotta be careful with that.
2010-11-27Handler::VNBrowse: Apply search query and filters when changing first charYorhel2-1/+3
2010-11-27VN Filter Selector: Added "has anime" filterYorhel4-4/+28
Also requested several times before.
2010-11-27VN Filter Selector: Added length field filterYorhel5-2/+26
Has been requested quite often, now finally implemented.
2010-11-27VN Filter Selector: get/set the tagspoil cookie with the tag filtersYorhel1-14/+6
2010-11-27Filter selector: Replaced some dropdown boxes with JS linksYorhel2-5/+31
This looks better (at least, when there aren't too many of those selection fields present, otherwise it looks chaotic, like on the release filters -> general...) and it works faster/more intuitive.
2010-11-27Replaced old VN advanced options with the new filter selection systemYorhel8-183/+131
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-27Re-added producer role to collapsed view on producer pagesYorhel4-11/+12
And rewrote the expand/collapse JS/CSS code so that the difference between expanded and collapsed view is merely the class of the containing table. This way the JS code doesn't have to pass through the table rows and is thus noticeably faster for larger tables (i.e. /p65).
2010-11-27VNDBUtil: Fixed minor bug in bb2html() and small cleanupYorhel1-11/+15
Unknown/incorrect tags should be outputted as-is, as was the case with the previous implementation. Also cleaned up the id and exid if statement to be slightly shorter.
2010-11-26VNDBUtil: Partly rewrote bb2html() to be faster and betterYorhel2-53/+73
It does not use split() anymore, the input string is parsed in a single pass using a global regex. It's now a lot faster on larger input. The page generation time of /t937 went back from ~350ms to ~55ms (on the beta, the production server is slower). Also made several tiny improvements while I was at it: - multiple successive newlines aren't removed within [code] - truncating a message with $maxlength also removes trailing spaces and interpunction - multiple successive spaces are removed outside of [code] (and thus don't count towards the length of the message) The function should be mostly equivalent in regards to all other things, ignoring a few minor border cases that weren't documented in the first place. The URL regex (and the idea of a global regex) came from bpaste: http://g.blicky.net/bpaste.git/commit/?id=ac7b16d0ec0f195d00a0a79698f67c3010e8cf7d
2010-11-26Added voiced field release filterYorhel6-3/+16
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 filterYorhel6-5/+37
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 fieldsYorhel5-9/+11
Primary reason for this change is because Algorithm::Diff::Fast isn't all that fast for character-level diffs. :-/
2010-11-25JS: Split script.js into a separate file for each languageYorhel6-66/+79
This greatly reduces the size of the Javascript file. The compressed size has been reduced with about 9kB, and is now a total of 14kB for en.js. A nice property of this is that more translations can be added without increasing the JS size. While I was at it, I made jsgen.pl also replace mt() function calls in cases where an exact TL string was requested without any additional arguments and/or formatting codes. This helped reduce the compressed size by about 1kB. My aim is to keep *all* the JS code of VNDB smaller than the jQuery core library, as a general "fuck you" towards users of large and bloated JS libraries. We must keep the VNDB page loading times lower than that of other sites, after all!
2010-11-24vndb.pl: Use the Makefile to auto-update static filesYorhel3-43/+9
Rather than trying to figure out what to update in the Perl code, duplicating the logic that's already present in the Makefile. This is only enabled when 'regen_static' is set to true in data/config.pl.
2010-11-24Makefile: Reverted back to a single .PHONY targetYorhel1-17/+20
Apparently the trick didn't work, and for some reason I only noticed that now.
2010-11-22Reverted to the old selection box date selectorYorhel3-77/+21
This effectively reverts 799c9e44b1a1a7776609273733f67887a74e33bf.
2010-11-22Added basic validation of the filter stringYorhel2-6/+11
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-21Re-added the 'boolean or' message to the filtersYorhel3-5/+9
Doesn't look very nice; but serves its purpose.
2010-11-21Added 'close' link to the filter selector boxYorhel3-0/+9
2010-11-21Use ~ as value separator in the filter string, rather than a commaYorhel2-5/+5
It seems a comma has to be escaped in query string values. A ~ doesn't and thus makes the URIs significantly shorter.
2010-11-21Implemented the server side of the new release filter selectorYorhel7-71/+113
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 systemYorhel5-206/+433
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-16Handler::Discussions: Added 'noindex' meta tag to all discussion pagesYorhel1-3/+3
According to my HTTP logs, google searches are commonly used by spammers to find threads to spam. Not having the discussion board indexed also removes the reason for spammers to spam in the first place. Unfortunately, this is a long-term change; search engines don't update their index that fast. :-(
2010-11-14SQL: Removed CREATE LANGUAGE plpgsqlYorhel1-3/+0
plpgsql is available by default in PostgreSQL 9.0, so there's no need for this statement anymore.
2010-11-14SQL: Added ON DELETE clause to all foreign keys referencing users (id)Yorhel4-27/+149
This makes deleting user accounts less error prone. It also seems I forgot to git add update_2.14.sql in an earlier commit, sorry about that.
2010-11-14Handler::Misc: Added title attribute to the feed cssiconsYorhel2-5/+11
This also gets rid of three perl warnings.
2010-11-14Makefile: Replaced .PHONY directive with $(phony ..) targetsYorhel1-25/+18
This is somewhat eaiser to read and maintain
2010-11-14SQL: Added WHEN clause to all TRIGGERs for which it was usefulYorhel5-153/+150
This effectively removes compatibility with all PostgreSQL versions below 9.0. The use of the WHEN clause has two major advantages: 1. Performance: Trigger functions aren't executed when they don't need to. 2. Easier and more general trigger functions; as some of the logic has been placed in the trigger definitions now.
2010-11-14Improved performance of update_vnpopularity() on PostgreSQL 9.0Yorhel2-1/+4
Back from 180s to ~5 or ~6 seconds. It used to be quite fast on PostgreSQL 8.4, but somehow the planner failed to generate a proper execution plan for that query after the upgrade. This query is fast 9.0.
2010-11-13Homepage: Added feed iconsYorhel3-3/+11
2010-11-13Added <link> elements for the related atom feeds to some pagesYorhel5-38/+30
2010-11-13Multi::Feed: Added Atom feedsYorhel6-5/+200
TODO: add links to these feeds from the site
2010-11-11Handler::Discussions: Fixed formcode bug with the quick reply featureYorhel1-0/+1
2010-11-11Handler::VNEdit: Fixed bug with reverse relation update of "official"Yorhel1-1/+1
The official flag of untouched relations wasn't properly copied from the old revision.
2010-11-11DB::Releases: Removed extra ON clause from JOIN releasesYorhel1-1/+1
I added this clause to slightly speed up the SQL query at producer pages, but it turns out to slow down release search queries by a factor 100.
2010-11-11ChangeLog version 2.13 bump2.13Yorhel1-1/+1
2010-11-11Bugfix: reverting a VN image now worksYorhel2-2/+6
This is a very old bug. Never fixed it before because I couldn't think of a clean/easy solution and it wasn't important to waste my time on.
2010-11-11Producer release listing: added dev/pub info and expand/collapse linkYorhel4-30/+44
It's an awesome feature now. :-)
2010-11-11Display releases grouped by VNs on producer pagesYorhel6-60/+96
A nice expanded view. It also happens to be faster than the old view in terms of SQL queries. (In most cases at least) Can be improved a little more by: - Adding an 'expand/collapse' feature to list only the VNs - Adding a column indicating the role of the producer (dev/pub)
2010-11-11Util::CommonHTML:revdiff: Removed encode/decode UTF-8 passYorhel1-6/+2
Algorithm::Diff::Fast can handle perl encoded UTF-8 perfectly fine, so the encode and decode functions aren't necessary anymore.
2010-11-11Replaced Algorithm::Diff::XS with Algorithm::Diff::FastYorhel3-2/+3
This module is cleaner, faster and has less dependencies. (didn't exist yet at the time I first implemented the revision diffs)