Feat : add species whitelist (#110)

* Add white_list to server.py

https://github.com/Nachtzuster/BirdNET-Pi/issues/108

* Create whitelist_list.php

* Add whitelist to views

* Make more explicit the usage

* Update views.php

* Align with uppercase

* Align with "species"

https://github.com/Nachtzuster/BirdNET-Pi/issues/108

* Update views.php

* Correct python code

https://github.com/Nachtzuster/BirdNET-Pi/issues/108

* Align clear_all_data.sh

* Align install_services.sh

* Embed whitelist_species_list in PREDICTED_SPECIES_LIST

* Only embed whitelist in predicted list

* Correct python append @dalogue1

https://github.com/Nachtzuster/BirdNET-Pi/issues/108#issuecomment-2183508903

* Update scripts/server.py

Co-authored-by: Nachtzuster <Nachtzuster@users.noreply.github.com>

* Use preexisting functions

Co-authored-by: Nachtzuster <Nachtzuster@users.noreply.github.com>

* Alert not a recommended WoW

---------

Co-authored-by: Nachtzuster <Nachtzuster@users.noreply.github.com>
This commit is contained in:
Alexandre
2024-06-30 10:18:32 +02:00
committed by GitHub
parent 8a92469f45
commit 18693fae06
5 changed files with 138 additions and 0 deletions
+28
View File
@@ -142,6 +142,7 @@ if(isset($_GET['view'])){
<button type=\"submit\" name=\"view\" value=\"Webterm\" form=\"views\">Web Terminal</button>
<button type=\"submit\" name=\"view\" value=\"Included\" form=\"views\">Custom Species List</button>
<button type=\"submit\" name=\"view\" value=\"Excluded\" form=\"views\">Excluded Species List</button>
<button type=\"submit\" name=\"view\" value=\"Whitelisted\" form=\"views\">White-listed Species List</button>
</form>
</div>";
}
@@ -204,6 +205,33 @@ if(isset($_GET['view'])){
}
include('./scripts/exclude_list.php');
}
if($_GET['view'] == "Whitelisted"){
ensure_authenticated();
if(isset($_GET['species']) && isset($_GET['add'])){
$file = './scripts/whitelist_species_list.txt';
$str = file_get_contents("$file");
$str = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $str);
file_put_contents("$file", "$str");
foreach ($_GET['species'] as $selectedOption)
file_put_contents("./scripts/whitelist_species_list.txt", htmlspecialchars_decode($selectedOption, ENT_QUOTES)."\n", FILE_APPEND);
} elseif (isset($_GET['species']) && isset($_GET['del'])){
$file = './scripts/whitelist_species_list.txt';
$str = file_get_contents("$file");
$str = preg_replace('/^\h*\v+/m', '', $str);
file_put_contents("$file", "$str");
foreach($_GET['species'] as $selectedOption) {
$content = file_get_contents("./scripts/whitelist_species_list.txt");
$newcontent = str_replace($selectedOption, "", "$content");
$newcontent = str_replace(htmlspecialchars_decode($selectedOption, ENT_QUOTES), "", "$content");
file_put_contents("./scripts/whitelist_species_list.txt", "$newcontent");
}
$file = './scripts/whitelist_species_list.txt';
$str = file_get_contents("$file");
$str = preg_replace('/^\h*\v+/m', '', $str);
file_put_contents("$file", "$str");
}
include('./scripts/whitelist_list.php');
}
if($_GET['view'] == "File"){
echo "<iframe src='scripts/filemanager/filemanager.php'></iframe>";
}