prepare('SELECT DISTINCT(Date) FROM detections GROUP BY Date ORDER BY Date DESC'); if($statement == False){ echo "Database is busy"; header("refresh: 0;"); } $result = $statement->execute(); $view = "bydate"; #Specific Date } elseif(isset($_GET['date'])) { $date = $_GET['date']; session_start(); $_SESSION['date'] = $date; if(isset($_GET['sort']) && $_GET['sort'] == "occurrences") { $statement = $db->prepare("SELECT DISTINCT(Com_Name) FROM detections WHERE Date == \"$date\" GROUP BY Com_Name ORDER BY COUNT(*) DESC"); } else { $statement = $db->prepare("SELECT DISTINCT(Com_Name) FROM detections WHERE Date == \"$date\" ORDER BY Com_Name"); } if($statement == False){ echo "Database is busy"; header("refresh: 0;"); } $result = $statement->execute(); $view = "date"; #By Species } elseif(isset($_GET['byspecies'])) { if(isset($_GET['sort']) && $_GET['sort'] == "occurrences") { $statement = $db->prepare('SELECT DISTINCT(Com_Name) FROM detections GROUP BY Com_Name ORDER BY COUNT(*) DESC'); } else { $statement = $db->prepare('SELECT DISTINCT(Com_Name) FROM detections ORDER BY Com_Name ASC'); } session_start(); if($statement == False){ echo "Database is busy"; header("refresh: 0;"); } $result = $statement->execute(); $view = "byspecies"; #Specific Species } elseif(isset($_GET['species'])) { $species = $_GET['species']; session_start(); $_SESSION['species'] = $species; $statement = $db->prepare("SELECT * FROM detections WHERE Com_Name == \"$species\" ORDER BY Com_Name"); $statement3 = $db->prepare("SELECT Date, Time, Sci_Name, MAX(Confidence), File_Name FROM detections WHERE Com_Name == \"$species\" ORDER BY Com_Name"); if($statement == False || $statement3 == False){ echo "Database is busy"; header("refresh: 0;"); } $result = $statement->execute(); $result3 = $statement3->execute(); $view = "species"; } else { session_start(); session_unset(); $view = "choose"; } ?>
fetchArray(SQLITE3_ASSOC)){ $date = $results['Date']; if(realpath($home."/BirdSongs/Extracted/By_Date/".$date) !== false){ echo "";}} #By Species } elseif($view == "byspecies") { while($results=$result->fetchArray(SQLITE3_ASSOC)){ $name = $results['Com_Name']; echo "";} #Specific Date } elseif($view == "date") { while($results=$result->fetchArray(SQLITE3_ASSOC)){ $name = $results['Com_Name']; if(realpath($home."/BirdSongs/Extracted/By_Date/".$date."/".str_replace(" ", "_",$name)) !== false){ echo ""; } } #Choose } else { echo ""; } echo "
"; } #Specific Species if(isset($_GET['species'])){ ?>
prepare("SELECT * FROM detections where Com_Name == \"$name\" AND Date == \"$date\" ORDER BY Confidence DESC"); } else { $statement2 = $db->prepare("SELECT * FROM detections where Com_Name == \"$name\" AND Date == \"$date\" ORDER BY Time DESC"); } } else { if(isset($_GET['sort']) && $_GET['sort'] == "confidence") { $statement2 = $db->prepare("SELECT * FROM detections where Com_Name == \"$name\" ORDER BY Confidence DESC"); } else { $statement2 = $db->prepare("SELECT * FROM detections where Com_Name == \"$name\" ORDER BY Date DESC, Time DESC"); } } if($statement2 == False){ echo "Database is busy"; header("refresh: 0;"); } $result2 = $statement2->execute(); echo ""; $iter=0; 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']; $filename_formatted = $date."/".$comname."/".$results['File_Name']; // file was deleted by disk check, no need to show the detection in recordings if(!file_exists($home."/BirdSongs/Extracted/".$filename)) { continue; } $iter++; if($config["FULL_DISK"] == "purge") { if(!in_array($filename_formatted, $disk_check_exclude_arr)) { $imageicon = "images/unlock.svg"; $title = "This file is not delete protected."; $type = "add"; } else { $imageicon = "images/lock.svg"; $title = "This file is delete protected."; $type = "del"; } echo ""; } else { echo ""; } }if($iter == 0){ echo "";}echo "
$name
$date $time
$confidence
$date $time
$confidence
No recordings were found.

They may have been deleted to make space for new recordings. You can modify this setting for the future in Tools -> Settings -> Advanced Settings -> Full Disk Behavior.
";} 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 ""; 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']; $filename_formatted = $date."/".$comname."/".$results['File_Name']; // add disk_check_exclude.txt lines into an array for grepping $fp = @fopen($home."/BirdNET-Pi/scripts/disk_check_exclude.txt", 'r'); if ($fp) { $disk_check_exclude_arr = explode("\n", fread($fp, filesize($home."/BirdNET-Pi/scripts/disk_check_exclude.txt"))); } if($config["FULL_DISK"] == "purge") { if(!in_array($filename_formatted, $disk_check_exclude_arr)) { $imageicon = "images/unlock.svg"; $title = "This file is not delete protected."; $type = "add"; } else { $imageicon = "images/lock.svg"; $title = "This file is delete protected."; $type = "del"; } echo ""; } else { echo ""; } }echo "
$name
$date $time
$confidence
$date $time
$confidence
";}?>