Skip to content

Commit

Permalink
Merge branch 'devel' into patch-1
Browse files Browse the repository at this point in the history
Signed-off-by: Ghalid <[email protected]>
  • Loading branch information
Ghalid authored and Ghalid committed Dec 29, 2019
2 parents 1df9c40 + 03b3a1d commit 112a5ab
Show file tree
Hide file tree
Showing 32 changed files with 8,268 additions and 311 deletions.
21 changes: 2 additions & 19 deletions api_db.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,21 +49,11 @@ function resolveHostname($clientip, $printIP)
return $clientname;
}

// Get possible non-standard location of FTL's database
$FTLsettings = parse_ini_file("/etc/pihole/pihole-FTL.conf");
if(isset($FTLsettings["DBFILE"]))
{
$DBFILE = $FTLsettings["DBFILE"];
}
else
{
$DBFILE = "/etc/pihole/pihole-FTL.db";
}

// Needs package php5-sqlite, e.g.
// sudo apt-get install php5-sqlite

$db = SQLite3_connect($DBFILE);
$QUERYDB = getQueriesDBFilename();
$db = SQLite3_connect($QUERYDB);

if(isset($_GET["network"]) && $auth)
{
Expand Down Expand Up @@ -382,13 +372,6 @@ function parseDBData($results, $interval, $from, $until) {
// $data[timestamp] = value_in_this_interval
$data[$row[0]] = intval($row[1]);
}

// Fill the missing intervals with zero
// Advance in steps of interval
for($i = $from; $i < $until; $i += $interval) {
if(!array_key_exists($i, $data))
$data[$i] = 0;
}
}

return $data;
Expand Down
40 changes: 29 additions & 11 deletions custom_dns.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,39 @@

<!-- Title -->
<div class="page-header">
<h1>Custom DNS</h1>
<h1>Custom DNS configuration</h1>
<small>On this page, you can add domain/IP associations similar to records in <code>/etc/hosts</code>.</small>
</div>

<!-- Domain Input -->
<form class="form-inline" >
<div class="form-group">
<input id="domain" type="url" class="form-control" placeholder="Add a domain (example.com or sub.example.com)" autocomplete="off" spellcheck="false" autocapitalize="none" autocorrect="off">
</div>
<div class="form-group">
<input id="ip" type="text" class="form-control" placeholder="Define an associate IP">
</div>
<div class="form-group">
<button id="btnAdd" class="btn btn-default" type="button">Add</button>
<div class="row">
<div class="col-md-12">
<div class="box">
<!-- /.box-header -->
<div class="box-header with-border">
<h3 class="box-title">
Add a new domain/IP combination
</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-6">
<label for="ex1">Name:</label>
<input id="domain" type="url" class="form-control" placeholder="Add a domain (example.com or sub.example.com)" autocomplete="off" spellcheck="false" autocapitalize="none" autocorrect="off">
</div>
<div class="col-md-6">
<label for="ex2">Description:</label>
<input id="ip" type="text" class="form-control" placeholder="Associated IP address" autocomplete="off" spellcheck="false" autocapitalize="none" autocorrect="off">
</div>
</div>
</div>
<div class="box-footer clearfix">
<button id="btnAdd" class="btn btn-primary pull-right">Add</button>
</div>
</div>
</div>
</form>
</div>

<!-- Alerts -->
<div id="alInfo" class="alert alert-info alert-dismissible fade in" role="alert" hidden="true">
Expand Down
2 changes: 1 addition & 1 deletion db_graph.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
<div class="input-group-addon">
<i class="far fa-clock"></i>
</div>
<input type="text" class="form-control pull-right" id="querytime" value="Click to select date and time range">
<input type="button" class="form-control pull-right" id="querytime" value="Click to select date and time range">
</div>
<!-- /.input group -->
</div>
Expand Down
2 changes: 1 addition & 1 deletion db_lists.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
<div class="input-group-addon">
<i class="far fa-clock"></i>
</div>
<input type="text" class="form-control pull-right" id="querytime" value="Click to select date and time range">
<input type="button" class="form-control pull-right" id="querytime" value="Click to select date and time range">
</div>
<!-- /.input group -->
</div>
Expand Down
2 changes: 1 addition & 1 deletion db_queries.php
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
<div class="input-group-addon">
<i class="far fa-clock"></i>
</div>
<input type="text" class="form-control pull-right" id="querytime" value="Click to select date and time range">
<input type="button" class="form-control pull-right" id="querytime" value="Click to select date and time range">
</div>
<!-- /.input group -->
</div>
Expand Down
79 changes: 79 additions & 0 deletions groups-adlists.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?php /*
* Pi-hole: A black hole for Internet advertisements
* (c) 2019 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 "scripts/pi-hole/php/header.php";
?>

<!-- Title -->
<div class="page-header">
<h1>Adlist group management</h1>
</div>

<!-- Domain Input -->
<div class="row">
<div class="col-md-12">
<div class="box" id="add-group">
<!-- /.box-header -->
<div class="box-header with-border">
<h3 class="box-title">
Add a new adlist
</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-6">
<label for="ex1">Address:</label>
<input id="new_address" type="url" class="form-control" placeholder="http://..., https://..., file://..." autocomplete="off" spellcheck="false" autocapitalize="none" autocorrect="off">
</div>
<div class="col-md-6">
<label for="ex2">Comment:</label>
<input id="new_comment" type="text" class="form-control" placeholder="Adlist description (optional)">
</div>
</div>
</div>
<div class="box-footer clearfix">
<button id="btnAdd" class="btn btn-primary pull-right">Add</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="box" id="adlists-list">
<div class="box-header with-border">
<h3 class="box-title">
List of configured adlists
</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<table id="adlistsTable" class="display table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
<th>ID</th>
<th>Address</th>
<th>Status</th>
<th>Comment</th>
<th>Group assignment</th>
<th>Action</th>
</tr>
</thead>
</table>
<button type="button" id="resetButton" hidden="true">Reset sorting</button>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
</div>

<script src="scripts/pi-hole/js/groups-adlists.js"></script>

<?php
require "scripts/pi-hole/php/footer.php";
?>
79 changes: 79 additions & 0 deletions groups-clients.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?php /*
* Pi-hole: A black hole for Internet advertisements
* (c) 2019 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 "scripts/pi-hole/php/header.php";
?>

<!-- Title -->
<div class="page-header">
<h1>Client group management</h1>
</div>

<!-- Domain Input -->
<div class="row">
<div class="col-md-12">
<div class="box" id="add-client">
<!-- /.box-header -->
<div class="box-header with-border">
<h3 class="box-title">
Add a new client
</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-6">
<label for="ex1">Known clients:</label>
<select id="select" class="form-control" placeholder="">
<option disabled selected>Loading...</option>
</select>
</div>
<div class="col-md-6">
<label for="ex2">Custom client:</label>
<input id="ip-custom" type="text" class="form-control" disabled placeholder="Client IP address (IPv4 or IPv6, optional)" autocomplete="off" spellcheck="false" autocapitalize="none" autocorrect="off">
</div>
</div>
</div>
<div class="box-footer clearfix">
<button id="btnAdd" class="btn btn-primary pull-right">Add</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="box" id="clients-list">
<div class="box-header with-border">
<h3 class="box-title">
List of configured clients
</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<table id="clientsTable" class="display table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
<th>ID</th>
<th>IP address</th>
<th>Group assignment</th>
<th>Action</th>
</tr>
</thead>
</table>
<button type="button" id="resetButton" hidden="true">Reset sorting</button>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
</div>

<script src="scripts/pi-hole/js/groups-clients.js"></script>

<?php
require "scripts/pi-hole/php/footer.php";
?>
89 changes: 89 additions & 0 deletions groups-domains.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
<?php /*
* Pi-hole: A black hole for Internet advertisements
* (c) 2019 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 "scripts/pi-hole/php/header.php";
?>

<!-- Title -->
<div class="page-header">
<h1>Domain group management</h1>
</div>

<!-- Domain Input -->
<div class="row">
<div class="col-md-12">
<div class="box" id="add-group">
<!-- /.box-header -->
<div class="box-header with-border">
<h3 class="box-title">
Add a new domain
</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<div class="row">
<div class="col-md-6">
<label for="ex1">Domain:</label>
<input id="new_domain" type="url" class="form-control" placeholder="Domain to be added" autocomplete="off" spellcheck="false" autocapitalize="none" autocorrect="off">
</div>
<div class="col-md-2">
<label for="ex2">Type:</label>
<select id="new_type" class="form-control">
<option value="0">Exact whitelist</option>
<option value="1">Exact blacklist</option>
<option value="2">Regex whitelist</option>
<option value="3">Regex blacklist</option>
</select>
</div>
<div class="col-md-4">
<label for="ex3">Comment:</label>
<input id="new_comment" type="text" class="form-control" placeholder="Domain description (optional)">
</div>
</div>
</div>
<div class="box-footer clearfix">
<button id="btnAdd" class="btn btn-primary pull-right">Add</button>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="box" id="domains-list">
<div class="box-header with-border">
<h3 class="box-title">
List of configured domains
</h3>
</div>
<!-- /.box-header -->
<div class="box-body">
<table id="domainsTable" class="display table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
<th>ID</th>
<th>Domain</th>
<th>Type</th>
<th>Status</th>
<th>Comment</th>
<th>Group assignment</th>
<th>Action</th>
</tr>
</thead>
</table>
<button type="button" id="resetButton" hidden="true">Reset sorting</button>
</div>
<!-- /.box-body -->
</div>
<!-- /.box -->
</div>
</div>

<script src="scripts/pi-hole/js/groups-domains.js"></script>

<?php
require "scripts/pi-hole/php/footer.php";
?>
Loading

0 comments on commit 112a5ab

Please sign in to comment.