diff --git a/scripts/pi-hole/php/func.php b/scripts/pi-hole/php/func.php index edd0cbcb..fb9cda82 100644 --- a/scripts/pi-hole/php/func.php +++ b/scripts/pi-hole/php/func.php @@ -45,10 +45,10 @@ if(!function_exists('hash_equals')) { } } -function add_regex($regex) +function add_regex($regex, $mode=FILE_APPEND, $append="\n") { global $regexfile; - if(file_put_contents($regexfile, "\n".$regex, FILE_APPEND) === FALSE) + if(file_put_contents($regexfile, $append.$regex, $mode) === FALSE) { $err = error_get_last()["message"]; echo "Unable to add regex \"".htmlspecialchars($regex)."\" to ${regexfile}
Error message: $err"; diff --git a/scripts/pi-hole/php/teleporter.php b/scripts/pi-hole/php/teleporter.php index 380eb613..dbdb637d 100644 --- a/scripts/pi-hole/php/teleporter.php +++ b/scripts/pi-hole/php/teleporter.php @@ -113,6 +113,7 @@ if(isset($_POST["action"])) exec("sudo pihole -b -q -nr ".implode(" ", $blacklist)); $importedsomething = true; } + if(isset($_POST["whitelist"]) && $file->getFilename() === "whitelist.txt") { $whitelist = process_file(file_get_contents($file)); @@ -124,10 +125,11 @@ if(isset($_POST["action"])) if(isset($_POST["regexlist"]) && $file->getFilename() === "regex.list") { - $regexlist = process_file(file_get_contents($file),false); + $regexraw = file_get_contents($file); + $regexlist = process_file($regexraw,false); echo "Processing regex.list (".count($regexlist)." entries)
\n"; - exec("sudo pihole --regex -nr --nuke"); - exec("sudo pihole --regex -q -nr ".implode(" ", $regexlist)); + // NULL = overwrite (or create) the regex filter file + add_regex($regexraw, NULL,""); $importedsomething = true; }