Changes for version 1.05
- In cgiapp_prerun() protect against XSS and CSRF: o Only accept CGI params if the request method is 'POST'. o Ensure pseudo-random number among params matches cookie.
- Change 'use base' to 'use parent'.
- Remove form_action from config file. See sub script_name.
- Replace references to FCGI with Plack. This includes no longer shipping FCGI-specific files and patches to Apache's httpd.conf.
- Ship httpd/cgi-bin/office/donations.psgi.
- Adopt Log::Dispatch::Configurator. See App::Office::Contacts::Util::LogConfig.
- Replace Carp::croak with die, assuming calling code uses Try::Tiny.
- Stop using Time::Elapsed (at table create/populate time).
- In drop.tables.pl and create.tables.pl, change the 'verbose+' option definition to 'verbose', since the '+' doesn't make sense.
- Add comments to .htoffice.donations.conf, while simplifying the discussion of the Javascript URL.
- Change the default URL of the FAQ.
- Add stand-alone faq.html for the FAQ, copied from App::Office::Contacts.
- Use common::sense instead of strict and warnings.
- Add unicode to .htoffice.donations.conf - used by SQLite - and add corresponding code to BEGIN{} in App::Office::Contacts::Database, in case anyone wants to use DBD::SQLite.
Documentation
Create all donation tables in the 'contacts' database
Drop all donation tables in the 'contacts' database
Populate tables in the 'contacts' database
Report sizes of all tables in the 'contacts' database
Modules
A web-based donations manager
Provides
in lib/App/Office/Contacts/Donations/Controller.pm
in lib/App/Office/Contacts/Donations/Controller/Donations.pm
in lib/App/Office/Contacts/Donations/Controller/Initialize.pm
in lib/App/Office/Contacts/Donations/Controller/Notes.pm
in lib/App/Office/Contacts/Donations/Controller/Organization.pm
in lib/App/Office/Contacts/Donations/Controller/Person.pm
in lib/App/Office/Contacts/Donations/Controller/Report.pm
in lib/App/Office/Contacts/Donations/Controller/Search.pm
in lib/App/Office/Contacts/Donations/Database.pm
in lib/App/Office/Contacts/Donations/Database/Donations.pm
in lib/App/Office/Contacts/Donations/Database/Util.pm
in lib/App/Office/Contacts/Donations/Util/Config.pm
in lib/App/Office/Contacts/Donations/Util/Create.pm
in lib/App/Office/Contacts/Donations/Util/Validator.pm
in lib/App/Office/Contacts/Donations/View.pm
in lib/App/Office/Contacts/Donations/View/Donations.pm
in lib/App/Office/Contacts/Donations/View/Report.pm
in lib/App/Office/Contacts/Donations/View/Role/Report.pm