CHANGELOG OpenLog Online Logbook Copyright (C) 2026 Rod Wright SPDX-License-Identifier: GPL-2.0 1.0 - 2000-??-?? - Initial release. 2.0 - 2001-??-?? - Added referencing capability - Various bugfixes 2.2 - 2002-??-?? - Added day navigation links at top of screen to replace forward and back buttons. - Added printer friendly functionality. - Various bugfixes. 3.0 - 2005-03-12 - Total redesign of pages. - Replaced day navigation links with clickable calendar. - Improved search page by putting the search criteria and results on the same page. - Made various notices and error messages consistent. - Simplified reference chain display on main page by removing referenced note numbers and adding a magnifying glass icon that takes you to the reference chain page. Referenced note numbers still available on reference chain page. - Added a plus sign icon to the note on the main page and reference chain page so that you don't have to go to the edit page to add a note referencing the current note. - Many, many, many code cleanups. - Now works with standard php configuration. No longer requires register_globals to be turned on. - simplified the printer friendly functionality. - Added link management functionality. 3.1 - 2005-03-28 - Fixed bug where the footer message was not being displayed. - Fixed bug that caused the contents of some fields in tables to be halfway down the field (and possibly off-screen and not visible) when the contents of other fields were very long. - Fixed bug where links show up on the printer friendly main page. 3.2 - 2005-03-30 - Fixed inconsistent prompt text on search page. - Fixed problem of whitespace characters at beginning and end of search text being included in the where clause resulting in no results returned. - Fixed incorrect version number on about page. - Moved openlog.sql into the utilities directory with all the other one-time use stuff. Updated docs accordingly. 3.3 - 2005-06-02 - Fixed printer friendly pages so they do not show the navigation and forms. This prevents the note column from being compressed to just a few characters wide when printed. 3.4 - 2007-01-04 - Fixed bug where items in dropdown lists were displayed in some random order. Now they are shown in the order they were added on the administration page. - Fixed bug where the reference links on the reference chain page didn't work. They took you to the search page, which was redundant and produced "no notes match criteria" message. Links in references column now take you to the edit page for the linked note. - Added a security classification banner function that displays an appropriately colored and labeled banner at the top and bottom of all pages that display anything from the database. Banner is controlled in the config.php file. 3.5 - 2008-01-02 - Added a time field to the database. It works like the date, i.e., it automatically fills with the current time of the database server, but may be changed on the add entry and edit pages if desired. YOU MUST RUN THE dbupdate-3.5.sql UTILITY AS DESCRIBED IN THE UPGRADE FILE OR YOUR PAGES WILL NOT DISPLAY CORRECTLY! Your database will not be damaged if you omit this step, but the logbook will not be much use. If you are installing OpenLog for the first time, you will not need to run the update utility, since the initial database creation takes care of it. 3.6 - 2008-01-30 - The timestamp field added in version 3.5 was not universally popular. Added an option to the config file to select whether to show it on the main page (it will still be inserted into the database and remain editable). - Added a configurable logbook name. You can now set the name of the logbook in the config file so if you are running multiple logbooks, you'll know which one you're looking at. - Added options in the config file to determine the displayed order of employee names and subject names. 4.0 - 2008-02-20 - Moved all configuration from a file (config.php) to a table in the database. Added a configuration page so that all configuration can be done in the web browser. - Techs can now tell OpenLog to remember who they are using a browser cookie. Techs can set their current shift, and the Add Entry page will preselect the tech and shift. Also added a customization page so that each tech can have their own color scheme, etc. - Created an installation shell script that automates the task of getting the distribution in the right place in the filesystem with the correct file ownership. - Created a php installation/upgrade routine that detects whether the distribution has been configured and prompts for the database name/logbook name etc. OpenLog either sets up a new installation or upgrades an existing configuration without the user having to deal with command prompt stuff. 4.1 - 2008-02-26 - Fixed copyright dates in all files. - Fixed bug where backslashes appeared in notes on systems where magic_quotes_gpc was turned on. - Fixed bug where custom tech name was inserted on new or edited notes even when another tech name was selected. - Fixed install.sh script to not show hostname in url in final instructions since it was not reliable. - Fixed bug where timestamps for notes entered for past or future dates were set to the time the note was entered. This made notes entered last night appear after notes made this morning on the main page. - Trimmed all text files (including this one;-) to 80 columns so they wouldn't produce wierd line spacing on terminal displays. 4.2 - 2008-03-08 - Fixed About page to accurately describe configuration changes. - URLs entered as http://domain.com are automatically converted to clickable links in the note text. - Added configuration setting to control the size of chunks to break long url strings into, preventing a long url from distorting the page. - Reversed the chronological order of the CHANGELOG file so the newest stuff is at the top. 4.3 - 2013-03-15 - Fixed install.sh script to make it detect the httpd process name and user instead of using hardcoded values. 5.0 - 2015-08-10 - Reworked install.sh script to remove web server version specific defaults. - Added install.bat script to handle installation on Windows servers. - Added PHP sessions to enable tech logins and privilege separation. - Added maintenance form and parts tracking functionality. - Added the ability to set flags for notes and maintenance forms. - Improved search capability. 5.1 - 2015-11-17 - Added scheduled maintenance functionality. 5.1.1 - 2016-01-28 - Various bugfixes 5.2.0 - 2016-10-18 - Use jquery-ui for calendaring functions - Replaced deprecated php functions split() and ereg*() with explode() and preg*() functions to make OpenLog compatible with php 7. - Added a field to the logentry page to allow the user to insert a properly formatted URL into a note. 5.2.1 - 2024-07-09 - Removed install.php and moved installation/upgrade process to install.sh shell script with default database files and a db.php template file. - Various compatibility fixes to make OpenLog work with php-8.x. 5.2.2 - 2025-02-26 - Removed corrupt line from the beginning of database-initial.sql that caused the population of the database to fail during install. Upgrades not affected. - Changed functions.php so that the application uses a sans-serif font by default. 5.2.3 - 2025-12-01 - In lognotes.php, get today's data from the database instead of the php date() function, since that had returned tomorrow's date in some instances. - In logentry.php, only run parts code if parts functionality is enabled. This prevents a fatal php error that occurred when trying to get the max value of an empty array. - In settings.php, the LOG_ERRORS constant was not being read properly. Assigned its value to a variable to be used in the if statement. 5.2.4 - 2025-12-02 - In logentry.php, the parts bug from 5.2.2 was only partially fixed. Made the corrections to the edit code as well as the new entry. - In logentry.php, the default times for notes entered using dates other than today's date contained a trailing colon that mysql didn't like. Removed trailing colons. - Cleaned up the REQUEST importation in multiple files to default to NULL values for parameters not supplied to prevent warning messages in the logs. - In the install.sh script, removed the prompts for optional package installation. Code is still there, just turned off by default. 5.2.4.1 - 2025-12-10 - Fixed bug in search.php where "Print search results" link on the search results page resulted in the printable page not showing any results. This was due to a php fatal error caused by passing a non-array as the second argument of the php in_array() function. 5.2.4.2 - 2025-12-11 - Fixed other bugs caused by passing a non-array as the second argument of the php in_array() function in various files. 5.2.4.3 - 2025-12-16 - Various problems were noted resulting from php's use of UTC as the default timezone. Now, on installation or upgrade, the installer gets the correct timezone from the system and sets it as a php option in a .htaccess file in the install location. This solves multiple problems and allows today's date and the current time to be determined from the php date() function as part of the settings.php once per page load instead of having to query the database multiple times per page load. Also added the option to allow apache to read the .htaccess file to the section of the application's conf file in /etc/apache2/conf-available - Renamed the installer's db.php_update.sh script to files-update.sh to reflect that it now can do more than just modify the db.php file. For this version, it's used to modify the apache conf file mentioned earlier. - Completely removed the optional package prompting/installation code from install.sh. This is best done using separate installers. 5.2.4.4 - 2025-12-19 -Fixed bugs that caused crashes on the Scheduled Maintenance page that were caused by more strict behavior of php regarding mysql queries. - Fixed bug where some functions defined in functions.php were not treating the $today variable as global. - In install.php, if a previous installation was found, make upgrade the default choice. 5.2.5 - 2026-02-10 This is just a version number bump to get on a major-minor-patch scheme. There are no code changes for this release. 5.3.0 - 2026-02-20 - Moved the template Create/Copy/Edit/Delete/Rename functionality to its own page to make it less confusing and to fix some strange behavior. - Added global templates which can be used by anyone but can only be created, modified, or deleted by administrators. This makes it easier to employ standardized templates. - Changed the character encoding of the database to utf8mb4 to enable using emojis in text fields. - Changed the insert link functionality. There are now two fields, link text, and URL. The full URL string will now not be displayed in the note, since it frequently was too long and deformed the table, causing the user to have to scroll right to see the entire note. If a URL is entered in the URL field and no link text is entered in the link text field, the link will show up as just the last part of the URL. For example, "http://somewhere.com/myfile.pdf" will show as "myfile.pdf" in the note text. If text is entered in the link text field, that is what will show as the clickable link in the note text. NOTE: URLs in previously entered notes will not automatically be converted. - Changed the flag handling code to no longer dynamically create flag_ tables in the database to track assignments. This is now done using a flagmap table. NOTE: The database will be modified to support this and the importation of the previous data will take some time during installation. - References will no longer be stored in the lognotes table with the note. There is now a reflinks table that stores the link information. NOTE: The database will be modified to support this and the importation of the previous data will take some time during installation. - Various code cleanups to prevent php warnings in the logs if logging is enabled. - Validate all date and time fields to prevent user entered invalid date formats from crashing php. - Fixed profile page to automatically refresh page to show the results when a user changes their color preferences.