reverted to original Text::CSV::Simple, but added new on_failure trigger with more explicit wanring - in Local::ExcelHandler; lantronix_socket has alter_admin function when data string appears corrupt - not working yet
changed Dispatch param from _whoami to Class; removed do_ajax from unprotected runmodes, added ajax class to unprotected classes; bugfix to LIMS::_check_portal_referral() - added user profile to list of requirements; increased test count on column_types.t
moved search term highlighting in referral resource finder to a callback so html is escaped first, then search term highlighted; speeded up Excel file search in L::Local::ExcelHandler::_read_file() using add_trigger()
replaced several calls to L::Local::find_home() with call to config instance; removed call to L::Local::Debug from lims_config.pl, as debug() uses config instance, which uses lims_config.pl; model classes get config from config instance instead of constructor passing it in LIMS::model(); general tidy-up
new C::DataImport to handle file upload & data extraction; removed cgi/bcr_abl.cgi, transferred function to C::DataImport::bcr_abl(); added unzip() method to Local::Utils; added parse_xl_file() method to Local::Spreadsheet; updated jquery js file to 1.4.2; temp (non-functional) changes to hmrn/data/treatment.tt; bugfix C::User::_email_password()