AgeCommit message (Collapse)AuthorFilesLines
2009-07-29Changed sessions.expiration column to timestamp3dB4-9/+16
-- Updated SQL files to reflect column type change. -- Subroutine dbSessionAdd rewritten to accept an expiration timestap as an optional third argument.
2009-07-29Altered the way sessions are handled in some cases3dB2-0/+2
-- Deleting a user now deletes all sessions too. -- Changing a user password now deletes all stored sessions for that user.
2009-07-29Cleanup of Util/Auth.pm3dB1-13/+7
2009-07-29Rewrote Multi::MaintenanceYorhel1-99/+99
Everything now uses Async SQL access, and doesn't rely on POE::Component::Cron anymore. I removed a few maintenance functions that weren't needed. Warning for unkanime is already done by Multi::Anime, and integrity checking should really be done in PgSQL. The tag<->vn cache is now also regenerated daily rather than hourly.
2009-07-28Rewrote cookie experation string generation to use POSIX::strftime3dB1-5/+3
2009-07-28Removed Crypt::Lite dependency3dB2-13/+9
-- Changed the way cookie data is handled and removed the need for Crypt::Lite -- Removed "cookie_key" configuration setting for Crypt::Lite
2009-07-28Multiple bugfixes to authorization system & sql tweaks3dB4-15/+26
This commit is tested to work.
2009-07-28Modified DB libraries and user handlers dealing with passwords to work with ↵3dB2-8/+10
new auth system. -- Modified all database insertion and edit subroutines to be able to work with the new 'salt' column. -- Modified all subroutines dealing with password manipulation to use authPreparePass to encrypt passwords and generate salts.
2009-07-28Replaced _authGenerateSalt with a better one-liner.3dB1-21/+7
-- Removed _authGenerateSalt in favor of a one-liner in authPreparePassword. -- Fixed a self-inflicted "WTF" mistake in authInit caused by a stray paste.
2009-07-27Committing initial modification of authorization module.3dB1-21/+74
-- Changed the way cookies are handled to a database-backed system -- Changed the password hashing algorithm used -- Introduced a dual-salt method for increasing password encryption strength
2009-07-27Applied small adjustments and reorganized DB library code.3dB3-45/+34
-- Removed "ON UPDATE" from sessions.uid column FK -- Fixed dbSessionCheck to work as described -- Merged DB/ into DB/
2009-07-24Checkin of auth rewrite progress.3dB3-0/+58
Added a new DB library for handling sessions. New update SQL file for database changes. Added a line to the global config file to set a global salt. It is separate from the cookie_key because it is much more important that it not be changed.
2009-07-23Created subroutine to genrate password salts3dB1-0/+11
This is more of a test of the new git environment than anything else.
2009-07-23Remove session aliases in shutdown handlerYorhel5-0/+5
This isn't really necessary when shutting down the entire process, but it is for the individual session to shut down. This will make it possible to load/unload/reload Multi modules on demand without restarting the process.
2009-07-23Implemented relgraph notify from PgSQL triggerYorhel6-22/+78
This finishes the new relation graph generator, as it'll now regenerate graphs as soon as is needed. This obsletes the VNDB::Util::Misc::vnCacheUpdate() function, this functionality is provided by triggers within PostgreSQL. The update_vncache(0) procedure is now significantly slower due to the trigger on the vn table. It'd be a good idea to rewrite this procedure by using triggers and conditional updates, to drastically lower the number of rows that need to be updated.
2009-07-20Synchronised with the recent DB changesYorhel1-3/+3
Not that the output makes much sense now, but at least it's (mostly) correct.
2009-07-19Rewrote Multi::RGYorhel1-129/+88
It should be a bit more efficient and non-blocking. Also a lot less verbose with logging.
2009-07-19Multi::Core: Correctly set the pg_enable_utf8 flagYorhel1-1/+1
Before this edit, the options part of the DSN was incorrect, resulting in DBD::Pg ignoring the pg_enable_utf8 flag.
2009-07-19Removed DEFERRED property on most foreign key constraintsYorhel2-43/+130
Only allowing the deferred state on a select few foreign keys would detect problems in an earlier stage (rather than waiting for a commit to happen), and guarantees that some things are inserted before others, which in turn eases the writing of trigger functions.
2009-07-19Added 1024x600 and 1600x1200 screen resolutionsYorhel3-1/+11
2009-07-19Notify Multi::Image via PostgreSQL for new screenshotsYorhel4-3/+28
This finished the rewrite of Multi::Image and everything surrounding it.
2009-07-19Converted and renamed screenshots.status (int) to processed (bool)Yorhel5-6/+15
There were only two states, processed and unprocessed, so simply using a boolean column with correct naming is more clarifying.
2009-07-18Notify Multi::Image for new cover images via LISTEN/NOTIFYYorhel4-2/+29
Yay! Another weird shared-memory-command optimized away. And the image resizer reacts a lot faster now. Noticably, even.
2009-07-18Rewrote Multi::ImageYorhel1-164/+61
Decided to remove the Image::MetaData::JPEG dependency as well, as the Image::Magick::Thumbnail function removes a lot of unecessary information, profiles and other data as well.
2009-07-18Use PostgreSQL's LISTEN/NOTIFY to notify Multi::Anime for new animeYorhel4-2/+33
The notify is called from a trigger function, which is called on any UPDATE or INSERT INTO query of which the lastfetch column is NULL. This guarantees that anime info in the DB will always be updated, no matter how its inserted.
2009-07-18Rewrote Multi::AnimeYorhel1-162/+104
No shared memory! Asynchronous SQL! yay!
2009-07-18Automatically insert rows into anime table for new vn_anime.aid itemsYorhel3-18/+32
This is a lot less error-prone than doing it from Perl. <3 PostgreSQL
2009-07-18Modified definition of the anime tableYorhel4-20/+55
Removed most NOT NULL constraints, and converted lastfetch to a timestamp data type. The site has been updated to handle this, but Multi::Anime won't work.
2009-07-17Rewrote Multi::Sitemap and included tag pagesYorhel1-75/+73
This should've taken me less than an hour, but unfortunately it took a bit longer because I found a rather hard-to-fix bug in PoCo::Pg. Be sure to update to the latest POE::Component::Pg. Also, this change removes the DateTime dependency. Its functionality could be replaced with the strftime() found in POSIX (which every Perl has)
2009-07-17Multi::Core: Handle SIGTERM and SIGINTYorhel1-13/+30
These events will be signalled to Multi's modules as a 'shutdown' signal.
2009-07-16Made a start on the Multi-rewriteYorhel3-158/+38
Started on and Multi::Core, the main differences: - Uses POE::Component::Pg now (get it from - Doesn't use shared memory anymore - No 'commands' anymore, every session has to handle its own events (communication goes either through POE itself, or the PostgreSQL DB) - No weird Cron stuff anymore All other Multi modules will have to be updated/rewritten to reflect these changes. None of them will work at the moment.
2009-07-14Removed old and unused table/column definitions from dump.sqlYorhel1-11/+0
2009-07-09More intuitive ordering of the copy and posts tabsYorhel1-10/+12
Related #vndb discussion: <ImmLff> Yorhel: some minor interface suggestions - in release entry swap the order of "copy" and "edit" buttons, so edit would be near "rxxx" button as it was earlier; move "posts" tab near the "discussions" tab(probably between discussions and history), so discussion related tabs would be near each other <ImmLff> at least it looks logical to me and definitely won't harm <Yorhel> oh, I haven't really put any thought into the order of the tabs <Yorhel> so your suggestions sounds good :) <Yorhel> although, I'll place the posts tab after wishlist, to be consistent with the other DB entries
2009-07-09Order wishlist by priority by default, and use title as secondary sort columnYorhel1-3/+3
2009-07-09Don't allow bots to index the users' posts browserYorhel1-1/+1
2009-07-092.5 release date in ChangeLog2.5Yorhel1-1/+1
2009-07-09YAWF update to a4988cf068fa52dae3f0ff88d73564136e54f2d2Yorhel1-0/+0
The new output compression and SQL quoting functions haven't been thouroughly tested yet, so I guess VNDB would make a nice testing ground.
2009-07-08Keep track of users who requested tagsYorhel5-7/+24
2009-07-07Posts browser on user pages (/u+/posts)Yorhel6-10/+111
2009-07-07Display thread count in user menuYorhel3-3/+5
This adds a small performance penalty, but should make it a lot easier for people to notice that someone is asking for his/her attention. Ideally, this count would be the number of *unread* *posts*, rather than *total* number of *threads*, but we don't store read the state (yet).
2009-07-07Hide threads targeted at users from the main pageYorhel2-2/+4
2009-07-05Tag exclude filters on VN searchYorhel4-28/+40
2009-07-05Added spoiler options for tag filters on VN searchYorhel5-7/+29
2009-07-05Updated VN screenshot uploader to handle multilanguage releasesYorhel1-1/+1
2009-07-05Apply & clear buttons on advanced VN search + note about boolean andYorhel1-2/+7
2009-07-05Auto-complete the tag filters on VN searchYorhel3-6/+28
2009-07-05Made a start on the multiple-tag-VN-searchYorhel5-15/+61
TODO: - spoiler settings? - auto-complete tag names - exclude filter - Improved UI? current location isn't very intuitive - Improve previous tag browser to make use of the VN search?
2009-07-04Re-added language parsing in VN search boxYorhel1-2/+9
Because many people still link to things like /v/all?q=English. Platform searches are less common, so I doubt many people care about URL compatibility for that,
2009-07-04Removed old /v/cat URL rewriting functionYorhel1-15/+0
That URL is so extremely old that I doubt anyone still links to it.
2009-07-04Removed \x{200B} hacks from platforms and categoriesYorhel1-4/+4
That hack has been obsoleted now they aren't used in the VN search box anymore.