mirror of
https://github.com/pi-hole/web.git
synced 2025-12-20 02:38:28 +00:00
@@ -1,31 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/* Pi-hole: A black hole for Internet advertisements
|
|
||||||
* (c) 2022 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.
|
|
||||||
*/
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
$finder = PhpCsFixer\Finder::create()
|
|
||||||
->ignoreDotFiles(false)
|
|
||||||
->ignoreVCSIgnored(true)
|
|
||||||
->exclude('scripts/vendor')
|
|
||||||
->in(__DIR__)
|
|
||||||
;
|
|
||||||
|
|
||||||
$config = new PhpCsFixer\Config();
|
|
||||||
$config
|
|
||||||
->setRules(array(
|
|
||||||
'@Symfony' => true,
|
|
||||||
'array_syntax' => array('syntax' => 'long'),
|
|
||||||
'yoda_style' => array('equal' => false, 'identical' => false, 'less_and_greater' => false, 'always_move_variable' => false),
|
|
||||||
))
|
|
||||||
->setLineEnding(PHP_EOL)
|
|
||||||
->setFinder($finder)
|
|
||||||
;
|
|
||||||
|
|
||||||
return $config;
|
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
@@ -79,8 +79,6 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/customcname.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/customcname.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -7,10 +7,5 @@
|
|||||||
"phpstan/phpstan": "1.*"
|
"phpstan/phpstan": "1.*"
|
||||||
},
|
},
|
||||||
"license": "EUPL-1.2",
|
"license": "EUPL-1.2",
|
||||||
"minimum-stability": "stable",
|
"minimum-stability": "stable"
|
||||||
"autoload": {
|
|
||||||
"files": [
|
|
||||||
"scripts/vendor/qrcode.php"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
@@ -83,9 +83,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/ip-address-sorting.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/ip-address-sorting.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/customdns.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/customdns.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
@@ -28,8 +28,6 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
<button type="button" id="gravityBtn" class="btn btn-lg btn-primary btn-block">Update</button>
|
<button type="button" id="gravityBtn" class="btn btn-lg btn-primary btn-block">Update</button>
|
||||||
<pre id="output" style="width: 100%; height: 100%;" hidden></pre>
|
<pre id="output" style="width: 100%; height: 100%;" hidden></pre>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/gravity.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/gravity.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
@@ -83,10 +83,8 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/vendor/bootstrap-select.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/bootstrap-select.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/vendor/bootstrap-toggle.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/bootstrap-toggle.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/groups-adlists.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/groups-adlists.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
@@ -91,11 +91,9 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/vendor/bootstrap-select.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/bootstrap-select.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/vendor/bootstrap-toggle.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/bootstrap-toggle.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/ip-address-sorting.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/ip-address-sorting.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/groups-clients.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/groups-clients.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
@@ -148,10 +148,8 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/vendor/bootstrap-select.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/bootstrap-select.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/vendor/bootstrap-toggle.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/bootstrap-toggle.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/groups-domains.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/groups-domains.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
|
|||||||
12
groups.php
12
groups.php
@@ -8,7 +8,7 @@
|
|||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
@@ -80,10 +80,8 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/vendor/bootstrap-select.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/bootstrap-select.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/vendor/bootstrap-toggle.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/bootstrap-toggle.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/groups.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/groups.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"type": "image/png"
|
"type": "image/png"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"theme_color": "#367fa9",
|
"theme.color": "#367fa9",
|
||||||
"background_color": "#367fa9",
|
"background_color": "#367fa9",
|
||||||
"display": "standalone"
|
"display": "standalone"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<?php
|
<? --[[
|
||||||
/* Pi-hole: A black hole for Internet advertisements
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* Network-wide ad blocking via your own hardware.
|
* Network-wide ad blocking via your own hardware.
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
--]]
|
||||||
|
|
||||||
$indexpage = true;
|
indexpage = true
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
<!-- Small boxes (Stat box) -->
|
<!-- Small boxes (Stat box) -->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -22,7 +22,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
<div class="icon">
|
<div class="icon">
|
||||||
<i class="fas fa-globe-americas"></i>
|
<i class="fas fa-globe-americas"></i>
|
||||||
</div>
|
</div>
|
||||||
<a href="network.php" class="small-box-footer" title="">
|
<a href="network.lp" class="small-box-footer" title="">
|
||||||
<span id="total_clients">-</span> active clients <i class="fa fa-arrow-circle-right"></i>
|
<span id="total_clients">-</span> active clients <i class="fa fa-arrow-circle-right"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -38,7 +38,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
<div class="icon">
|
<div class="icon">
|
||||||
<i class="fas fa-hand-paper"></i>
|
<i class="fas fa-hand-paper"></i>
|
||||||
</div>
|
</div>
|
||||||
<a href="queries.php?forwarddest=blocked" class="small-box-footer" title="">
|
<a href="queries.lp?forwarddest=blocked" class="small-box-footer" title="">
|
||||||
List blocked queries <i class="fa fa-arrow-circle-right"></i>
|
List blocked queries <i class="fa fa-arrow-circle-right"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -54,7 +54,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
<div class="icon">
|
<div class="icon">
|
||||||
<i class="fas fa-chart-pie"></i>
|
<i class="fas fa-chart-pie"></i>
|
||||||
</div>
|
</div>
|
||||||
<a href="queries.php" class="small-box-footer" title="">
|
<a href="queries.lp" class="small-box-footer" title="">
|
||||||
List all queries <i class="fa fa-arrow-circle-right"></i>
|
List all queries <i class="fa fa-arrow-circle-right"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -70,7 +70,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
<div class="icon">
|
<div class="icon">
|
||||||
<i class="fas fa-list-alt"></i>
|
<i class="fas fa-list-alt"></i>
|
||||||
</div>
|
</div>
|
||||||
<a href="groups-adlists.php" class="small-box-footer" title="">
|
<a href="groups-adlists.lp" class="small-box-footer" title="">
|
||||||
Manage adlists <i class="fa fa-arrow-circle-right"></i>
|
Manage adlists <i class="fa fa-arrow-circle-right"></i>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
@@ -152,14 +152,9 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php
|
<? if pihole.boxedlayout() then tablelayout = 'col-md-6' else tablelayout = 'col-md-6 col-lg-6' end ?>
|
||||||
if ($boxedlayout) {
|
|
||||||
$tablelayout = 'col-md-6';
|
|
||||||
} else {
|
|
||||||
$tablelayout = 'col-md-6 col-lg-6';
|
|
||||||
} ?>
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="<?php echo $tablelayout; ?>">
|
<div class="<?=tablelayout?>">
|
||||||
<div class="box" id="domain-frequency">
|
<div class="box" id="domain-frequency">
|
||||||
<div class="box-header with-border">
|
<div class="box-header with-border">
|
||||||
<h3 class="box-title">Top Permitted Domains</h3>
|
<h3 class="box-title">Top Permitted Domains</h3>
|
||||||
@@ -188,7 +183,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
<!-- /.box -->
|
<!-- /.box -->
|
||||||
</div>
|
</div>
|
||||||
<!-- /.col -->
|
<!-- /.col -->
|
||||||
<div class="<?php echo $tablelayout; ?>">
|
<div class="<?=tablelayout?>">
|
||||||
<div class="box" id="ad-frequency">
|
<div class="box" id="ad-frequency">
|
||||||
<div class="box-header with-border">
|
<div class="box-header with-border">
|
||||||
<h3 class="box-title">Top Blocked Domains</h3>
|
<h3 class="box-title">Top Blocked Domains</h3>
|
||||||
@@ -219,7 +214,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- /.col -->
|
<!-- /.col -->
|
||||||
<div class="<?php echo $tablelayout; ?>">
|
<div class="<?=tablelayout?>">
|
||||||
<div class="box" id="client-frequency">
|
<div class="box" id="client-frequency">
|
||||||
<div class="box-header with-border">
|
<div class="box-header with-border">
|
||||||
<h3 class="box-title">Top Clients (total)</h3>
|
<h3 class="box-title">Top Clients (total)</h3>
|
||||||
@@ -248,7 +243,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
<!-- /.box -->
|
<!-- /.box -->
|
||||||
</div>
|
</div>
|
||||||
<!-- /.col -->
|
<!-- /.col -->
|
||||||
<div class="<?php echo $tablelayout; ?>">
|
<div class="<?=tablelayout?>">
|
||||||
<div class="box" id="client-frequency-blocked">
|
<div class="box" id="client-frequency-blocked">
|
||||||
<div class="box-header with-border">
|
<div class="box-header with-border">
|
||||||
<h3 class="box-title">Top Clients (blocked only)</h3>
|
<h3 class="box-title">Top Clients (blocked only)</h3>
|
||||||
@@ -280,8 +275,6 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
<!-- /.row -->
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/index.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/index.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
@@ -1,15 +1,14 @@
|
|||||||
<?php
|
<? --[[
|
||||||
/*
|
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* Network-wide ad blocking via your own hardware.
|
* Network-wide ad blocking via your own hardware.
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
--]]
|
||||||
|
|
||||||
$wrongpassword = false;
|
mg.include('scripts/pi-hole/lua/header.lp','r')
|
||||||
require 'scripts/pi-hole/php/header.php';
|
wrongpassword = false
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<body class="hold-transition layout-boxed login-page">
|
<body class="hold-transition layout-boxed login-page">
|
||||||
@@ -26,14 +25,14 @@ require 'scripts/pi-hole/php/header.php';
|
|||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body login-card-body">
|
<div class="card-body login-card-body">
|
||||||
<div id="cookieInfo" class="panel-title text-center text-red" style="font-size: 150%" hidden>Verify that cookies are allowed</div>
|
<div id="cookieInfo" class="panel-title text-center text-red" style="font-size: 150%" hidden>Verify that cookies are allowed</div>
|
||||||
<?php if ($wrongpassword) { ?>
|
<? if wrongpassword then mg.write('\
|
||||||
<div class="form-group has-error login-box-msg">
|
<div class="form-group has-error login-box-msg">\
|
||||||
<label class="control-label"><i class="fa fa-times-circle"></i> Wrong password!</label>
|
<label class="control-label"><i class="fa fa-times-circle"></i> Wrong password!</label>\
|
||||||
</div>
|
</div>\
|
||||||
<?php } ?>
|
') end ?>
|
||||||
|
|
||||||
<form id="loginform">
|
<form id="loginform">
|
||||||
<div class="login-options has-feedback<?php if ($wrongpassword) { ?> has-error<?php } ?>">
|
<div class="login-options has-feedback<? if wrongpassword then mg.write(" has-error") end ?>">
|
||||||
<input type="text" id="username" value="pi.hole" autocomplete="username" hidden>
|
<input type="text" id="username" value="pi.hole" autocomplete="username" hidden>
|
||||||
<div class="pwd-field form-group">
|
<div class="pwd-field form-group">
|
||||||
<!-- hidden username input field to help password managers to autfill the password -->
|
<!-- hidden username input field to help password managers to autfill the password -->
|
||||||
@@ -57,12 +56,12 @@ require 'scripts/pi-hole/php/header.php';
|
|||||||
<br>
|
<br>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12">
|
<div class="col-xs-12">
|
||||||
<div class="box box-<?php if (!$wrongpassword) { ?>info collapsed-box<?php } else { ?>danger<?php }?>">
|
<div class="box box-<? if not wrongpassword then mg.write("info collapsed-box") else mg.write("danger") end ?>">
|
||||||
<div class="box-header with-border pointer no-user-select" data-widget="collapse">
|
<div class="box-header with-border pointer no-user-select" data-widget="collapse">
|
||||||
<h3 class="box-title">Forgot password?</h3>
|
<h3 class="box-title">Forgot password?</h3>
|
||||||
<div class="box-tools pull-right">
|
<div class="box-tools pull-right">
|
||||||
<button type="button" class="btn btn-box-tool">
|
<button type="button" class="btn btn-box-tool">
|
||||||
<i class="fa <?php if ($wrongpassword) { ?>fa-minus<?php } else { ?>fa-plus<?php } ?>"></i>
|
<i class="fa <? if wrongpassword then mg.write("fa-minus") else mg.write("fa-plus") end ?>"></i>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -93,8 +92,8 @@ require 'scripts/pi-hole/php/header.php';
|
|||||||
<strong><a href="https://pi-hole.net/donate/" rel="noopener" target="_blank"><i class="fa fa-heart text-red"></i> Donate</a></strong> if you found this useful.
|
<strong><a href="https://pi-hole.net/donate/" rel="noopener" target="_blank"><i class="fa fa-heart text-red"></i> Donate</a></strong> if you found this useful.
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/login.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/login.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/vendor/geraintluff-sha256.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/geraintluff-sha256.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/footer.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/footer.js')?>"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
<?php
|
<? --[[
|
||||||
/*
|
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* (c) 2020 Pi-hole, LLC (https://pi-hole.net)
|
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* Network-wide ad blocking via your own hardware.
|
* Network-wide ad blocking via your own hardware.
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/ ]]--
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
@@ -42,8 +41,6 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/messages.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/messages.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
10
network.php
10
network.php
@@ -7,7 +7,7 @@
|
|||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
@@ -66,9 +66,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
<!-- /.row -->
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/ip-address-sorting.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/ip-address-sorting.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/network.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/network.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -19,8 +19,8 @@
|
|||||||
"prettier:check": "prettier -l \"style/*.css\" \"style/themes/*.css\" \"scripts/pi-hole/**/*.js\"",
|
"prettier:check": "prettier -l \"style/*.css\" \"style/themes/*.css\" \"scripts/pi-hole/**/*.js\"",
|
||||||
"prettier:fix": "prettier --write \"style/*.css\" \"style/themes/*.css\" \"scripts/pi-hole/**/*.js\"",
|
"prettier:fix": "prettier --write \"style/*.css\" \"style/themes/*.css\" \"scripts/pi-hole/**/*.js\"",
|
||||||
"xo": "xo",
|
"xo": "xo",
|
||||||
"xo:check": "npm run xo -- \"style/*.css\" \"style/themes/*.css\" \"scripts/pi-hole/**\" \"*.php\"",
|
"xo:check": "npm run xo -- \"style/*.css\" \"style/themes/*.css\" \"scripts/pi-hole/**\"",
|
||||||
"xo:fix": "npm run xo -- --fix \"style/*.css\" \"style/themes/*.css\" \"scripts/pi-hole/**\" \"*.php\"",
|
"xo:fix": "npm run xo -- --fix \"style/*.css\" \"style/themes/*.css\" \"scripts/pi-hole/**\"",
|
||||||
"test": "npm run prettier:check && npm run xo:check",
|
"test": "npm run prettier:check && npm run xo:check",
|
||||||
"testpr": "npm run prettier:fix && git diff --ws-error-highlight=all --color=always --exit-code && npm run xo:check"
|
"testpr": "npm run prettier:fix && git diff --ws-error-highlight=all --color=always --exit-code && npm run xo:check"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
<?php /*
|
<? --[[
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* Network-wide ad blocking via your own hardware.
|
* Network-wide ad blocking via your own hardware.
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license. */
|
* Please see LICENSE file for your rights under this license.
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
--]]
|
||||||
|
|
||||||
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
<!-- Alert Modal -->
|
<!-- Alert Modal -->
|
||||||
<div id="alertModal" class="modal fade" role="dialog" data-backdrop="static" data-keyboard="false">
|
<div id="alertModal" class="modal fade" role="dialog" data-backdrop="static" data-keyboard="false">
|
||||||
@@ -233,12 +235,10 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
<!-- /.row -->
|
<!-- /.row -->
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/vendor/bootstrap-select.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/bootstrap-select.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/ip-address-sorting.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/ip-address-sorting.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/vendor/daterangepicker.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/daterangepicker.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/utils.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/utils.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/queries.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/queries.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
@@ -8,7 +8,7 @@
|
|||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
@@ -41,7 +41,5 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
|
|
||||||
<pre id="output" style="width: 100%; height: 100%;" hidden></pre>
|
<pre id="output" style="width: 100%; height: 100%;" hidden></pre>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/queryads.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/queryads.js')?>"></script>
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ function piholeChange(action, duration) {
|
|||||||
case "enable":
|
case "enable":
|
||||||
btnStatus = $("#flip-status-enable");
|
btnStatus = $("#flip-status-enable");
|
||||||
btnStatus.html("<i class='fa fa-spinner'> </i>");
|
btnStatus.html("<i class='fa fa-spinner'> </i>");
|
||||||
$.getJSON("api.php?enable&token=" + token, function (data) {
|
$.getJSON("api.lp?enable&token=" + token, function (data) {
|
||||||
if (data.status === "enabled") {
|
if (data.status === "enabled") {
|
||||||
btnStatus.html("");
|
btnStatus.html("");
|
||||||
piholeChanged("enabled");
|
piholeChanged("enabled");
|
||||||
@@ -86,7 +86,7 @@ function piholeChange(action, duration) {
|
|||||||
case "disable":
|
case "disable":
|
||||||
btnStatus = $("#flip-status-disable");
|
btnStatus = $("#flip-status-disable");
|
||||||
btnStatus.html("<i class='fa fa-spinner'> </i>");
|
btnStatus.html("<i class='fa fa-spinner'> </i>");
|
||||||
$.getJSON("api.php?disable=" + duration + "&token=" + token, function (data) {
|
$.getJSON("api.lp?disable=" + duration + "&token=" + token, function (data) {
|
||||||
if (data.status === "disabled") {
|
if (data.status === "disabled") {
|
||||||
btnStatus.html("");
|
btnStatus.html("");
|
||||||
piholeChanged("disabled");
|
piholeChanged("disabled");
|
||||||
@@ -471,7 +471,7 @@ function updateVersionInfo() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
if (window.location.pathname !== "/admin/login.php") updateInfo();
|
if (window.location.pathname !== "/admin/login.lp") updateInfo();
|
||||||
var enaT = $("#enableTimer");
|
var enaT = $("#enableTimer");
|
||||||
var target = new Date(parseInt(enaT.html(), 10));
|
var target = new Date(parseInt(enaT.html(), 10));
|
||||||
var seconds = Math.round((target.getTime() - Date.now()) / 1000);
|
var seconds = Math.round((target.getTime() - Date.now()) / 1000);
|
||||||
@@ -486,7 +486,7 @@ $(function () {
|
|||||||
// Apply per-browser styling settings
|
// Apply per-browser styling settings
|
||||||
initCheckboxRadioStyle();
|
initCheckboxRadioStyle();
|
||||||
|
|
||||||
if (window.location.pathname !== "/admin/login.php") {
|
if (window.location.pathname !== "/admin/login.lp") {
|
||||||
// Run check immediately after page loading ...
|
// Run check immediately after page loading ...
|
||||||
utils.checkMessages();
|
utils.checkMessages();
|
||||||
// ... and once again with five seconds delay
|
// ... and once again with five seconds delay
|
||||||
|
|||||||
@@ -538,7 +538,7 @@ function updateTopDomainsTable(blocked) {
|
|||||||
domain = utils.escapeHtml(item.domain);
|
domain = utils.escapeHtml(item.domain);
|
||||||
// Substitute "." for empty domain lookups
|
// Substitute "." for empty domain lookups
|
||||||
urlText = domain === "" ? "." : domain;
|
urlText = domain === "" ? "." : domain;
|
||||||
url = '<a href="queries.php?domain=' + domain + '">' + urlText + "</a>";
|
url = '<a href="queries.lp?domain=' + domain + '">' + urlText + "</a>";
|
||||||
percentage = (item.count / sum) * 100;
|
percentage = (item.count / sum) * 100;
|
||||||
domaintable.append(
|
domaintable.append(
|
||||||
"<tr> " +
|
"<tr> " +
|
||||||
@@ -724,9 +724,9 @@ const htmlLegendPlugin = {
|
|||||||
|
|
||||||
textLink.addEventListener("click", () => {
|
textLink.addEventListener("click", () => {
|
||||||
if (chart.canvas.id === "queryTypePieChart") {
|
if (chart.canvas.id === "queryTypePieChart") {
|
||||||
window.location.href = "queries.php?querytype=" + querytypeids[item.index];
|
window.location.href = "queries.lp?querytype=" + querytypeids[item.index];
|
||||||
} else if (chart.canvas.id === "forwardDestinationPieChart") {
|
} else if (chart.canvas.id === "forwardDestinationPieChart") {
|
||||||
window.location.href = "queries.php?forwarddest=" + encodeURIComponent(item.text);
|
window.location.href = "queries.lp?forwarddest=" + encodeURIComponent(item.text);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -967,7 +967,7 @@ $(function () {
|
|||||||
//get value by index
|
//get value by index
|
||||||
var from = label / 1000 - 300;
|
var from = label / 1000 - 300;
|
||||||
var until = label / 1000 + 300;
|
var until = label / 1000 + 300;
|
||||||
window.location.href = "queries.php?from=" + from + "&until=" + until;
|
window.location.href = "queries.lp?from=" + from + "&until=" + until;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@@ -990,7 +990,7 @@ $(function () {
|
|||||||
//get value by index
|
//get value by index
|
||||||
var from = label / 1000 - 300;
|
var from = label / 1000 - 300;
|
||||||
var until = label / 1000 + 300;
|
var until = label / 1000 + 300;
|
||||||
window.location.href = "queries.php?from=" + from + "&until=" + until;
|
window.location.href = "queries.lp?from=" + from + "&until=" + until;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -26,13 +26,14 @@ function computeResponse(password, challenge) {
|
|||||||
|
|
||||||
function redirect() {
|
function redirect() {
|
||||||
// Login succeeded or not needed (empty password)
|
// Login succeeded or not needed (empty password)
|
||||||
// Default: Send back to index.php (dashboard)
|
// Default: Send back to index.lp (dashboard)
|
||||||
var target = "index.php";
|
var target = "index.lp";
|
||||||
|
|
||||||
// If specified: Send to requested page
|
// If specified: Send to requested page
|
||||||
var GETDict = getParams();
|
var GETDict = getParams();
|
||||||
if ("target" in GETDict) {
|
if ("target" in GETDict) {
|
||||||
target = GETDict.target;
|
// URL-decode target
|
||||||
|
target = decodeURIComponent(GETDict.target);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Redirect to target
|
// Redirect to target
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* Pi-hole: A black hole for Internet advertisements
|
/* Pi-hole: A black hole for Internet advertisements
|
||||||
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* Network-wide ad blocking via your own hardware.
|
* Network-wide ad blocking via your own hardware.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -87,6 +87,24 @@ function updateMetrics() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function showQueryLoggingButton() {
|
||||||
|
$.ajax({
|
||||||
|
url: "/api/config/dns/queryLogging",
|
||||||
|
})
|
||||||
|
.done(function (data) {
|
||||||
|
if (data.config.dns.queryLogging) {
|
||||||
|
$("#disableLoggingButton").show();
|
||||||
|
$("#enableLoggingButton").hide();
|
||||||
|
} else {
|
||||||
|
$("#disableLoggingButton").hide();
|
||||||
|
$("#enableLoggingButton").show();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.fail(function (data) {
|
||||||
|
apiFailure(data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
$(".confirm-poweroff").confirm({
|
$(".confirm-poweroff").confirm({
|
||||||
text: "Are you sure you want to send a poweroff command to your Pi-hole?",
|
text: "Are you sure you want to send a poweroff command to your Pi-hole?",
|
||||||
title: "Confirmation required",
|
title: "Confirmation required",
|
||||||
@@ -191,4 +209,5 @@ $(".confirm-disablelogging-noflush").confirm({
|
|||||||
$(function () {
|
$(function () {
|
||||||
updateHostInfo();
|
updateHostInfo();
|
||||||
updateMetrics();
|
updateMetrics();
|
||||||
|
showQueryLoggingButton();
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<?php
|
<? --[[
|
||||||
/* Pi-hole: A black hole for Internet advertisements
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* Network-wide ad blocking via your own hardware.
|
* Network-wide ad blocking via your own hardware.
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
* ]]--
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
@@ -57,6 +57,6 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- ./wrapper -->
|
<!-- ./wrapper -->
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/footer.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/footer.js')?>"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
84
scripts/pi-hole/lua/header.lp
Normal file
84
scripts/pi-hole/lua/header.lp
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<!--
|
||||||
|
* 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.
|
||||||
|
-->
|
||||||
|
<?
|
||||||
|
hostname = pihole.hostname()
|
||||||
|
-- Get name of script by matching whatever is after the last "/" in the URI
|
||||||
|
scriptname = mg.request_info.request_uri:match("/([^/]*)$")
|
||||||
|
-- Fall back to "index.lp" if no match is found (e.g. when accessing the root)
|
||||||
|
if scriptname == nil or string.len(scriptname) == 0 then scriptname = "index.lp" end
|
||||||
|
|
||||||
|
-- Boolean check if string starts with a given prefix
|
||||||
|
function startsWith(text, prefix)
|
||||||
|
return text:find(prefix, 1, true) == 1
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Function returning GET parameter value (or nil if not set)
|
||||||
|
function GET(name)
|
||||||
|
return mg.request_info.query_string:match(name.."=([^&]*)")
|
||||||
|
-- mg.get_var(mg.request_info.query_string, "REQUEST_URI")
|
||||||
|
end
|
||||||
|
?>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
|
<!-- Usually browsers proactively perform domain name resolution on links that the user may choose to follow. We disable DNS prefetching here -->
|
||||||
|
<meta http-equiv="x-dns-prefetch-control" content="off">
|
||||||
|
<meta http-equiv="cache-control" content="max-age=60,private">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
|
||||||
|
<title>Pi-hole <?=hostname?></title>
|
||||||
|
|
||||||
|
<link rel="apple-touch-icon" href="img/favicons/apple-touch-icon.png" sizes="180x180">
|
||||||
|
<link rel="icon" href="img/favicons/favicon-32x32.png" sizes="32x32" type="image/png">
|
||||||
|
<link rel="icon" href="img/favicons/favicon-16x16.png" sizes="16x16" type="image/png">
|
||||||
|
<link rel="manifest" href="img/favicons/manifest.json">
|
||||||
|
<? pihole.include('scripts/pi-hole/lua/theme.lua') ?>
|
||||||
|
<link rel="mask-icon" href="img/favicons/safari-pinned-tab.svg" color="<?=theme.color?>">
|
||||||
|
<link rel="shortcut icon" href="img/favicons/favicon.ico">
|
||||||
|
<meta name="msapplication-TileColor" content="<?=theme.color?>">
|
||||||
|
<meta name="msapplication-TileImage" content="img/favicons/mstile-150x150.png">
|
||||||
|
|
||||||
|
<!-- Theme styles -->
|
||||||
|
<meta name="theme-color" content="<?=theme.color?>">
|
||||||
|
|
||||||
|
<? if theme.dark then mg.write("\
|
||||||
|
<style>\
|
||||||
|
html { background-color: #000; }\
|
||||||
|
</style>\
|
||||||
|
") end ?>
|
||||||
|
|
||||||
|
<!-- Theme fonts -->
|
||||||
|
<? if theme == 'lcars' then mg.write('\
|
||||||
|
<link rel="stylesheet" href="'..pihole.fileversion('style/vendor/fonts/ubuntu-mono/ubuntu-mono.css')..'">\
|
||||||
|
<link rel="stylesheet" href="'..pihole.fileversion('style/vendor/fonts/antonio/antonio.css')..'">\
|
||||||
|
') else mg.write('\
|
||||||
|
<link rel="stylesheet" href="'..pihole.fileversion('style/vendor/SourceSansPro/SourceSansPro.css')..'">\
|
||||||
|
') end ?>
|
||||||
|
|
||||||
|
<!-- Common styles -->
|
||||||
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/vendor/bootstrap/css/bootstrap.min.css')?>">
|
||||||
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/vendor/AdminLTE.min.css')?>">
|
||||||
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/vendor/select2.min.css')?>">
|
||||||
|
|
||||||
|
<!-- Theme styles -->
|
||||||
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/pi-hole.css')?>">
|
||||||
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/themes/'..pihole.webtheme()..'.css')?>">
|
||||||
|
|
||||||
|
<noscript><link rel="stylesheet" href="<?=pihole.fileversion('style/vendor/js-warn.css')?>"></noscript>
|
||||||
|
|
||||||
|
<!-- scripts -->
|
||||||
|
<script src="<?=pihole.fileversion('scripts/vendor/jquery.min.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('style/vendor/bootstrap/js/bootstrap.min.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('scripts/vendor/adminlte.min.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('scripts/vendor/bootstrap-notify.min.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('style/vendor/font-awesome/js/all.min.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/utils.js')?>"></script>
|
||||||
|
</head>
|
||||||
@@ -1,35 +1,31 @@
|
|||||||
<?php
|
<?
|
||||||
/*
|
--[[
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* Network-wide ad blocking via your own hardware.
|
* Network-wide ad blocking via your own hardware.
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
]]--
|
||||||
|
mg.include('header.lp','r')
|
||||||
require 'header.php';
|
|
||||||
// Function to check string starting
|
|
||||||
// with given substring
|
|
||||||
function startsWith($string, $startString)
|
|
||||||
{
|
|
||||||
$len = strlen($startString);
|
|
||||||
|
|
||||||
return substr($string, 0, $len) === $startString;
|
|
||||||
}
|
|
||||||
?>
|
?>
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/datatables.min.css'); ?>">
|
<!-- Group management styles -->
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/datatables_extensions.min.css'); ?>">
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/vendor/animate.min.css')?>">
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/daterangepicker.min.css'); ?>">
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/vendor/bootstrap-select.min.css')?>">
|
||||||
<script src="<?php echo fileversion('scripts/vendor/select2.min.js'); ?>"></script>
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/vendor/bootstrap-toggle.min.css')?>">
|
||||||
<script src="<?php echo fileversion('scripts/vendor/datatables.min.js'); ?>"></script>
|
|
||||||
<script src="<?php echo fileversion('scripts/vendor/datatables.select.min.js'); ?>"></script>
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/vendor/datatables.min.css')?>">
|
||||||
<script src="<?php echo fileversion('scripts/vendor/datatables.buttons.min.js'); ?>"></script>
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/vendor/datatables_extensions.min.css')?>">
|
||||||
<script src="<?php echo fileversion('scripts/vendor/moment.min.js'); ?>"></script>
|
<link rel="stylesheet" href="<?=pihole.fileversion('style/vendor/daterangepicker.min.css')?>">
|
||||||
<script src="<?php echo fileversion('scripts/vendor/chart.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/select2.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/vendor/chartjs-adapter-moment.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/datatables.min.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('scripts/vendor/datatables.select.min.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('scripts/vendor/datatables.buttons.min.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('scripts/vendor/moment.min.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('scripts/vendor/chart.min.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('scripts/vendor/chartjs-adapter-moment.js')?>"></script>
|
||||||
</head>
|
</head>
|
||||||
<body class="<?php echo $theme; ?> hold-transition sidebar-mini<?php if ($boxedlayout) { ?> layout-boxed<?php } ?><?php if ($auth) { ?> logged-in<?php } ?>">
|
<body class="<?=pihole.webtheme()?> hold-transition sidebar-mini<? if pihole.boxedlayout() then mg.write("layout-boxed") end ?> logged-in">
|
||||||
<noscript>
|
<noscript>
|
||||||
<!-- JS Warning -->
|
<!-- JS Warning -->
|
||||||
<div>
|
<div>
|
||||||
@@ -46,7 +42,7 @@ function startsWith($string, $startString)
|
|||||||
<div class="wrapper">
|
<div class="wrapper">
|
||||||
<header class="main-header">
|
<header class="main-header">
|
||||||
<!-- Logo -->
|
<!-- Logo -->
|
||||||
<a href="index.php" class="logo">
|
<a href="index.lp" class="logo">
|
||||||
<!-- mini logo for sidebar mini 50x50 pixels -->
|
<!-- mini logo for sidebar mini 50x50 pixels -->
|
||||||
<span class="logo-mini">P<strong>h</strong></span>
|
<span class="logo-mini">P<strong>h</strong></span>
|
||||||
<!-- logo for regular state and mobile devices -->
|
<!-- logo for regular state and mobile devices -->
|
||||||
@@ -62,21 +58,21 @@ function startsWith($string, $startString)
|
|||||||
</a>
|
</a>
|
||||||
<div class="navbar-custom-menu">
|
<div class="navbar-custom-menu">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<?php if (startsWith($scriptname, 'settings-')) { ?>
|
<? if startsWith(scriptname, 'settings-') then mg.write('\
|
||||||
<li class="nav-item">
|
<li class="nav-item">\
|
||||||
<p class="navbar-text">
|
<p class="navbar-text">\
|
||||||
Settings level: <select id="settings-level" class="form-control input-sm">
|
Settings level: <select id="settings-level" class="form-control input-sm">\
|
||||||
<option value="0">Basic</option>
|
<option value="0">Basic</option>\
|
||||||
<option value="1">Advanced</option>
|
<option value="1">Advanced</option>\
|
||||||
<option value="2">Expert</option>
|
<option value="2">Expert</option>\
|
||||||
</select>
|
</select>\
|
||||||
</p>
|
</p>\
|
||||||
</li>
|
</li>\
|
||||||
<?php } ?>
|
') end ?>
|
||||||
<li<?php echo !$hostname ? ' class="hidden"' : ''; ?>>
|
<li<? if string.len(hostname) == 0 then mg.write(' class="hidden"') end ?>>
|
||||||
<p class="navbar-text">
|
<p class="navbar-text">
|
||||||
<span class="hidden-xs">hostname:</span>
|
<span class="hidden-xs">hostname:</span>
|
||||||
<code><?php echo $hostname; ?></code>
|
<code><?=hostname?></code>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
<li class="dropdown user user-menu">
|
<li class="dropdown user user-menu">
|
||||||
@@ -112,7 +108,7 @@ function startsWith($string, $startString)
|
|||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
</header>
|
</header>
|
||||||
<?php require 'scripts/pi-hole/php/sidebar.php'; ?>
|
<? mg.include('sidebar.lp', 'r') ?>
|
||||||
<!-- Content Wrapper. Contains page content -->
|
<!-- Content Wrapper. Contains page content -->
|
||||||
<div class="content-wrapper">
|
<div class="content-wrapper">
|
||||||
<!-- Main content -->
|
<!-- Main content -->
|
||||||
@@ -1,3 +1,11 @@
|
|||||||
|
<? --[[
|
||||||
|
* 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.
|
||||||
|
*/ ]]-- ?>
|
||||||
<!-- Left side column. contains the logo and sidebar -->
|
<!-- Left side column. contains the logo and sidebar -->
|
||||||
<aside class="main-sidebar">
|
<aside class="main-sidebar">
|
||||||
<!-- sidebar: style can be found in sidebar.less -->
|
<!-- sidebar: style can be found in sidebar.less -->
|
||||||
@@ -19,38 +27,38 @@
|
|||||||
<ul class="sidebar-menu" data-widget="tree">
|
<ul class="sidebar-menu" data-widget="tree">
|
||||||
<li class="header text-uppercase">Main</li>
|
<li class="header text-uppercase">Main</li>
|
||||||
<!-- Home Page -->
|
<!-- Home Page -->
|
||||||
<li class="menu-main<?php if ($scriptname === 'index.php') { ?> active<?php } ?>">
|
<li class="menu-main<? if scriptname == 'index.lp' then mg.write(" active") end ?>">
|
||||||
<a href="index.php">
|
<a href="index.lp">
|
||||||
<i class="fa fa-fw menu-icon fa-home"></i> <span class="text-green">Dashboard</span>
|
<i class="fa fa-fw menu-icon fa-home"></i> <span class="text-green">Dashboard</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<!-- Query Log -->
|
<!-- Query Log -->
|
||||||
<li class="menu-analysis<?php if ($scriptname === 'queries.php') { ?> active<?php } ?>">
|
<li class="menu-analysis<? if scriptname == 'queries.lp' then mg.write(" active") end ?>">
|
||||||
<a href="queries.php">
|
<a href="queries.lp">
|
||||||
<i class="fa fa-fw menu-icon fa-file-alt"></i> <span class="text-green">Query Log</span>
|
<i class="fa fa-fw menu-icon fa-file-alt"></i> <span class="text-green">Query Log</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="header text-uppercase">Group Management</li>
|
<li class="header text-uppercase">Group Management</li>
|
||||||
<!-- Group Management -->
|
<!-- Group Management -->
|
||||||
<li class="menu-group<?php if ($scriptname === 'groups.php') { ?> active<?php } ?>">
|
<li class="menu-group<? if scriptname == 'groups.lp' then mg.write(" active") end ?>">
|
||||||
<a href="groups.php">
|
<a href="groups.lp">
|
||||||
<i class="fa fa-fw menu-icon fa-user-friends"></i> <span class="text-red">Groups
|
<i class="fa fa-fw menu-icon fa-user-friends"></i> <span class="text-red">Groups
|
||||||
<span class="pull-right-container">
|
<span class="pull-right-container">
|
||||||
<span class="label label-primary pull-right" id="num_groups" title="Number of defined groups"></span>
|
<span class="label label-primary pull-right" id="num_groups" title="Number of defined groups"></span>
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-group<?php if ($scriptname === 'groups-clients.php') { ?> active<?php } ?>">
|
<li class="menu-group<? if scriptname == 'groups-clients.lp' then mg.write(" active") end ?>">
|
||||||
<a href="groups-clients.php">
|
<a href="groups-clients.lp">
|
||||||
<i class="fa fa-fw menu-icon fa-laptop"></i> <span class="text-red">Clients
|
<i class="fa fa-fw menu-icon fa-laptop"></i> <span class="text-red">Clients
|
||||||
<span class="pull-right-container">
|
<span class="pull-right-container">
|
||||||
<span class="label label-primary pull-right" id="num_clients" title="Number of defined clients"></span>
|
<span class="label label-primary pull-right" id="num_clients" title="Number of defined clients"></span>
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-group<?php if ($scriptname === 'groups-domains.php') { ?> active<?php } ?>">
|
<li class="menu-group<? if scriptname == 'groups-domains.lp' then mg.write(" active") end ?>">
|
||||||
<a href="groups-domains.php">
|
<a href="groups-domains.lp">
|
||||||
<i class="fa fa-fw menu-icon fa-list"></i> <span class="text-red">Domains
|
<i class="fa fa-fw menu-icon fa-list"></i> <span class="text-red">Domains
|
||||||
<span class="pull-right-container">
|
<span class="pull-right-container">
|
||||||
<span class="label bg-red pull-right" id="num_denied" title="Number of deny rules (domains and regex)"></span>
|
<span class="label bg-red pull-right" id="num_denied" title="Number of deny rules (domains and regex)"></span>
|
||||||
@@ -58,8 +66,8 @@
|
|||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="menu-group<?php if ($scriptname === 'groups-adlists.php') { ?> active<?php } ?>">
|
<li class="menu-group<? if scriptname == 'groups-adlists.lp' then mg.write(" active") end ?>">
|
||||||
<a href="groups-adlists.php">
|
<a href="groups-adlists.lp">
|
||||||
<i class="fa fa-fw menu-icon fa-shield-alt"></i> <span class="text-red">Adlists
|
<i class="fa fa-fw menu-icon fa-shield-alt"></i> <span class="text-red">Adlists
|
||||||
<span class="pull-right-container">
|
<span class="pull-right-container">
|
||||||
<span class="label bg-blue pull-right" id="num_lists" title="Number of defined adlists"></span>
|
<span class="label bg-blue pull-right" id="num_lists" title="Number of defined adlists"></span>
|
||||||
@@ -107,7 +115,7 @@
|
|||||||
</ul>
|
</ul>
|
||||||
<!-- <a href="#" id="flip-status"><i class="fa fa-stop"></i> <span>Disable</span></a> -->
|
<!-- <a href="#" id="flip-status"><i class="fa fa-stop"></i> <span>Disable</span></a> -->
|
||||||
</li>
|
</li>
|
||||||
<li id="pihole-enable" class="menu-dns treeview"<?php if (!in_array($pistatus, array('0', '-1', '-2'))) { ?> hidden<?php } ?>>
|
<li id="pihole-enable" class="menu-dns treeview">
|
||||||
<a href="#">
|
<a href="#">
|
||||||
<i class="fa fa-fw menu-icon fa-play"></i>
|
<i class="fa fa-fw menu-icon fa-play"></i>
|
||||||
<span id="enableLabel" class="text-red">Enable Blocking
|
<span id="enableLabel" class="text-red">Enable Blocking
|
||||||
@@ -117,7 +125,7 @@
|
|||||||
</li>
|
</li>
|
||||||
<li class="header text-uppercase">System</li>
|
<li class="header text-uppercase">System</li>
|
||||||
<!-- Settings -->
|
<!-- Settings -->
|
||||||
<li class="menu-system treeview <?php if (startsWith($scriptname, 'settings-')) { ?> active<?php } ?>">
|
<li class="menu-system treeview <? if startsWith(scriptname, 'settings-') then mg.write(" active") end ?>">
|
||||||
<a href="#">
|
<a href="#">
|
||||||
<i class="fa fa-fw menu-icon fa-cogs"></i> <span>Settings</span>
|
<i class="fa fa-fw menu-icon fa-cogs"></i> <span>Settings</span>
|
||||||
<span class="pull-right-container">
|
<span class="pull-right-container">
|
||||||
@@ -125,50 +133,50 @@
|
|||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
<ul class="treeview-menu">
|
<ul class="treeview-menu">
|
||||||
<li class="<?php if ($scriptname === 'settings-system.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'settings-system.lp' then mg.write(" active") end ?>">
|
||||||
<a href="settings-system.php">
|
<a href="settings-system.lp">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-circle-info"></i> <span class="text-green">System</span>
|
<i class="fa-fw menu-icon fa-solid fa-circle-info"></i> <span class="text-green">System</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="<?php if ($scriptname === 'settings-dns.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'settings-dns.lp' then mg.write(" active") end ?>">
|
||||||
<a href="settings-dns.php">
|
<a href="settings-dns.lp">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-book-atlas"></i> <span class="text-orange">DNS</span>
|
<i class="fa-fw menu-icon fa-solid fa-book-atlas"></i> <span class="text-orange">DNS</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="<?php if ($scriptname === 'settings-dhcp.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'settings-dhcp.lp' then mg.write(" active") end ?>">
|
||||||
<a href="settings-dhcp.php">
|
<a href="settings-dhcp.lp">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-sitemap"></i> <span class="text-orange">DHCP</span>
|
<i class="fa-fw menu-icon fa-solid fa-sitemap"></i> <span class="text-orange">DHCP</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="<?php if ($scriptname === 'settings-api.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'settings-api.lp' then mg.write(" active") end ?>">
|
||||||
<a href="settings-api.php">
|
<a href="settings-api.lp">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-window-restore"></i> <span class="text-orange">Web interface / API</span>
|
<i class="fa-fw menu-icon fa-solid fa-window-restore"></i> <span class="text-orange">Web interface / API</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="<?php if ($scriptname === 'settings-privacy.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'settings-privacy.lp' then mg.write(" active") end ?>">
|
||||||
<a href="settings-privacy.php">
|
<a href="settings-privacy.lp">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-binoculars"></i> <span class="text-red">Privacy</span>
|
<i class="fa-fw menu-icon fa-solid fa-binoculars"></i> <span class="text-red">Privacy</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="<?php if ($scriptname === 'settings-advanced.php') { ?> active<?php } ?> settings-level-2">
|
<li class="<? if scriptname == 'settings-advanced.lp' then mg.write(" active") end ?> settings-level-2">
|
||||||
<a href="settings-advanced.php">
|
<a href="settings-advanced.lp">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-pen-to-square"></i> <span class="text-orange">Advanced</span>
|
<i class="fa-fw menu-icon fa-solid fa-pen-to-square"></i> <span class="text-orange">Advanced</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="<?php if ($scriptname === 'settings-teleporter.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'settings-teleporter.lp' then mg.write(" active") end ?>">
|
||||||
<a href="settings-teleporter.php">
|
<a href="settings-teleporter.lp">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-file-export"></i> <span class="text-red">Teleporter</span>
|
<i class="fa-fw menu-icon fa-solid fa-file-export"></i> <span class="text-red">Teleporter</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="<?php if ($scriptname === 'settings-dns-records.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'settings-dns-records.lp' then mg.write(" active") end ?>">
|
||||||
<a href="settings-dns-records.php">
|
<a href="settings-dns-records.lp">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-address-book"></i> <span class="text-orange">Local DNS Records</span>
|
<i class="fa-fw menu-icon fa-solid fa-address-book"></i> <span class="text-orange">Local DNS Records</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<!-- Tools -->
|
<!-- Tools -->
|
||||||
<li class="menu-system treeview<?php if (in_array($scriptname, array('messages.php', 'gravity.php', 'queryads.php', 'taillog.php', 'taillog-FTL.php', 'debug.php', 'network.php'))) { ?> active<?php } ?>">
|
<li class="menu-system treeview<? if in_array(scriptname, array('messages.lp', 'gravity.lp', 'queryads.lp', 'taillog.lp', 'taillog-FTL.lp', 'debug.lp', 'network.lp')) then mg.write(" active") end ?>">
|
||||||
<a href="#">
|
<a href="#">
|
||||||
<i class="fa fa-fw menu-icon fa-tools"></i> <span>Tools</span>
|
<i class="fa fa-fw menu-icon fa-tools"></i> <span>Tools</span>
|
||||||
<span class="warning-count hidden"></span>
|
<span class="warning-count hidden"></span>
|
||||||
@@ -178,14 +186,14 @@
|
|||||||
</a>
|
</a>
|
||||||
<ul class="treeview-menu">
|
<ul class="treeview-menu">
|
||||||
<!-- Pi-hole diagnosis -->
|
<!-- Pi-hole diagnosis -->
|
||||||
<li class="<?php if ($scriptname === 'messages.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'messages.lp' then mg.write(" active") end ?>">
|
||||||
<a href="messages.php">
|
<a href="messages.lp">
|
||||||
<i class="fa fa-fw menu-icon fa-file-medical-alt"></i> <span class="text-green">Pi-hole diagnosis</span>
|
<i class="fa fa-fw menu-icon fa-file-medical-alt"></i> <span class="text-green">Pi-hole diagnosis</span>
|
||||||
<span class="pull-right-container warning-count hidden"></span>
|
<span class="pull-right-container warning-count hidden"></span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<!-- Tail log files -->
|
<!-- Tail log files -->
|
||||||
<li class="treeview <?php if ($scriptname === 'taillog.php') { ?> active<?php } ?>">
|
<li class="treeview <? if scriptname == 'taillog.lp' then mg.write(" active") end ?>">
|
||||||
<a href="#">
|
<a href="#">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-list-ul"></i> <span class="text-green">Tail log files</span>
|
<i class="fa-fw menu-icon fa-solid fa-list-ul"></i> <span class="text-green">Tail log files</span>
|
||||||
<span class="pull-right-container">
|
<span class="pull-right-container">
|
||||||
@@ -194,46 +202,40 @@
|
|||||||
</a>
|
</a>
|
||||||
<ul class="treeview-menu">
|
<ul class="treeview-menu">
|
||||||
<!-- Tail pihole.log -->
|
<!-- Tail pihole.log -->
|
||||||
<li class="<?php if ($scriptname === 'taillog.php' && $_GET["file"] == "dnsmasq") { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'taillog.lp' and GET("file") == "dnsmasq" then mg.write(" active") end ?>">
|
||||||
<a href="taillog.php?file=dnsmasq">
|
<a href="taillog.lp?file=dnsmasq">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-list-ul"></i> <code>pihole.log</code>
|
<i class="fa-fw menu-icon fa-solid fa-list-ul"></i> <code>pihole.log</code>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<!-- Tail FTL.log -->
|
<!-- Tail FTL.log -->
|
||||||
<li class="<?php if ($scriptname === 'taillog.php' && $_GET["file"] == "ftl") { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'taillog.lp' and GET("file") == "ftl" then mg.write(" active") end ?>">
|
||||||
<a href="taillog.php?file=ftl">
|
<a href="taillog.lp?file=ftl">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-list-ul"></i> <code>FTL.log</code>
|
<i class="fa-fw menu-icon fa-solid fa-list-ul"></i> <code>FTL.log</code>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<!-- Tail civetweb.log -->
|
<!-- Tail webserver.log -->
|
||||||
<li class="<?php if ($scriptname === 'taillog.php' && $_GET["file"] == "http") { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'taillog.lp' and GET("file") == "webserver" then mg.write(" active") end ?>">
|
||||||
<a href="taillog.php?file=http">
|
<a href="taillog.lp?file=webserver">
|
||||||
<i class="fa-fw menu-icon fa-solid fa-list-ul"></i> <code>civetweb.log</code>
|
<i class="fa-fw menu-icon fa-solid fa-list-ul"></i> <code>webserver.log</code>
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<!-- Tail ph7.log -->
|
|
||||||
<li class="<?php if ($scriptname === 'taillog.php' && $_GET["file"] == "ph7") { ?> active<?php } ?>">
|
|
||||||
<a href="taillog.php?file=ph7">
|
|
||||||
<i class="fa-fw menu-icon fa-solid fa-list-ul"></i> <code>ph7.log</code>
|
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<!-- Run gravity.sh -->
|
<!-- Run gravity.sh -->
|
||||||
<li class="<?php if ($scriptname === 'gravity.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'gravity.lp' then mg.write(" active") end ?>">
|
||||||
<a href="gravity.php">
|
<a href="gravity.lp">
|
||||||
<i class="fa fa-fw menu-icon fa-arrow-circle-down"></i> <span class="text-red">Update Gravity</span>
|
<i class="fa fa-fw menu-icon fa-arrow-circle-down"></i> <span class="text-red">Update Gravity</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<!-- Query Lists -->
|
<!-- Query Lists -->
|
||||||
<li class="<?php if ($scriptname === 'queryads.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'queryads.lp' then mg.write(" active") end ?>">
|
||||||
<a href="queryads.php">
|
<a href="queryads.lp">
|
||||||
<i class="fa fa-fw menu-icon fa-search"></i> <span class="text-red">Search Adlists</span>
|
<i class="fa fa-fw menu-icon fa-search"></i> <span class="text-red">Search Adlists</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<!-- Network -->
|
<!-- Network -->
|
||||||
<li class="<?php if ($scriptname === 'network.php') { ?> active<?php } ?>">
|
<li class="<? if scriptname == 'network.lp' then mg.write(" active") end ?>">
|
||||||
<a href="network.php">
|
<a href="network.lp">
|
||||||
<i class="fa fa-fw menu-icon fa-network-wired"></i> <span class="text-red">Network</span>
|
<i class="fa fa-fw menu-icon fa-network-wired"></i> <span class="text-red">Network</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
57
scripts/pi-hole/lua/theme.lua
Normal file
57
scripts/pi-hole/lua/theme.lua
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
--[[
|
||||||
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
|
* (c) 2023 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.
|
||||||
|
]]--
|
||||||
|
|
||||||
|
available_themes = {}
|
||||||
|
|
||||||
|
available_themes['default-light'] = {
|
||||||
|
name = 'Pi-hole default theme (light, default)',
|
||||||
|
dark = false,
|
||||||
|
color = '#367fa9'
|
||||||
|
}
|
||||||
|
available_themes['default-dark'] = {
|
||||||
|
name = 'Pi-hole midnight theme (dark)',
|
||||||
|
dark = true,
|
||||||
|
color = '#272c30'
|
||||||
|
}
|
||||||
|
|
||||||
|
available_themes['default-darker'] = {
|
||||||
|
name = 'Pi-hole deep-midnight theme (dark)',
|
||||||
|
dark = true,
|
||||||
|
color = '#2e6786'
|
||||||
|
}
|
||||||
|
|
||||||
|
available_themes['high-contrast'] = {
|
||||||
|
name = 'High contrast light',
|
||||||
|
dark = false,
|
||||||
|
color = '#0078a0'
|
||||||
|
}
|
||||||
|
|
||||||
|
available_themes['high-contrast-dark'] = {
|
||||||
|
name = 'High contrast dark',
|
||||||
|
dark = false,
|
||||||
|
color = '#0077c7'
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Option to have the theme go with the device dark mode setting, always set the
|
||||||
|
-- background to black to avoid flashing
|
||||||
|
available_themes['default-auto'] = {
|
||||||
|
name = 'Pi-hole auto theme (light/dark)',
|
||||||
|
dark = true,
|
||||||
|
color = '#367fa9'
|
||||||
|
}
|
||||||
|
|
||||||
|
available_themes['lcars'] = {
|
||||||
|
name = 'Star Trek LCARS theme (dark)',
|
||||||
|
dark = true,
|
||||||
|
color = '#4488FF'
|
||||||
|
}
|
||||||
|
|
||||||
|
-- Get properties of currenty selected theme by asking FTL what the currently
|
||||||
|
-- enabled theme is
|
||||||
|
theme = available_themes[pihole.webtheme()]
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
<?php
|
|
||||||
$scriptname = basename($_SERVER['SCRIPT_FILENAME']);
|
|
||||||
$hostname = gethostname() ? gethostname() : '';
|
|
||||||
?>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<!--
|
|
||||||
* 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.
|
|
||||||
-->
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<!-- Usually browsers proactively perform domain name resolution on links that the user may choose to follow. We disable DNS prefetching here -->
|
|
||||||
<meta http-equiv="x-dns-prefetch-control" content="off">
|
|
||||||
<meta http-equiv="cache-control" content="max-age=60,private">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
||||||
|
|
||||||
<title>Pi-hole<?php echo $hostname ? ' - '.$hostname : ''; ?></title>
|
|
||||||
|
|
||||||
<link rel="apple-touch-icon" href="img/favicons/apple-touch-icon.png" sizes="180x180">
|
|
||||||
<link rel="icon" href="img/favicons/favicon-32x32.png" sizes="32x32" type="image/png">
|
|
||||||
<link rel="icon" href="img/favicons/favicon-16x16.png" sizes="16x16" type="image/png">
|
|
||||||
<link rel="manifest" href="img/favicons/manifest.json">
|
|
||||||
<link rel="mask-icon" href="img/favicons/safari-pinned-tab.svg" color="<?php echo $theme_color; ?>">
|
|
||||||
<link rel="shortcut icon" href="img/favicons/favicon.ico">
|
|
||||||
<meta name="msapplication-TileColor" content="<?php echo $theme_color; ?>">
|
|
||||||
<meta name="msapplication-TileImage" content="img/favicons/mstile-150x150.png">
|
|
||||||
|
|
||||||
<!-- Theme styles -->
|
|
||||||
<meta name="theme-color" content="<?php echo $theme_color; ?>">
|
|
||||||
|
|
||||||
<?php if ($darkmode) { ?>
|
|
||||||
<style>
|
|
||||||
html { background-color: #000; }
|
|
||||||
</style>
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
<!-- Theme fonts -->
|
|
||||||
<?php if ($theme == 'lcars') { ?>
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/fonts/ubuntu-mono/ubuntu-mono.css'); ?>">
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/fonts/antonio/antonio.css'); ?>">
|
|
||||||
<?php } else { ?>
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/SourceSansPro/SourceSansPro.css'); ?>">
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
<!-- Common styles -->
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/bootstrap/css/bootstrap.min.css'); ?>">
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/AdminLTE.min.css'); ?>">
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/select2.min.css'); ?>">
|
|
||||||
|
|
||||||
<?php if (in_array($scriptname, array('groups.php', 'groups-adlists.php', 'groups-clients.php', 'groups-domains.php'))) { ?>
|
|
||||||
<!-- Group management styles -->
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/animate.min.css'); ?>">
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/bootstrap-select.min.css'); ?>">
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/vendor/bootstrap-toggle.min.css'); ?>">
|
|
||||||
<?php } ?>
|
|
||||||
|
|
||||||
<!-- Theme styles -->
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/pi-hole.css'); ?>">
|
|
||||||
<link rel="stylesheet" href="<?php echo fileversion('style/themes/'.$theme.'.css'); ?>">
|
|
||||||
|
|
||||||
<noscript><link rel="stylesheet" href="<?php echo fileversion('style/vendor/js-warn.css'); ?>"></noscript>
|
|
||||||
|
|
||||||
<!-- scripts -->
|
|
||||||
<script src="<?php echo fileversion('scripts/vendor/jquery.min.js'); ?>"></script>
|
|
||||||
<script src="<?php echo fileversion('style/vendor/bootstrap/js/bootstrap.min.js'); ?>"></script>
|
|
||||||
<script src="<?php echo fileversion('scripts/vendor/adminlte.min.js'); ?>"></script>
|
|
||||||
<script src="<?php echo fileversion('scripts/vendor/bootstrap-notify.min.js'); ?>"></script>
|
|
||||||
<script src="<?php echo fileversion('style/vendor/font-awesome/js/all.min.js'); ?>"></script>
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/utils.js'); ?>"></script>
|
|
||||||
21
settings-advanced.lp
Normal file
21
settings-advanced.lp
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<? --[[
|
||||||
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
|
* (c) 2023 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.
|
||||||
|
--]]
|
||||||
|
|
||||||
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
|
?>
|
||||||
|
<div class="row" id="advanced-content">
|
||||||
|
<!-- dynamically filled with content -->
|
||||||
|
<div class="overlay" id="advanced-overlay">
|
||||||
|
<i class="fa fa-sync fa-spin"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings-advanced.js')?>"></script>
|
||||||
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings.js')?>"></script>
|
||||||
|
|
||||||
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
<?php
|
|
||||||
/*
|
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
|
||||||
* (c) 2023 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_authenticated.php';
|
|
||||||
?>
|
|
||||||
<div class="row" id="advanced-content">
|
|
||||||
<!-- dynamically filled with content -->
|
|
||||||
<div class="overlay" id="advanced-overlay">
|
|
||||||
<i class="fa fa-sync fa-spin"></i>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings-advanced.js'); ?>"></script>
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings.js'); ?>"></script>
|
|
||||||
|
|
||||||
<?php
|
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
<?php
|
<? --[[
|
||||||
/*
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
* (c) 2023 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* (c) 2023 Pi-hole, LLC (https://pi-hole.net)
|
* Network-wide ad blocking via your own hardware.
|
||||||
* Network-wide ad blocking via your own hardware.
|
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
--]]
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
@@ -41,12 +40,12 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<div>
|
<div>
|
||||||
<input type="checkbox" name="querylog-permitted" id="querylog-permitted" <?php if ($queryLog === 'permittedonly' || $queryLog === 'all') { ?>checked<?php } ?>>
|
<input type="checkbox" name="querylog-permitted" id="querylog-permitted" <? if queryLog == 'permittedonly' or queryLog == 'all' then mg.write("checked") end ?>>
|
||||||
<label for="querylog-permitted"><strong>Show permitted domain entries</strong></label>
|
<label for="querylog-permitted"><strong>Show permitted domain entries</strong></label>
|
||||||
<p class="help-block">This will show all permitted domain entries in the query log.</p>
|
<p class="help-block">This will show all permitted domain entries in the query log.</p>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<input type="checkbox" name="querylog-blocked" id="querylog-blocked" <?php if ($queryLog === 'blockedonly' || $queryLog === 'all') { ?>checked<?php } ?>>
|
<input type="checkbox" name="querylog-blocked" id="querylog-blocked" <? if queryLog == 'blockedonly' or queryLog == 'all' then mg.write("checked") end ?>>
|
||||||
<label for="querylog-blocked"><strong>Show blocked domain entries</strong></label>
|
<label for="querylog-blocked"><strong>Show blocked domain entries</strong></label>
|
||||||
<p class="help-block">This will show all blocked domain entries in the query log.</p>
|
<p class="help-block">This will show all blocked domain entries in the query log.</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -172,11 +171,9 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/vendor/jquery.confirm.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/jquery.confirm.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/vendor/qrious.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/qrious.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings-api.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings-api.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
<?php
|
<? --[[
|
||||||
/*
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
* (c) 2023 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* (c) 2023 Pi-hole, LLC (https://pi-hole.net)
|
* Network-wide ad blocking via your own hardware.
|
||||||
* Network-wide ad blocking via your own hardware.
|
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
--]]
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<!-- DHCP Settings Box -->
|
<!-- DHCP Settings Box -->
|
||||||
@@ -199,9 +198,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
<button type="submit" class="btn btn-primary pull-right">Save</button>
|
<button type="submit" class="btn btn-primary pull-right">Save</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings-dhcp.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings-dhcp.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
<?php
|
<? --[[
|
||||||
/*
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
* (c) 2023 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* (c) 2023 Pi-hole, LLC (https://pi-hole.net)
|
* Network-wide ad blocking via your own hardware.
|
||||||
* Network-wide ad blocking via your own hardware.
|
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
--]]
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
@@ -130,11 +129,9 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="<?php echo fileversion('scripts/vendor/jquery.confirm.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/jquery.confirm.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings-dns-records.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings-dns-records.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/ip-address-sorting.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/ip-address-sorting.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
<?php
|
<? --[[
|
||||||
/*
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
* (c) 2023 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* (c) 2023 Pi-hole, LLC (https://pi-hole.net)
|
* Network-wide ad blocking via your own hardware.
|
||||||
* Network-wide ad blocking via your own hardware.
|
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
--]]
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-6">
|
<div class="col-lg-6">
|
||||||
@@ -237,9 +236,7 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings-dns.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings-dns.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
<?php
|
<? --[[
|
||||||
/*
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
* (c) 2023 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* (c) 2023 Pi-hole, LLC (https://pi-hole.net)
|
* Network-wide ad blocking via your own hardware.
|
||||||
* Network-wide ad blocking via your own hardware.
|
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
--]]
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
@@ -270,11 +269,8 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
<div class="box-body">
|
<div class="box-body">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
<?php if ($piHoleLogging) { ?>
|
<button type="button" id="disableLoggingButton" class="btn btn-warning confirm-disablelogging-noflush btn-block" style="display: none">Disable query logging</button>
|
||||||
<button type="button" class="btn btn-warning confirm-disablelogging-noflush btn-block">Disable query logging</button>
|
<button type="button" id="enableLoggingButton" class="btn btn-success btn-block" style="display: none">Enable query logging</button>
|
||||||
<?php } else { ?>
|
|
||||||
<button type="submit" class="btn btn-success btn-block">Enable query logging</button>
|
|
||||||
<?php } ?>
|
|
||||||
</div>
|
</div>
|
||||||
<p class="hidden-md hidden-lg"></p>
|
<p class="hidden-md hidden-lg"></p>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
@@ -300,10 +296,8 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script src="<?php echo fileversion('scripts/vendor/jquery.confirm.min.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/vendor/jquery.confirm.min.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings-system.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings-system.js')?>"></script>
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/settings.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/settings.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
@@ -1097,7 +1097,7 @@ table.dataTable tbody > tr > .selected {
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
letter-spacing: .5em;
|
letter-spacing: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.totp_token::placeholder {
|
.totp_token::placeholder {
|
||||||
|
|||||||
@@ -1,14 +1,13 @@
|
|||||||
<?php
|
<? --[[
|
||||||
/*
|
|
||||||
* Pi-hole: A black hole for Internet advertisements
|
* Pi-hole: A black hole for Internet advertisements
|
||||||
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
* (c) 2017 Pi-hole, LLC (https://pi-hole.net)
|
||||||
* Network-wide ad blocking via your own hardware.
|
* Network-wide ad blocking via your own hardware.
|
||||||
*
|
*
|
||||||
* This file is copyright under the latest version of the EUPL.
|
* This file is copyright under the latest version of the EUPL.
|
||||||
* Please see LICENSE file for your rights under this license.
|
* Please see LICENSE file for your rights under this license.
|
||||||
*/
|
*/ ]]--
|
||||||
|
|
||||||
require 'scripts/pi-hole/php/header_authenticated.php';
|
mg.include('scripts/pi-hole/lua/header_authenticated.lp','r')
|
||||||
?>
|
?>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@@ -33,8 +32,6 @@ require 'scripts/pi-hole/php/header_authenticated.php';
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="<?php echo fileversion('scripts/pi-hole/js/taillog.js'); ?>"></script>
|
<script src="<?=pihole.fileversion('scripts/pi-hole/js/taillog.js')?>"></script>
|
||||||
|
|
||||||
<?php
|
<? mg.include('scripts/pi-hole/lua/footer.lp','r')?>
|
||||||
require 'scripts/pi-hole/php/footer.php';
|
|
||||||
?>
|
|
||||||
Reference in New Issue
Block a user