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 )