I've finished removing all references to the 'paidfeatures' column in the users table in a favor of a cleaner and more configurable capabilities based system.
Here's the patch
. I tagged both livejournal and ljcom with PRECAPS and POSTCAPS also.
Goathackers, please test this a lot. Again, one year paid accounts for bugs for yourself or friends. Be sure to update your cgi-bin/ljconfig.pl ... look at doc/ljconfig.pl.txt .. search for %CAP. Also read doc/capabilities.txt.
Related, nearly all ljcom logic should be gone from livejournal with the exception of two documented places... a lot more hooks are being used... see doc/hooks.txt for their names and parameters.
Also, lj-bml-local.pl is gone from CVS ... the ljcom bmlp.cfg now only loads lj-bml-init.pl (the livejournal one), which then loads ljlib.pl, which loads ljconfig.pl (site specific), which loads the new file ljcom.pl, which contains all our hooks & a small library.
Audit, audit... test, test. The more bugs / questions people can come up with, the quicker I can feel confident about the new code and get it live. This stuff is key to moving on and doing a lot more work necessary to eliminate invitation codes.
Oh, when upgrading your goathack ... update cvs, stop apache, run bin/upgrading/update-db.pl, start apache.
Shit ... just realized most everybody only has livejournal and ljcom on their goathack. Hrm. Anybody up for writing a doc on how to do ljcom development? I'm tired. :-/