To avoid having to update file or directory paths in 3 script locations (PHP Common, Shell Common and Python File path resolver)
The .json file will references by all 3 systems, allowing them to generate paths from one central location. Files can be then moved around, the file updated and all 3 languages will up to date without any other work.
Quick test for the common.php directory and filepath resolver to ensure it's generating the correct paths
And small fix for incorrect firstrun.ini location (thanks test case :) )
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.
Because saveSetting() checks each time to see that the user has authenticated, if the password is changed first then very next setting will cause a auth prompt (as the password changed) and if cancelled then the other setting won't save.
Putting it last will allow us to save all the other setting and then change the password, then the next attempt to execute a action or access a page that required auth will prompt the user the the 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