From b2c80f0db76327b42eacb97b26cfdb80bd9ce6dd Mon Sep 17 00:00:00 2001 From: ehpersonal38 <103586016+ehpersonal38@users.noreply.github.com> Date: Sun, 17 Apr 2022 14:41:58 -0400 Subject: [PATCH 1/2] Adding links to recordings This should add a link to all the recordings, so you can copy and share with a friend, or save somewhere. There's better ways some of this can be done, but it works for now. (please test this! not sure if I copied all the right files to git) --- homepage/index.php | 8 +++++++ homepage/style.css | 11 +++++++++ scripts/overview.php | 6 ++--- scripts/play.php | 42 +++++++++++++++++++++++++++++++++-- scripts/stats.php | 24 ++++++++++---------- scripts/todays_detections.php | 7 +++--- 6 files changed, 78 insertions(+), 20 deletions(-) diff --git a/homepage/index.php b/homepage/index.php index c989aa9..93dd966 100644 --- a/homepage/index.php +++ b/homepage/index.php @@ -54,6 +54,14 @@ if(isset($_GET['stream'])){

BirdNET-Pi

"; } +if(isset($_GET['filename'])) { + $filename = $_GET['filename']; +echo " + +"; +} else { echo " "; +} + diff --git a/homepage/style.css b/homepage/style.css index 56403ae..5dd558c 100644 --- a/homepage/style.css +++ b/homepage/style.css @@ -494,3 +494,14 @@ button:hover { display:none; } } + +.copyimage { + position:absolute; + top: 7px; + right: 7px; + width: 25px !important; + height: 25px !important; +} +.relative { + position:relative; +} \ No newline at end of file diff --git a/scripts/overview.php b/scripts/overview.php index 697491f..78ac7a6 100644 --- a/scripts/overview.php +++ b/scripts/overview.php @@ -96,14 +96,14 @@ if(isset($_GET['ajax_detections']) && $_GET['ajax_detections'] == "true" && isse

Most Recent Detection:

- - + +
+

Confidence:
-
prepare('SELECT DISTINCT(Date) FROM detections GROUP BY Date'); + if($statement == False){ + echo "Database is busy"; + header("refresh: 0;"); + } + $result = $statement->execute(); + $view = "bydate"; + #By Date +}elseif(isset($_GET['bydate'])){ $statement = $db->prepare('SELECT DISTINCT(Date) FROM detections GROUP BY Date'); if($statement == False){ echo "Database is busy"; @@ -75,7 +84,7 @@ if(isset($_GET['bydate'])){
@@ -129,6 +138,35 @@ if(isset($_GET['species'])){ header("refresh: 0;"); } $result2 = $statement2->execute(); + echo "
+ + + "; + while($results=$result2->fetchArray(SQLITE3_ASSOC)) + { + $comname = preg_replace('/ /', '_', $results['Com_Name']); + $comname = preg_replace('/\'/', '', $comname); + $date = $results['Date']; + $filename = "/By_Date/".$date."/".$comname."/".$results['File_Name']; + $sciname = preg_replace('/ /', '_', $results['Sci_Name']); + $sci_name = $results['Sci_Name']; + $time = $results['Time']; + $confidence = $results['Confidence']; + echo " + + "; + + }echo "
$name
$date $time
$confidence
+
";} + +if(isset($_GET['filename'])){ + $name = $_GET['filename']; + $statement2 = $db->prepare("SELECT * FROM detections where File_name == \"$name\" ORDER BY Date DESC, Time DESC"); + if($statement2 == False){ + echo "Database is busy"; + header("refresh: 0;"); + } + $result2 = $statement2->execute(); echo " diff --git a/scripts/stats.php b/scripts/stats.php index deb6161..9a0724c 100644 --- a/scripts/stats.php +++ b/scripts/stats.php @@ -5,20 +5,20 @@ error_reporting(E_ALL); $db = new SQLite3('./scripts/birds.db', SQLITE3_OPEN_CREATE | SQLITE3_OPEN_READWRITE); if($db == False) { - echo "Database busy"; - header("refresh: 0;"); + echo "Database busy"; + header("refresh: 0;"); } $statement = $db->prepare('SELECT Date, Time, File_Name, Com_Name, COUNT(*), MAX(Confidence) FROM detections GROUP BY Com_Name ORDER BY COUNT(*) DESC'); if($statement == False) { - echo "Database busy"; - header("refresh: 0;"); + echo "Database busy"; + header("refresh: 0;"); } $result = $statement->execute(); $statement2 = $db->prepare('SELECT Date, Time, File_Name, Com_Name, COUNT(*), MAX(Confidence) FROM detections GROUP BY Com_Name ORDER BY Com_Name'); if($statement == False) { - echo "Database busy"; - header("refresh: 0;"); + echo "Database busy"; + header("refresh: 0;"); } $result2 = $statement2->execute(); @@ -28,8 +28,8 @@ if(isset($_GET['species'])){ $selection = $_GET['species']; $statement3 = $db->prepare("SELECT Com_Name, Sci_Name, COUNT(*), MAX(Confidence), File_Name, Date, Time from detections WHERE Com_Name = \"$selection\""); if($statement3 == False) { - echo "Database busy"; - header("refresh: 0;"); + echo "Database busy"; + header("refresh: 0;"); } $result3 = $statement3->execute(); } @@ -89,8 +89,8 @@ while($results=$result3->fetchArray(SQLITE3_ASSOC)){ $linkname = preg_replace('/_/', '+', $dbsciname); $filename = "/By_Date/".$date."/".$comname."/".$results['File_Name']; echo str_pad("

$species

-
$name
-
$sciname
+ + + - diff --git a/scripts/todays_detections.php b/scripts/todays_detections.php index f9b4319..94002bf 100644 --- a/scripts/todays_detections.php +++ b/scripts/todays_detections.php @@ -65,7 +65,8 @@ if(isset($_GET['ajax_detections']) && $_GET['ajax_detections'] == "true" && isse } $result0 = $statement0->execute(); - ?>
$sciname
Occurrences: $count
Max Confidence: $maxconf
Best Recording: $date $time
@@ -122,9 +122,9 @@ $comname = preg_replace('/ /', '_', $results['Com_Name']); $comname = preg_replace('/\'/', '', $comname); $filename = "/By_Date/".$results['Date']."/".$comname."/".$results['File_Name']; ?> -
+
Occurrences:
Max Confidence:
Best Recording:
+ fetchArray(SQLITE3_ASSOC)) { @@ -76,8 +77,8 @@ if(isset($_GET['ajax_detections']) && $_GET['ajax_detections'] == "true" && isse $filename = "/By_Date/".date('Y-m-d')."/".$comname."/".$todaytable['File_Name']; $sciname = preg_replace('/ /', '_', $todaytable['Sci_Name']); ?> - - +

+



Confidence:
From 6e0bc9788669f4a81e840b31805520a3f1a6777c Mon Sep 17 00:00:00 2001 From: mcguirepr89 Date: Sun, 17 Apr 2022 15:05:24 -0400 Subject: [PATCH 2/2] adding the copy image --- homepage/images/copy.png | Bin 0 -> 4883 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 homepage/images/copy.png diff --git a/homepage/images/copy.png b/homepage/images/copy.png new file mode 100644 index 0000000000000000000000000000000000000000..e009fd2a9047f3e4305d01769708eb0b059e77df GIT binary patch literal 4883 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 U7eH9-ufG60D<|wd3tZ}d0OT`&`2YX_ literal 0 HcmV?d00001