mirror of
https://github.com/pi-hole/web.git
synced 2024-12-06 19:36:21 +01:00
Directly write imported regex file to disk instead of useing bash callbacks
Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
@@ -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}<br>Error message: $err";
|
||||
|
||||
@@ -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)<br>\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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user