Commit Graph

17 Commits

Author SHA1 Message Date
frederik 42c2deffa2 put commonly used snippets in common.php 2024-03-29 13:21:18 +01:00
frederik 90d53a3a43 ensure_db_ok (): on error: do not refresh immediately, but wait for one second. put helpers in common.php 2024-03-09 13:03:05 +01:00
ehpersonal38 9c1f4175e2 Revert "Code Consolidation for API preparations & hard coded path replacements" 2023-05-19 20:03:02 -04:00
jaredb7 aba13452f8 Update common.php 2023-05-19 21:37:29 +10:00
jaredb7 4ffefa8dfb Change the method of how the filepath are generated
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.
2023-05-19 21:25:37 +10:00
jaredb7 e998742517 Update to return IdentifiedSoFar.txt - IDFILE location 2023-05-15 23:32:31 +10:00
jaredb7 7a125a6ed8 Create test for common.php filepath resolver
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 :) )
2023-05-14 18:38:30 +10:00
jaredb7 9594f3344b Add additional paths to directory and file path resolver 2023-05-14 17:35:52 +10:00
jaredb7 a80d39d7b6 Replace all authentication code with a function that does the auth for us
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.
2023-05-13 01:07:19 +10:00
jaredb7 66863f2e6b Save password last to avoid auth check preventing saving other settings
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.
2023-05-12 23:09:15 +10:00
jaredb7 6af59a2908 Fix caddyfile not updating due to command execution being intercepted by auth prompt
We always want this command to execute regardless and rebuild the caddy config accordingly.
2023-05-11 06:55:29 +10:00
jaredb7 92bd190334 Authenticate user for all system actions
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
2023-05-10 23:02:11 +10:00
jaredb7 17697b9767 Disallow direct access to common.php 2023-05-09 22:51:53 +10:00
jaredb7 69c4a6d3b1 Move remaining files to use new code
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
2023-05-09 20:29:57 +10:00
jaredb7 3fb6889364 Merge branch 'BirdNET-pi-main' into New-UI-API
Install langauge code was moved into a different file, updated changeLanguage() in common.php by removing sudo from 3K model language install.
2023-05-09 07:32:20 +10:00
jaredb7 ac9a0e4cbe Consolidate code in remaining pages, setting page updates
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
2023-05-08 23:24:15 +10:00
jaredb7 bf0131cf27 Query Consolidate Code for API Preparations
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
2023-05-07 11:59:50 +10:00