* Update config.php
Added $maskedlistenurl as an option for apprise notifications.
* Update notifications.py
Make sure $maskedlistenurl also works with default detections, and not only when testing.
* Update config.php
Changed maskedlistenurl to friendlyurl
* Update notifications.py
Changed maskedlistenurl to friendlyurl
* Create dark-style.css
* Add call to get_color_scheme
* Add call to get_color_scheme
* Create get_color_scheme function
* Add selection box in config.php
* Accept both lower and uppercase COLOR_SCHEME
* Add COLOR_SCHEME
* Add COLOR_SCHEME
* Change birdnet.conf after color scheme selection
* Move css to static to enable it
* Adapt css location to static
* Improve opacity value
* Fix logo background issues on smaller screens
* Avoid overlap of logos
* Ensure clean look (same margin as before but different location)
* Default background as transparent to avoid white on white
* Avoid black on dark ; improve readability
* Last element of green is homogenized to grayscale
* Enable site reload after color_scheme change
Makes things a little tidier and easier to change in the future, a custom message can be passed to authenticateUser() and this is output if the authentication fails.
Added protection around Include and Exclude species pages as these still accessible & data can still be written to include and exclude species.txt even with a password.
Wired in an additional check to verify user is authenticated before executing any code that makes changes to the system like saving settings or command execution.
This is a 2nd layer on top of the front end pages authenticating the user
Added in escaping of arguments for set date and change timezone just in case
Include and Exclude list updated to use the calculated path to their respective x_species_list.txt files
Move play.php over to also use the new calculated paths to disk_check_exclude
Spectrogram.php remove unused code & replace setting save code with new function
Stats.php removed old code, update paths to use calculated path.
Rename setSetting func to saveSetting
Remove old code from other pages
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