Directly manipulate regex.list from PHP to avoid detour over bash. This needs read/write permissions of the PHP user on "/etc/pihole/regex.list" !

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER
2018-06-23 15:50:19 +02:00
parent 3f7246968e
commit 1935544183
5 changed files with 37 additions and 9 deletions

View File

@@ -22,7 +22,24 @@ switch($type) {
exec("sudo pihole -b -q -d ${_POST['domain']}");
break;
case "wild":
exec("sudo pihole -wild -q -d ${_POST['domain']}");
if(($list = file_get_contents($regexfile)) === FALSE)
{
$err = error_get_last()["message"];
echo "Unable to read ${regexfile}<br>Error message: $err";
}
// Replace regex with empty line ...
$list = str_replace($_POST['domain'], '', $list);
// ... and remove all empty lines from the file
$tmp = explode("\n", $list);
$tmp = array_filter($tmp);
$list = implode("\n", $tmp);
if(file_put_contents($regexfile, $list) === FALSE)
{
$err = error_get_last()["message"];
echo "Unable to remove regex \"".htmlspecialchars($_POST['domain'])."\" from ${regexfile}<br>Error message: $err";
}
break;
}