From a027715247b02fee61ae60bf0fa697985a54362a Mon Sep 17 00:00:00 2001 From: DL6ER Date: Thu, 30 May 2019 12:43:53 +0200 Subject: [PATCH] Move ip-address-sorting into its own file Signed-off-by: DL6ER --- network.php | 1 + scripts/pi-hole/js/ip-address-sorting.js | 110 +++++++++++++++++++++++ scripts/pi-hole/js/network.js | 105 ---------------------- 3 files changed, 111 insertions(+), 105 deletions(-) create mode 100644 scripts/pi-hole/js/ip-address-sorting.js diff --git a/network.php b/network.php index cc783f3a..e92f0ef6 100644 --- a/network.php +++ b/network.php @@ -73,4 +73,5 @@ $token = $_SESSION['token']; ?> + diff --git a/scripts/pi-hole/js/ip-address-sorting.js b/scripts/pi-hole/js/ip-address-sorting.js new file mode 100644 index 00000000..552c47e0 --- /dev/null +++ b/scripts/pi-hole/js/ip-address-sorting.js @@ -0,0 +1,110 @@ +/* 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. */ +jQuery.extend( jQuery.fn.dataTableExt.oSort, +{ + "ip-address-pre": function ( a ) + { + if (!a) { return 0 } + var i, item; + var m = a.split("."), + n = a.split(":"), + x = "", + xa = ""; + if (m.length == 4) + { + // IPV4 + for(i = 0; i < m.length; i++) + { + item = m[i]; + + if(item.length == 1) + { + x += "00" + item; + } + else if(item.length == 2) + { + x += "0" + item; + } + else + { + x += item; + } + } + } + else if (n.length > 0) + { + // IPV6 + var count = 0; + for(i = 0; i < n.length; i++) + { + item = n[i]; + + if (i > 0) + { + xa += ":"; + } + + if(item.length === 0) + { + count += 0; + } + else if(item.length == 1) + { + xa += "000" + item; + count += 4; + } + else if(item.length == 2) + { + xa += "00" + item; + count += 4; + } + else if(item.length == 3) + { + xa += "0" + item; + count += 4; + } + else + { + xa += item; + count += 4; + } + } + + // Padding the :: + n = xa.split(":"); + var paddDone = 0; + + for (i = 0; i < n.length; i++) + { + item = n[i]; + if (item.length === 0 && paddDone === 0) + { + for(var padding = 0 ; padding < (32-count) ; padding++) + { + x += "0"; + paddDone = 1; + } + } + else + { + x += item; + } + } + } + return x; + }, + + "ip-address-asc": function ( a, b ) + { + return ((a < b) ? -1 : ((a > b) ? 1 : 0)); + }, + + "ip-address-desc": function ( a, b ) + { + return ((a < b) ? 1 : ((a > b) ? -1 : 0)); + } +}); diff --git a/scripts/pi-hole/js/network.js b/scripts/pi-hole/js/network.js index ed14ca70..352f6046 100644 --- a/scripts/pi-hole/js/network.js +++ b/scripts/pi-hole/js/network.js @@ -61,111 +61,6 @@ function mixColors(ratio, rgb1, rgb2) (1.0-ratio)*rgb1[2]+ratio*rgb2[2]]; } -jQuery.extend( jQuery.fn.dataTableExt.oSort, -{ - "ip-address-pre": function ( a ) - { - if (!a) { return 0 } - var i, item; - var m = a.split("."), - n = a.split(":"), - x = "", - xa = ""; - if (m.length == 4) - { - // IPV4 - for(i = 0; i < m.length; i++) - { - item = m[i]; - - if(item.length == 1) - { - x += "00" + item; - } - else if(item.length == 2) - { - x += "0" + item; - } - else - { - x += item; - } - } - } - else if (n.length > 0) - { - // IPV6 - var count = 0; - for(i = 0; i < n.length; i++) - { - item = n[i]; - - if (i > 0) - { - xa += ":"; - } - - if(item.length === 0) - { - count += 0; - } - else if(item.length == 1) - { - xa += "000" + item; - count += 4; - } - else if(item.length == 2) - { - xa += "00" + item; - count += 4; - } - else if(item.length == 3) - { - xa += "0" + item; - count += 4; - } - else - { - xa += item; - count += 4; - } - } - - // Padding the :: - n = xa.split(":"); - var paddDone = 0; - - for (i = 0; i < n.length; i++) - { - item = n[i]; - if (item.length === 0 && paddDone === 0) - { - for(var padding = 0 ; padding < (32-count) ; padding++) - { - x += "0"; - paddDone = 1; - } - } - else - { - x += item; - } - } - } - return x; - }, - - "ip-address-asc": function ( a, b ) - { - return ((a < b) ? -1 : ((a > b) ? 1 : 0)); - }, - - "ip-address-desc": function ( a, b ) - { - return ((a < b) ? 1 : ((a > b) ? -1 : 0)); - } -}); - $(document).ready(function() { tableApi = $("#network-entries").DataTable( { "rowCallback": function( row, data, index )