diff options
author | Simon Rettberg | 2019-11-27 11:22:11 +0100 |
---|---|---|
committer | Simon Rettberg | 2019-11-27 11:22:11 +0100 |
commit | 63c02d5082528d9d0c69520e0034cbb52522208d (patch) | |
tree | 0db60510494949f368b47d5e8da3986a20eb971a /modules-available/locations/clientscript.js | |
parent | [rebootcontrol] Start adding WOL functionality (diff) | |
download | slx-admin-63c02d5082528d9d0c69520e0034cbb52522208d.tar.gz slx-admin-63c02d5082528d9d0c69520e0034cbb52522208d.tar.xz slx-admin-63c02d5082528d9d0c69520e0034cbb52522208d.zip |
[js_ip/locations] Mode cidr/ip handling to own module
Diffstat (limited to 'modules-available/locations/clientscript.js')
-rw-r--r-- | modules-available/locations/clientscript.js | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/modules-available/locations/clientscript.js b/modules-available/locations/clientscript.js deleted file mode 100644 index ad3e6c43..00000000 --- a/modules-available/locations/clientscript.js +++ /dev/null @@ -1,66 +0,0 @@ -function ip2long(IP) { - var i = 0; - IP = IP.match(/^([1-9]\d*|0[0-7]*|0x[\da-f]+)(?:\.([1-9]\d*|0[0-7]*|0x[\da-f]+))?(?:\.([1-9]\d*|0[0-7]*|0x[\da-f]+))?(?:\.([1-9]\d*|0[0-7]*|0x[\da-f]+))?$/i); - if (!IP) { - return false; - } - IP.push(0, 0, 0, 0); - for (i = 1; i < 5; i += 1) { - IP[i] = parseInt(IP[i]) || 0; - if (IP[i] < 0 || IP[i] > 255) - return false; - } - return IP[1] * 16777216 + IP[2] * 65536 + IP[3] * 256 + IP[4] * 1; -} - -function long2ip(a) { - return [ - a >>> 24, - 255 & a >>> 16, - 255 & a >>> 8, - 255 & a - ].join('.'); -} - -function cidrToRange(cidr) { - var range = [2]; - cidr = cidr.split('/'); - var cidr_1 = parseInt(cidr[1]); - if (cidr_1 <= 0 || cidr_1 > 32) - return false; - var param = ip2long(cidr[0]); - if (param === false) - return false; - range[0] = long2ip((param) & ((-1 << (32 - cidr_1)))); - var start = ip2long(range[0]); - range[1] = long2ip(start + Math.pow(2, (32 - cidr_1)) - 1); - return range; -} - -/** - * Add listener to start IP input; when it loses focus, see if we have a - * CIDR notation and fill out start+end field. - */ -function slxAttachCidr() { - $('.cidrmagic').each(function () { - var t = $(this); - var s = t.find('input.cidrstart'); - var e = t.find('input.cidrend'); - if (!s || !e) - return; - t.removeClass('cidrmagic'); - s.focusout(function () { - var val = s.val(); - if (val.match(/^[0-9]+\.[0-9]+(\.[0-9]+(\.[0-9]+)?)?\/[0-9]{2}$/)) { - var res = cidrToRange(val); - if (res === false) - return; - s.val(res[0]); - e.val(res[1]); - } - }); - }); -} - -// Attach -slxAttachCidr();
\ No newline at end of file |