prepare("INSERT OR IGNORE INTO ".$table." (domain) VALUES (:domain);"); // Return early if we prepare the SQLite statement if(!$stmt) { echo "Failed to prepare statement for ".$table." table."; echo $sql; return 0; } // Loop over domains and inject the lines into the database $num = 0; foreach($domains as $row) { if($wildcardstyle) $line = "(\\.|^)".str_replace(".","\\.",$row)."$"; else $line = $row; $stmt->bindValue(":domain", $line, SQLITE3_TEXT); if($stmt->execute() && $stmt->reset() && $stmt->clear()) $num++; else { $stmt->close(); return "Error, added: ".$num."\n"; } } // Close database connection and return number or processed rows $stmt->close(); return "Success, added: ".$num."\n"; } switch($type) { case "white": if(isset($_POST["auditlog"])) echo add_to_table("domain_audit", $domains); echo add_to_table("whitelist", $domains); break; case "black": if(isset($_POST["auditlog"])) echo add_to_table("domain_audit", $domains); echo add_to_table("blacklist", $domains); break; case "black_regex": echo add_to_table("regex_blacklist", $domains); break; case "white_regex": echo add_to_table("regex_whitelist", $domains); break; case "black_wild": echo add_to_table("regex_blacklist", $domains, true); break; case "white_wild": echo add_to_table("regex_whitelist", $domains, true); break; case "audit": echo add_to_table("domain_audit", $domains); break; } ?>