diff --git a/scripts/pi-hole/php/database.php b/scripts/pi-hole/php/database.php
index 2bad73db..cf250d13 100644
--- a/scripts/pi-hole/php/database.php
+++ b/scripts/pi-hole/php/database.php
@@ -107,6 +107,16 @@ function add_to_table($db, $table, $domains, $comment, $wildcardstyle=false, $re
return "Error: Unable to begin transaction for $table table.";
}
+ // To which column should the record be added to?
+ if ($table === "adlist")
+ {
+ $field = "address";
+ }
+ else
+ {
+ $field = "domain";
+ }
+
// Get initial count of domains in this table
if($type === -1)
{
@@ -121,11 +131,11 @@ function add_to_table($db, $table, $domains, $comment, $wildcardstyle=false, $re
// Prepare INSERT SQLite statememt
if($type === -1)
{
- $querystr = "INSERT OR IGNORE INTO $table (domain,comment) VALUES (:domain, :comment);";
+ $querystr = "INSERT OR IGNORE INTO $table ($field,comment) VALUES (:$field, :comment);";
}
else
{
- $querystr = "INSERT OR IGNORE INTO $table (domain,comment,type) VALUES (:domain, :comment, $type);";
+ $querystr = "INSERT OR IGNORE INTO $table ($field,comment,type) VALUES (:$field, :comment, $type);";
}
$stmt = $db->prepare($querystr);
@@ -135,7 +145,7 @@ function add_to_table($db, $table, $domains, $comment, $wildcardstyle=false, $re
if($returnnum)
return 0;
else
- return "Error: Failed to prepare statement for $table table (type = $type).";
+ return "Error: Failed to prepare statement for $table table (type = $type, field = $field).";
}
// Loop over domains and inject the lines into the database
@@ -149,7 +159,7 @@ function add_to_table($db, $table, $domains, $comment, $wildcardstyle=false, $re
if($wildcardstyle)
$domain = "(\\.|^)".str_replace(".","\\.",$domain)."$";
- $stmt->bindValue(":domain", $domain, SQLITE3_TEXT);
+ $stmt->bindValue(":$field", $domain, SQLITE3_TEXT);
$stmt->bindValue(":comment", $comment, SQLITE3_TEXT);
if($stmt->execute() && $stmt->reset())
diff --git a/scripts/pi-hole/php/teleporter.php b/scripts/pi-hole/php/teleporter.php
index d43ee28b..84f96bc8 100644
--- a/scripts/pi-hole/php/teleporter.php
+++ b/scripts/pi-hole/php/teleporter.php
@@ -220,6 +220,10 @@ function archive_insert_into_table($file, $table, $flush=false, $wildcardstyle=f
$type = ListType::regex_blacklist;
} else if($table === "domain_audit") {
$table = "domain_audit";
+ $type = -1; // -1 -> not used inside add_to_table()
+ } else if($table === "adlist") {
+ $table = "adlist";
+ $type = -1; // -1 -> not used inside add_to_table()
}
// Flush table if requested
@@ -250,7 +254,6 @@ function flush_table($table, $type=null)
$sql = "DELETE FROM ".$table;
array_push($flushed_tables, $table);
}
- echo $sql."
";
$db->exec($sql);
}
}
@@ -355,7 +358,14 @@ if(isset($_POST["action"]))
if(isset($_POST["auditlog"]) && $file->getFilename() === "auditlog.list")
{
$num = archive_insert_into_table($file, "domain_audit", $flushtables);
- echo "Processed blacklist (regex) (".$num." entries)
\n";
+ echo "Processed audit log (".$num." entries)
\n";
+ $importedsomething = true;
+ }
+
+ if(isset($_POST["adlist"]) && $file->getFilename() === "adlists.list")
+ {
+ $num = archive_insert_into_table($file, "adlist", $flushtables);
+ echo "Processed adlists (".$num." entries)
\n";
$importedsomething = true;
}