diff --git a/list.php b/list.php
index 7e9d5f62..6ee6a806 100644
--- a/list.php
+++ b/list.php
@@ -32,14 +32,24 @@ function getFullName() {
-
+
diff --git a/scripts/pi-hole/js/list.js b/scripts/pi-hole/js/list.js
index f0d8a045..47517e1a 100644
--- a/scripts/pi-hole/js/list.js
+++ b/scripts/pi-hole/js/list.js
@@ -173,6 +173,8 @@ function add(type) {
return;
}
+ var comment = $("#comment");
+
var alInfo = $("#alInfo");
var alSuccess = $("#alSuccess");
var alFailure = $("#alFailure");
@@ -187,7 +189,7 @@ function add(type) {
$.ajax({
url: "scripts/pi-hole/php/add.php",
method: "post",
- data: {"domain":domain.val().trim(), "list":type, "token":token},
+ data: {"domain":domain.val().trim(),"comment":comment.val(), "list":type, "token":token},
success: function(response) {
if (response.indexOf("Success") === -1) {
alFailure.show();
@@ -208,6 +210,7 @@ function add(type) {
alInfo.hide();
});
domain.val("");
+ comment.val("");
refresh(true);
}
},
@@ -228,10 +231,10 @@ function add(type) {
// Handle enter button for adding domains
$(document).keypress(function(e) {
- if(e.which === 13 && $("#domain").is(":focus")) {
+ if(e.which === 13 && $("#domain,#comment").is(":focus")) {
// Enter was pressed, and the input has focus
add(listType);
- }
+ };
});
// Handle buttons
diff --git a/scripts/pi-hole/php/add.php b/scripts/pi-hole/php/add.php
index 895df011..98e795e8 100644
--- a/scripts/pi-hole/php/add.php
+++ b/scripts/pi-hole/php/add.php
@@ -25,6 +25,7 @@ if(in_array($list, $check_lists)) {
// Split individual domains into array
$domains = preg_split('/\s+/', trim($_POST['domain']));
+$comment = trim($_POST['comment']);
require_once("func.php");
require_once("database.php");
@@ -33,31 +34,31 @@ $db = SQLite3_connect($GRAVITYDB, SQLITE3_OPEN_READWRITE);
switch($list) {
case "white":
- echo add_to_table($db, "whitelist", $domains);
+ echo add_to_table($db, "whitelist", $domains, $comment);
break;
case "black":
- echo add_to_table($db, "blacklist", $domains);
+ echo add_to_table($db, "blacklist", $domains, $comment);
break;
case "black_regex":
- echo add_to_table($db, "regex_blacklist", $domains);
+ echo add_to_table($db, "regex_blacklist", $domains, $comment);
break;
case "white_regex":
- echo add_to_table($db, "regex_whitelist", $domains);
+ echo add_to_table($db, "regex_whitelist", $domains, $comment);
break;
case "black_wild":
- echo add_to_table($db, "regex_blacklist", $domains, true);
+ echo add_to_table($db, "regex_blacklist", $domains, $comment, true);
break;
case "white_wild":
- echo add_to_table($db, "regex_whitelist", $domains, true);
+ echo add_to_table($db, "regex_whitelist", $domains, $comment, true);
break;
case "audit":
- echo add_to_table($db, "domain_audit", $domains);
+ echo add_to_table($db, "domain_audit", $domains, $comment);
break;
default:
diff --git a/scripts/pi-hole/php/database.php b/scripts/pi-hole/php/database.php
index f98f2b8a..8ede1667 100644
--- a/scripts/pi-hole/php/database.php
+++ b/scripts/pi-hole/php/database.php
@@ -76,7 +76,7 @@ function SQLite3_connect($filename, $mode=SQLITE3_OPEN_READONLY)
* @param $returnnum boolean Whether to return an integer or a string
* @return string Success/error and number of processed domains
*/
-function add_to_table($db, $table, $domains, $wildcardstyle=false, $returnnum=false)
+function add_to_table($db, $table, $domains, $comment, $wildcardstyle=false, $returnnum=false)
{
// Begin transaction
if(!$db->exec("BEGIN TRANSACTION;"))
@@ -89,7 +89,7 @@ function add_to_table($db, $table, $domains, $wildcardstyle=false, $returnnum=fa
$initialcount = intval($db->querySingle("SELECT COUNT(*) FROM ".$table.";"));
// Prepare SQLite statememt
- $stmt = $db->prepare("INSERT OR IGNORE INTO ".$table." (domain) VALUES (:domain);");
+ $stmt = $db->prepare("INSERT OR IGNORE INTO ".$table." (domain,comment) VALUES (:domain, :comment);");
// Return early if we failed to prepare the SQLite statement
if(!$stmt)
@@ -112,6 +112,7 @@ function add_to_table($db, $table, $domains, $wildcardstyle=false, $returnnum=fa
$domain = "(\\.|^)".str_replace(".","\\.",$domain)."$";
$stmt->bindValue(":domain", $domain, SQLITE3_TEXT);
+ $stmt->bindValue(":comment", $comment, SQLITE3_TEXT);
if($stmt->execute() && $stmt->reset())
$num++;