From c6415ee90dd3af8b65f736721435a7e9f7a06b9c Mon Sep 17 00:00:00 2001
From: ehpersonal38 <103586016+ehpersonal38@users.noreply.github.com>
Date: Wed, 15 Mar 2023 11:13:35 -0400
Subject: [PATCH 1/7] adding a
to the bottom of overview
---
scripts/overview.php | 1 +
1 file changed, 1 insertion(+)
diff --git a/scripts/overview.php b/scripts/overview.php
index d045fcb..8673a85 100644
--- a/scripts/overview.php
+++ b/scripts/overview.php
@@ -312,6 +312,7 @@ echo "
";
?>
These allow you to show a custom image on the Overview page of your BirdNET-Pi. This can be used to show a dynamically updating picture of your garden, for example.
These allow you to show a custom image on the Overview page of your BirdNET-Pi. This can be used to show a dynamically updating picture of your garden, for example.
+From f532e9cabe4f624e30aeb047745785864dd1d899 Mon Sep 17 00:00:00 2001 From: ehpersonal38 <103586016+ehpersonal38@users.noreply.github.com> Date: Wed, 15 Mar 2023 13:54:48 -0400 Subject: [PATCH 3/7] better Advanced Settings formatting and explanations --- scripts/advanced.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/advanced.php b/scripts/advanced.php index 32d5c6b..e42af45 100644 --- a/scripts/advanced.php +++ b/scripts/advanced.php @@ -313,19 +313,22 @@ foreach($formats as $format){
The BirdNET-Pi URL is how the main page will be reached. If you want your installation to respond to an IP address, place that here, but be sure to indicate "http://".
Example for IP: http://192.168.0.109
Example if you own your own domain: https://virginia.birdnetpi.com
This allows you to quiet the display of how many commits your installation is behind by relative to the Github repo. This number appears next to "Tools" when you're 50 or more commits behind.
>This allows you to remove the axes and labels of the spectrograms that are generated by Sox for each detection for a cleaner appearance.
These allow you to show a custom image on the Overview page of your BirdNET-Pi. This can be used to show a dynamically updating picture of your garden, for example.
These allow you to show a custom image on the Overview page of your BirdNET-Pi. This can be used to show a dynamically updating picture of your garden, for example.
+From fbed94e2090e2e55751bb6ac87395c6170d940ba Mon Sep 17 00:00:00 2001 From: ehpersonal38 <103586016+ehpersonal38@users.noreply.github.com> Date: Wed, 15 Mar 2023 18:42:15 -0400 Subject: [PATCH 4/7] Blacklist Flickr images from the web interface --- scripts/overview.php | 60 ++++++++++++++++++++++++++++++++--- scripts/todays_detections.php | 34 ++++++++++++++++---- 2 files changed, 83 insertions(+), 11 deletions(-) diff --git a/scripts/overview.php b/scripts/overview.php index 8673a85..c213a22 100644 --- a/scripts/overview.php +++ b/scripts/overview.php @@ -37,6 +37,33 @@ if(isset($_GET['custom_image'])){ die(); } +if(isset($_GET['blacklistimage'])) { + if(isset($_SERVER['PHP_AUTH_USER'])) { + $submittedpwd = $_SERVER['PHP_AUTH_PW']; + $submitteduser = $_SERVER['PHP_AUTH_USER']; + if($submittedpwd == $config['CADDY_PWD'] && $submitteduser == 'birdnet'){ + + $imageid = $_GET['blacklistimage']; + $file_handle = fopen($home."/BirdNET-Pi/scripts/blacklisted_images.txt", 'a+'); + fwrite($file_handle, $imageid . "\n"); + fclose($file_handle); + unset($_SESSION['images']); + die("OK"); + } else { + header('WWW-Authenticate: Basic realm="My Realm"'); + header('HTTP/1.0 401 Unauthorized'); + echo 'You must be authenticated.'; + exit; + } + } else { + header('WWW-Authenticate: Basic realm="My Realm"'); + header('HTTP/1.0 401 Unauthorized'); + echo 'You must be authenticated.'; + exit; + } + +} + if(isset($_GET['fetch_chart_string']) && $_GET['fetch_chart_string'] == "true") { $myDate = date('Y-m-d'); $chart = "Combo-$myDate.png"; @@ -107,17 +134,21 @@ if(isset($_GET['ajax_detections']) && $_GET['ajax_detections'] == "true" && isse } } - // Make the API call + // Read the blacklisted image ids from the file into an array + $blacklisted_ids = array_map('trim', file($home."/BirdNET-Pi/scripts/blacklisted_images.txt")); + + // Make the API call $flickrjson = json_decode(file_get_contents("https://www.flickr.com/services/rest/?method=flickr.photos.search&api_key=".$config["FLICKR_API_KEY"]."&text=".str_replace(" ", "%20", $engname).$comnameprefix."&sort=relevance".$args."&per_page=5&media=photos&format=json&nojsoncallback=1"), true)["photos"]["photo"]; - // Find the first photo that is not blacklisted + // Find the first photo that is not blacklisted or is not the specific blacklisted id $photo = null; foreach ($flickrjson as $flickrphoto) { - if ($flickrphoto["id"] !== "4892923285") { + if ($flickrphoto["id"] !== "4892923285" && !in_array($flickrphoto["id"], $blacklisted_ids)) { $photo = $flickrphoto; break; } } + $modaltext = "https://flickr.com/photos/".$photo["owner"]."/".$photo["id"]; $authorlink = "https://flickr.com/people/".$photo["owner"]; $imageurl = 'https://farm' .$photo["farm"]. '.static.flickr.com/' .$photo["server"]. '/' .$photo["id"]. '_' .$photo["secret"]. '.jpg'; @@ -254,15 +285,18 @@ body::-webkit-scrollbar {