mirror of
https://github.com/pi-hole/web.git
synced 2026-02-23 11:16:05 +00:00
- Fix multiple php warning/error messages when this scripts are executed from AJAX requests Example errors/warnings: 2019/01/15 13:22:22 [error] 1408#1408: *2535 FastCGI sent in stderr: "PHP message: PHP Notice: Undefined variable: api in /var/www/html/admin/scripts/pi-hole/php/sub.php on line 16 PHP message: PHP Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/admin/scripts/pi-hole/php/sub.php:8) in /var/www/html/admin/scripts/pi-hole/php/auth.php on line 81 PHP message: PHP Warning: session_start(): Cannot start session when headers already sent in /var/www/html/admin/scripts/pi-hole/php/auth.php on line 93 Signed-off-by: Michael Epstein <mepstein@mediabox.cl>
54 lines
1.6 KiB
PHP
54 lines
1.6 KiB
PHP
<?php
|
|
/* Pi-hole: A black hole for Internet advertisements
|
|
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
|
* Network-wide ad blocking via your own hardware.
|
|
*
|
|
* This file is copyright under the latest version of the EUPL.
|
|
* Please see LICENSE file for your rights under this license. */
|
|
|
|
require_once('auth.php');
|
|
|
|
$type = $_POST['list'];
|
|
|
|
// Perform all of the verification for list editing
|
|
// when NOT invoked and authenticated from API
|
|
if (empty($api)) {
|
|
list_verify($type);
|
|
}
|
|
|
|
switch($type) {
|
|
case "white":
|
|
exec("sudo pihole -w -q -d ${_POST['domain']}");
|
|
break;
|
|
case "black":
|
|
exec("sudo pihole -b -q -d ${_POST['domain']}");
|
|
break;
|
|
case "regex":
|
|
if(($list = file_get_contents($regexfile)) === FALSE)
|
|
{
|
|
$err = error_get_last()["message"];
|
|
echo "Unable to read ${regexfile}<br>Error message: $err";
|
|
}
|
|
|
|
// Remove the regex and any empty lines from the list
|
|
$list = explode("\n", $list);
|
|
$list = array_diff($list, array($_POST['domain'], ""));
|
|
$list = implode("\n", $list);
|
|
|
|
if(file_put_contents($regexfile, $list."\n") === FALSE)
|
|
{
|
|
$err = error_get_last()["message"];
|
|
echo "Unable to remove regex \"".htmlspecialchars($_POST['domain'])."\" from ${regexfile}<br>Error message: $err";
|
|
}
|
|
else
|
|
{
|
|
// Send SIGHUP to pihole-FTL using a frontend command
|
|
// to force reloading of the regex domains
|
|
// This will also wipe the resolver's cache
|
|
echo exec("sudo pihole restartdns reload");
|
|
}
|
|
break;
|
|
}
|
|
|
|
?>
|