cleanup: consolidate duplicate code

This commit is contained in:
frederik
2025-04-13 17:04:32 +02:00
parent 8777a6cffe
commit 1d8506bb93
+32 -68
View File
@@ -113,6 +113,32 @@ function copyOutput(elem) {
<div class="views"> <div class="views">
<?php <?php
function update_species_list($filename, $species, $add) {
if($add){
$str = file_get_contents($filename);
$str = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $str);
file_put_contents("$filename", "$str");
foreach ($species as $selectedOption) {
if (strpos($str, $selectedOption) === false) {
file_put_contents($filename, htmlspecialchars_decode($selectedOption, ENT_QUOTES)."\n", FILE_APPEND);
}
}
} else {
$str = file_get_contents($filename);
$str = preg_replace('/^\h*\v+/m', '', $str);
file_put_contents($filename, "$str");
foreach($species as $selectedOption) {
$content = file_get_contents($filename);
$newcontent = str_replace($selectedOption, "", "$content");
$newcontent = str_replace(htmlspecialchars_decode($selectedOption, ENT_QUOTES), "", "$newcontent");
file_put_contents($filename, "$newcontent");
}
$str = file_get_contents($filename);
$str = preg_replace('/^\h*\v+/m', '', $str);
file_put_contents($filename, "$str");
}
}
if(isset($_GET['view'])){ if(isset($_GET['view'])){
if($_GET['view'] == "System Info"){echo "<iframe src='phpsysinfo/index.php'></iframe>";} if($_GET['view'] == "System Info"){echo "<iframe src='phpsysinfo/index.php'></iframe>";}
if($_GET['view'] == "System Controls"){ if($_GET['view'] == "System Controls"){
@@ -155,86 +181,24 @@ if(isset($_GET['view'])){
if($_GET['view'] == "Advanced"){include('scripts/advanced.php');} if($_GET['view'] == "Advanced"){include('scripts/advanced.php');}
if($_GET['view'] == "Included"){ if($_GET['view'] == "Included"){
ensure_authenticated(); ensure_authenticated();
if(isset($_GET['species']) && isset($_GET['add'])){ if(isset($_GET['species']) && (isset($_GET['add']) or isset($_GET['del']))){
$file = './scripts/include_species_list.txt'; update_species_list("./scripts/include_species_list.txt", $_GET['species'], isset($_GET['add']));
$str = file_get_contents("$file");
$str = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $str);
file_put_contents("$file", "$str");
if(isset($_GET['species'])){
foreach ($_GET['species'] as $selectedOption)
file_put_contents("./scripts/include_species_list.txt", htmlspecialchars_decode($selectedOption, ENT_QUOTES)."\n", FILE_APPEND);
}
} elseif(isset($_GET['species']) && isset($_GET['del'])){
$file = './scripts/include_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("../BirdNET-Pi/include_species_list.txt");
$newcontent = str_replace($selectedOption, "", "$content");
$newcontent = str_replace(htmlspecialchars_decode($selectedOption, ENT_QUOTES), "", "$newcontent");
file_put_contents("./scripts/include_species_list.txt", "$newcontent");
}
$file = './scripts/include_species_list.txt';
$str = file_get_contents("$file");
$str = preg_replace('/^\h*\v+/m', '', $str);
file_put_contents("$file", "$str");
} }
$species_list="include"; $species_list="include";
include('./scripts/species_list.php'); include('./scripts/species_list.php');
} }
if($_GET['view'] == "Excluded"){ if($_GET['view'] == "Excluded"){
ensure_authenticated(); ensure_authenticated();
if(isset($_GET['species']) && isset($_GET['add'])){ if(isset($_GET['species']) && (isset($_GET['add']) or isset($_GET['del']))){
$file = './scripts/exclude_species_list.txt'; update_species_list("./scripts/exclude_species_list.txt", $_GET['species'], isset($_GET['add']));
$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/exclude_species_list.txt", htmlspecialchars_decode($selectedOption, ENT_QUOTES)."\n", FILE_APPEND);
} elseif (isset($_GET['species']) && isset($_GET['del'])){
$file = './scripts/exclude_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/exclude_species_list.txt");
$newcontent = str_replace($selectedOption, "", "$content");
$newcontent = str_replace(htmlspecialchars_decode($selectedOption, ENT_QUOTES), "", "$content");
file_put_contents("./scripts/exclude_species_list.txt", "$newcontent");
}
$file = './scripts/exclude_species_list.txt';
$str = file_get_contents("$file");
$str = preg_replace('/^\h*\v+/m', '', $str);
file_put_contents("$file", "$str");
} }
$species_list="exclude"; $species_list="exclude";
include('./scripts/species_list.php'); include('./scripts/species_list.php');
} }
if($_GET['view'] == "Whitelisted"){ if($_GET['view'] == "Whitelisted"){
ensure_authenticated(); ensure_authenticated();
if(isset($_GET['species']) && isset($_GET['add'])){ if(isset($_GET['species']) && (isset($_GET['add']) or isset($_GET['del']))){
$file = './scripts/whitelist_species_list.txt'; update_species_list("./scripts/whitelist_species_list.txt", $_GET['species'], isset($_GET['add']));
$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");
} }
$species_list="whitelist"; $species_list="whitelist";
include('./scripts/species_list.php'); include('./scripts/species_list.php');