OpenClinic Changelog
This is a non-exhaustive (but still near complete) changelog for OpenClinic including beta and release candidate versions.
Legend
- Add
- Fix
- Change
Changes since 0.8 (2013-01-07)
- Source code repository at GitHub
- New italian translation thanks to Francesco Assisi
- Fixed deletion of staff (second surname issue)
- Fixed installation wizard problems in Chrome browsers
Changes since 0.7 (2004-12-26)
- Code compatibility with PHP5 (incompatible with PHP4) and MySQL 5.5
- The storage engine used in MySQL is MyISAM although the default is InnoDB
- Removed all CSS themes and only includes one by default (new page structure)
- Traditional Chinese is activated and added the translation in this language
- Updated the dutch translation
- Reorganization of directories and files in the project (very extensive and deep..., the code does not look anything like the previous version)
- Changed the style of static HTML pages
- Added a print CSS for static HTML pages
- Reset buttons are removed from the forms
- Added a list of links to the fields with errors on forms with errors
- Fixed the error when deleting a patient or a medical problem in version 0.7
- CSRF and Session Fixation Protection
- Unobtrusive JavaScript in all pages
- Changed the structure of XML database dumps (based on Propel)
- Created a script to update the database automatically
- Created a class to use flash messages and avoid passing parameters in URLs
- Improvements in the breadcrumbs on pages
- The second surname is not required to fill in forms
- Contextual help links are eliminated (because help is not made)
Changes since 0.6 (2003-12-21)
- Session has an own name
- Action delete had been actived if login of the current user was changed
- Link 'Report Bugs' had an incorrect CSS class
- Improvements in accessibility to open new windows
- Existing login message in user_new.php fixed
- DbConnection class: connection parameters are set in constructor function
- Improvements in file shared/navigation_links.php
- New file lib/debug_lib.php: new application constant OPEN_DEBUG (true | false)
- Added searchUser() method to Access_Query class
- Added Id CVS variable in header of all SQL files
- Suppression of javascript protocol in href attributes
- New file lib/misc_lib.php: new global constant OPEN_FIELD_PREVIEW_LIMIT
- Addition of bread crumb in all pages than need it
- Fixed problems with inexistent things
- Changes in connect method of Query class to permit connection parameters
- In $returnPage variable saves GET and POST parameters also
- DTD XHTML 1.1 in all project pages
- Added affectedRows() method to Query class
- Changes in input_lib.php file (new parameter $disabled in showCheckBox and showRadioButton functions, $events paremeter becomes $addendum, new parameter $error in showSelectArray function)
- No GET values to *_del.php files (via POST now)
- existLogin() method has changed idUser parameter for idMember
- Fixed logout link in timeout session
- If items per page equal to zero, searchs return all results without pagination
- Function getFiles() has a new parameter to indicate allowed extensions of files
- Better i18n of dates
- Fixed problem with NULL closing_date in medical problems
- Fixed XSS attacks with JavaScript event handlers in input fields and GET and POST vars
- Added localDate() function to lang_lib.php file
- All methods named fetch*() have been renamed to fetch()
- New option CREATE DATABASE __dbname__ in MySQL dumps and table summary
- Three new files in directory shared to clear code: i18n.php, session_info.php, xhtml_start.php
- Profiles option in admin tab has been removed (and profile_tbl from database too)
- Fixed MSIE bugs relationship with table less design
- All application constants have OPEN_ or DLIB_ prefix to avoid interferences with PHP constants
- New function showFetchError() in lib/error_lib.php file (changes in DbConnection and Query classes)
- errorOccurred() method changes name to isError() in Query class
- user_edit.php redirects correctly now to user_edit_form.php in case of error
- Redirections to avoid reload problem in insertions, updates or deletions processes
- Problems with dumps as files (urldecode of data is unnecessary)
- New method isActivated() in User_Query class to know if a login is activated or not
- If an user is deactivated, is redirected to login suspended page at first time
- Custom error handler for log to screen or/and to a file (new constants in read_settings.php file: OPEN_SCREEN_ERRORS, OPEN_LOG_ERRORS, OPEN_LOG_FILE)
- New methods in Query class: getPrimaryKey(), getRowData()
- Record log process improvements: now is saved entire record data
- New constant in global_constants.php file: OPEN_SEPARATOR for implode(), explode() functions; OPEN_MSG_INFO, OPEN_MSG_WARNING, OPEN_MSG_ERROR for messages
- New functions html*() in input_lib.php file
- Added html_lib.php file in lib directory: htmlTable(), showTable(), htmlMessage(), showMessage() functions
- CSS2 table less based themes, changes in theme_tbl table and admin/theme_*.php files (new file admin/theme_preload_css.php)
- Changes in current user are made immediately
- New constant OPEN_BUFFER in read_settings.php file to use ob_*() functions (but by default, value is false) (experimental support)
- Field collegiate_number has been replaced with id_member in patient_tbl and problem_tbl tables. Field id_member has been added in deleted_patient_tbl, deleted_problem_tbl tables too. After upgrade OpenClinic from 0.6 version is recommended check all patients and problems information (doctor you are assigned to, doctor who treated you)
Changes since 0.5 (2003-06-30)
- Added new themes to the project: LibXML, SerialZ, Closer, GG Interactive
- Changes in DbConnection class (documentation)
- Added exec() method to Query class (this implicates changes in all *_Query.php files)
- classes/Install_Query.php file (Install_Query class) has been removed from project (this implicates changes in parse_sql_file.php and install.php files)
- Changed passwords coded method in MySQL fields (it is MD5 now)
- Error in medical/test_edit.php file (path_filename)
- Internal changes in classes (coding_guidelines.html)
- $HTTP_*_VARS now are $_* superglobals arrays
- Now current password is needed to change the password
- It is possible define a color as #rgb format in New/Edit Theme pages
- Added new options in dumps: DELETE * FROM __table__, USE __dbname__
- Added new files to the project: lib/lang_lib.php, lib/nls.php
- Files named noauth.php are no_authorization.php now
- Added Id CVS variable in header of all PHP, HTML and JavaScript files
- Added new files to the project: admin/staff_validate_post.php, admin/theme_validate_post.php, admin/user_validate_post.php, medical/patient_validate_post.php, medical/problem_validate_post.php, medical/test_validate_post.php
- Fixed mess between opened and closed medical problems (medical/problem_view.php file)
- Translation method has been changed. Now it is made with GNU gettext and PO (and binary MO) files (classes/Localize.php file has been deleted from project)
- All 'print' language constructions have been changed for 'echo' language constructions
- Now OpenClinic installation is also translated (to the browser language if it is available)
- Better internal documentation in class files
- Fixed SELECT sentences with text fields (urlencode)
- Added showInputButton(), showInputFile(), showRadioButton() functions in lib/input_lib.php file
- Changes in lib/input_lib.php functions
- shared/suspended.php file is shared/login_suspended.php now
- Constants OPEN_NUM, OPEN_ASSOC, OPEN_BOTH have been deleted from file shared/global_constants.php (this implicates changes in various classes/*_Query.php files)
- Now shared/global_constants.php is required in shared/read_settings.php file
- All form passwords are encoded with MD5 method
- Added lib/file_lib.php file to the project
- Created a directory to store medical problem tests
- It is possible making a remote installation of a SQL file
- Added new field in problem_tbl and deleted_problem_tbl tables (last_update_date)
- OpenClinic CSS changed. New design does not use tables for layout purposes. Layout is made with div and span tags. It looks fine in last generation browsers
- Added new constant ALLOWED_HTML_TAGS in global_constants.php file (more secure classes)
- Now session_cache_limiter() function is in read_settings.php file
- All visible pages have a title page
- 'Delete Connection with Medical Problem' shows medical problem header information now
- Function showResultPages displays all pages when it is necessary now
- New link 'OpenClinic Readme' in footer pages
- Various database fields have changed: subjetive -> subjective (problem_tbl, deleted_problem_tbl), objetive -> objective (problem_tbl, deleted_problem_tbl), wife_childs_status_health -> spouse_childs_status_health (deleted_patient_tbl, history_tbl), sur_name1 -> surname1 (staff_tbl, patient_tbl, deleted_patient_tbl), sur_name2 -> surname2 (staff_tbl, patient_tbl, deleted_patient_tbl)
- Inclusion of OpenClinic version in database dumps downloads
- In login_form.php direct connections, it redirects to home/index.php now
- Changes in input_lib.php functions parameters
Changes since 0.4 (2003-05-17)
- Added install/wizard.php file to the project
- Added css/wizard.css file to the project
- Added DLIB_MYSQL_VERSION constant to the admin/dump_defines.php file
- Added new themes to the project: Thai Appserv, OpenClinic Wizard, Izhal, Invision
- Tables array is now in install/parse_sql_file.php file
- The file openclinic/index.php has been modified (checks if database connection is good)
- Error in new user process (classes/User.php file, $value => $pwd)
- The files medical/test_new.php and medical/test_new_form.php have been modified
- Error in new/edit medical test process (in Opera and Mozilla browsers)
- Error in patient deletion process (medical problems)
- The file medical/problem_search.php has been modified (more secure)
- Error in restore backup process when there is a semicolon in data (parse_sql_file.php)
- The file scripts/.htaccess has been removed
- Doctor can not edit or delete medical tests of a medical problem
- OpenClinic Logos changed thanks to Coresis (project OpenGraphics)
- Added scripts/wizard.js file to the project
- Added nl2br() function to medical/*_view.php files
Changes since 0.3 (2003-03-02)
- Added bulgarian language (pazoff)
- Added showNavLinks() function (shared/navigation_links.php file)
- Improvements in search engine (medical/patient_fields.php, medical/patient_search.php, classes/Patient_Query.php)
- Added setItemsPerPage(), getCurrentRow(), getRowCount(), getPageCount(), search() methods to Problem_Query class
- Added medical/problem_search.php, medical/problem_search_fields.php files to the project
- Added freeResult() method to DbConnection and Query classes
- Fixed medical/print_medical_record.php errors ($staff)
- Fixed medical/problem_view.php errors ($staff, new != reset)
- Fixed medical/patient_view.php errors ($staff)
- Added numRows() method to Query class
- Fixed medical/problem_new.php and medical/problem_edit.php errors (key=)
- Fixed medical/connection_new.php errors (key=)
- Added medical/visited_list.php file to the project
- Added new themes to the project: XP Style (jact), Autumn Violets (pazoff)
- New patient list (3 last visited patients) in normal version
- More visual improvements (CSS and images)
- Fixed more XHTML 1.0 errors (nested lists)
- Fixed stranger characters introduction in login_form.php (urlencode in login.php)
- Added lib/validator_lib.php file to the project
- Added fetchAll() method to DbConnection class
- Added fetchRow() and fetchAll() methods to Query class (changes in all *_Query.php files)
- New feature in Admin tab: Log Statistics
- Added fetchAccess() and select() methods to Access_Query class
- Added fetchRecord() and select() methods to Record_Query class
- Added admin/log_stats.php, admin/log_access_list.php and admin/log_record_list.php files to the project
- Added htmlspecialchars(), intval() functions to classes files
- Use of showInputHidden() function in the web forms
- Added showCheckBox() function (lib/input_lib.php file)
- Checking of magic_quotes_gpc in setter methods
- Added emulation of transactions in critical operations (ignore_user_abort function)
- Added coding_guidelines.html file to the project
Changes since 0.2 (2003-02-08)
- Visual improvements (CSS)
- Fixed medical/relative_list.php errors (medical/patient_del.php)
- Fixed admin/setting_edit.php errors
- Fixed medical/connection_list.php errors (medical/problem_del.php)
- Added access_log_tbl table to database. It is necessary to store application user's accesses
- Added Access_Query class
- Changed link to admin/user_new_form.php in admin/staff_list.php
- Improved internationalization of the application (encoding, charset, dir). Changes in locale/*/header.php files
- Added record_log_tbl table to database. It is necessary to log record operations
- Added Record_Query class
- Added shared/record_log.php file
- Added getLastId() method to the Problem_Query class
- Added getLastId() method to the Test_Query class
Changes since 0.1 (2003-01-25)
- Fixed medical/problem_edit_form.php errors
- Improved date format
- Fixed some XHTML 1.0 errors
- Better clinic image selection (<select> tag)
- Demo version doesn't have user's control
- Modified connect() method in DbConnection class
- Added affectedRows() method to DbConnection class
- Added rowSeek() method to DbConnection class
- Added lastInsertId() method to DbConnection class
- Added medical/history_personal_view.php and medical/history_family_view.php files
- Added $onlyDoctor and $hasMedicalAdminAuth variables
- Added admin/dump_optimize_db.php file
- Added htmlspecialchars() function to the lib/input_lib.php functions
- Added showInputHidden() function to the lib/input_lib.php file
- Improved SQL dumps of database
- Fixed History_Query errors
- Added historic tables: deleted_patient_tbl, deleted_problem_tbl
- Fixed date format errors