The Config and Advanced setting pages received changes to use the new setSetting() function which looks after creating or updated the setting in the required config files.
Optionally it also specification of a command to run after saving the settings.
Some variables like models, audio formats and frequency shift tools were also moved into common.php
Service Controls page received changes with the replacement of the actual command to execute with a sort of shorthand human friendly version e.g. service <action> <service_name> -- service restart livestream.service
These commands map to the original commands in serviceMaintenance() so this could be called through the API without needing the full-blown commend.
views.php was updated to accommodate this also
System Controls page received a small change to make the process checking for new git updates or getting the last commit hash a single function call.
Include and Exclude species updated to use getFilePath() to generate a path to the required file instead of the hard coded path
Views.php also received similar treatment with replacing some hard coded paths with generated paths, but logic changes to handle the change in running service commands
All SQL Queries were moved into their respective functions and parameterized, there were some slight logic changes in the front end pages to accommodate data being returned differently but existing functionality is maintained
A common function is used to execute the queries and looks after binding any parameterized values that have been supplied.
Other code for deleting / protecting detection's, frequency shift, Flickr API call etc have also been moved into common.php to be used later by the API
Two new functions getDirectory and getFilePath were introduced in aims and make it easier to relocate files. This will be worked into all existing php files to replace hardcoded paths
On mobile a new icon has been added to allow the user to jump to the detection's recording. Allowing the user listed to the recording as no playback controls are available when on mobile.
This is the same function available for the most recent recording