Port PHP to Lua Pages

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER
2023-04-26 21:57:11 +02:00
parent fb64759fdf
commit 7156cc541f
37 changed files with 458 additions and 463 deletions

View File

@@ -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;

View File

@@ -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';
?>

View File

@@ -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"
]
}
} }

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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"
} }

View File

@@ -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';
?>

View File

@@ -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>

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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"
}, },

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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

View File

@@ -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;

View File

@@ -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

View File

@@ -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.
* *

View File

@@ -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();
}); });

View File

@@ -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>

View 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>

View File

@@ -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 -->

View File

@@ -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&nbsp;&nbsp;&nbsp; <span id="enableLabel" class="text-red">Enable Blocking&nbsp;&nbsp;&nbsp;
@@ -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>

View 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()]

View File

@@ -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
View 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')?>

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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';
?>

View File

@@ -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 {

View File

@@ -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';
?>