2018-05-02 11:11:22 +00:00
var url = "/inc/script.js" ;
var cur _url = window . location . href . split ( '/' ) . pop ( ) ;
cur _url = cur _url . split ( '?' ) ;
var intervalId ;
2019-09-20 06:42:19 +00:00
$ ( function ( ) {
$ ( '.menu li ul li' ) . each ( function ( ) {
var link = $ ( this ) . find ( 'a' ) . attr ( 'href' ) ;
var link2 = link . split ( '/' ) [ 2 ]
2020-02-05 08:15:57 +00:00
if ( cur _url [ 1 ] == null ) {
cur _url [ 1 ] = 'haproxy' ;
}
if ( cur _url [ 0 ] == link2 && cur _url [ 1 ] . split ( '&' ) [ 0 ] != 'service=keepalived' && cur _url [ 1 ] . split ( '&' ) [ 0 ] != 'service=nginx' ) {
2020-02-02 14:23:00 +00:00
$ ( this ) . parent ( ) . css ( 'display' , 'contents' ) ;
$ ( this ) . parent ( ) . css ( 'font-size' , '13px' ) ;
$ ( this ) . parent ( ) . css ( 'top' , '0' ) ;
$ ( this ) . parent ( ) . css ( 'left' , '0' ) ;
$ ( this ) . parent ( ) . children ( ) . css ( 'margin-left' , '-20px' ) ;
$ ( this ) . parent ( ) . find ( 'a' ) . css ( 'padding-left' , '20px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
2020-02-05 08:15:57 +00:00
} else if ( cur _url [ 0 ] == 'versions.py' && cur _url [ 1 ] . split ( '&' ) [ 0 ] == 'service=keepalived' && link2 == 'versions.py?service=keepalived' ) {
2020-02-02 14:23:00 +00:00
$ ( this ) . parent ( ) . css ( 'display' , 'contents' ) ;
$ ( this ) . parent ( ) . css ( 'font-size' , '13px' ) ;
$ ( this ) . parent ( ) . css ( 'top' , '0' ) ;
$ ( this ) . parent ( ) . css ( 'left' , '0' ) ;
$ ( this ) . parent ( ) . children ( ) . css ( 'margin-left' , '-20px' ) ;
$ ( this ) . parent ( ) . find ( 'a' ) . css ( 'padding-left' , '20px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
2020-02-05 08:15:57 +00:00
} else if ( cur _url [ 0 ] == 'config.py' && cur _url [ 1 ] . split ( '&' ) [ 0 ] == 'service=keepalived' && link2 == 'config.py?service=keepalived' ) {
$ ( this ) . parent ( ) . css ( 'display' , 'contents' ) ;
$ ( this ) . parent ( ) . css ( 'font-size' , '13px' ) ;
$ ( this ) . parent ( ) . css ( 'top' , '0' ) ;
$ ( this ) . parent ( ) . css ( 'left' , '0' ) ;
$ ( this ) . parent ( ) . children ( ) . css ( 'margin-left' , '-20px' ) ;
$ ( this ) . parent ( ) . find ( 'a' ) . css ( 'padding-left' , '20px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} else if ( cur _url [ 0 ] == 'versions.py' && cur _url [ 1 ] . split ( '&' ) [ 0 ] == 'service=nginx' && link2 == 'versions.py?service=nginx' ) {
$ ( this ) . parent ( ) . css ( 'display' , 'contents' ) ;
$ ( this ) . parent ( ) . css ( 'font-size' , '13px' ) ;
$ ( this ) . parent ( ) . css ( 'top' , '0' ) ;
$ ( this ) . parent ( ) . css ( 'left' , '0' ) ;
$ ( this ) . parent ( ) . children ( ) . css ( 'margin-left' , '-20px' ) ;
$ ( this ) . parent ( ) . find ( 'a' ) . css ( 'padding-left' , '20px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} else if ( cur _url [ 0 ] == 'config.py' && cur _url [ 1 ] . split ( '&' ) [ 0 ] == 'service=nginx' && link2 == 'config.py?service=nginx' ) {
$ ( this ) . parent ( ) . css ( 'display' , 'contents' ) ;
$ ( this ) . parent ( ) . css ( 'font-size' , '13px' ) ;
$ ( this ) . parent ( ) . css ( 'top' , '0' ) ;
$ ( this ) . parent ( ) . css ( 'left' , '0' ) ;
$ ( this ) . parent ( ) . children ( ) . css ( 'margin-left' , '-20px' ) ;
$ ( this ) . parent ( ) . find ( 'a' ) . css ( 'padding-left' , '20px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} else if ( cur _url [ 0 ] == 'hapservers.py' && cur _url [ 1 ] . split ( '&' ) [ 0 ] == 'service=nginx' && link2 == 'hapservers.py?service=nginx' ) {
2020-02-02 14:23:00 +00:00
$ ( this ) . parent ( ) . css ( 'display' , 'contents' ) ;
$ ( this ) . parent ( ) . css ( 'font-size' , '13px' ) ;
$ ( this ) . parent ( ) . css ( 'top' , '0' ) ;
$ ( this ) . parent ( ) . css ( 'left' , '0' ) ;
$ ( this ) . parent ( ) . children ( ) . css ( 'margin-left' , '-20px' ) ;
$ ( this ) . parent ( ) . find ( 'a' ) . css ( 'padding-left' , '20px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
2020-03-17 18:20:59 +00:00
} else if ( cur _url [ 0 ] == 'viewsttats.py' && cur _url [ 1 ] . split ( '&' ) [ 0 ] == 'service=nginx' && link2 == 'viewsttats.py?service=nginx' ) {
$ ( this ) . parent ( ) . css ( 'display' , 'contents' ) ;
$ ( this ) . parent ( ) . css ( 'font-size' , '13px' ) ;
$ ( this ) . parent ( ) . css ( 'top' , '0' ) ;
$ ( this ) . parent ( ) . css ( 'left' , '0' ) ;
$ ( this ) . parent ( ) . children ( ) . css ( 'margin-left' , '-20px' ) ;
$ ( this ) . parent ( ) . find ( 'a' ) . css ( 'padding-left' , '20px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
2020-07-15 04:16:31 +00:00
} else if ( cur _url [ 0 ] == 'smon.py' && cur _url [ 1 ] . split ( '&' ) [ 0 ] == 'action=view' && link2 == 'smon.py?action=view' ) {
$ ( this ) . parent ( ) . css ( 'display' , 'contents' ) ;
$ ( this ) . parent ( ) . css ( 'font-size' , '13px' ) ;
$ ( this ) . parent ( ) . css ( 'top' , '0' ) ;
$ ( this ) . parent ( ) . css ( 'left' , '0' ) ;
$ ( this ) . parent ( ) . children ( ) . css ( 'margin-left' , '-20px' ) ;
$ ( this ) . parent ( ) . find ( 'a' ) . css ( 'padding-left' , '20px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} else if ( cur _url [ 0 ] == 'smon.py' && cur _url [ 1 ] . split ( '&' ) [ 0 ] == 'action=add' && link2 == 'smon.py?action=add' ) {
$ ( this ) . parent ( ) . css ( 'display' , 'contents' ) ;
$ ( this ) . parent ( ) . css ( 'font-size' , '13px' ) ;
$ ( this ) . parent ( ) . css ( 'top' , '0' ) ;
$ ( this ) . parent ( ) . css ( 'left' , '0' ) ;
$ ( this ) . parent ( ) . children ( ) . css ( 'margin-left' , '-20px' ) ;
$ ( this ) . parent ( ) . find ( 'a' ) . css ( 'padding-left' , '20px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
}
2019-09-20 06:42:19 +00:00
} ) ;
} ) ;
2018-07-23 07:08:43 +00:00
jQuery . expr [ ':' ] . regex = function ( elem , index , match ) {
var matchParams = match [ 3 ] . split ( ',' ) ,
validLabels = /^(data|css):/ ,
attr = {
method : matchParams [ 0 ] . match ( validLabels ) ?
matchParams [ 0 ] . split ( ':' ) [ 0 ] : 'attr' ,
property : matchParams . shift ( ) . replace ( validLabels , '' )
} ,
regexFlags = 'ig' ,
regex = new RegExp ( matchParams . join ( '' ) . replace ( /^\s+|\s+$/g , '' ) , regexFlags ) ;
return regex . test ( jQuery ( elem ) [ attr . method ] ( attr . property ) ) ;
}
2018-07-27 03:45:49 +00:00
window . onblur = function ( ) {
window . onfocus = function ( ) {
2018-08-03 19:17:03 +00:00
if ( Cookies . get ( 'auto-refresh-pause' ) == "0" && Cookies . get ( 'auto-refresh' ) > 5000 ) {
2018-07-27 03:45:49 +00:00
if ( cur _url [ 0 ] == "logs.py" ) {
showLog ( ) ;
} else if ( cur _url [ 0 ] == "viewsttats.py" ) {
showStats ( )
} else if ( cur _url [ 0 ] == "overview.py" ) {
showOverview ( ) ;
} else if ( cur _url [ 0 ] == "viewlogs.py" ) {
viewLogs ( ) ;
2018-08-05 14:37:14 +00:00
} else if ( cur _url [ 0 ] == "metrics.py" ) {
2019-10-06 06:50:12 +00:00
showMetrics ( ) ;
2018-08-05 14:37:14 +00:00
}
2018-07-27 03:45:49 +00:00
}
}
} ;
2018-08-28 10:45:09 +00:00
if ( Cookies . get ( 'restart' ) ) {
var ip = Cookies . get ( 'restart' ) ;
$ . ajax ( {
url : "options.py" ,
data : {
act : "checkrestart" ,
serv : ip ,
token : $ ( '#token' ) . val ( )
} ,
2019-12-04 13:38:07 +00:00
type : "POST" ,
2018-08-28 10:45:09 +00:00
success : function ( data ) {
if ( data . indexOf ( 'ok' ) != '-1' ) {
$ ( "#apply" ) . css ( 'display' , 'block' ) ;
$ ( "#apply_div" ) . css ( 'width' , '850px' ) ;
2019-09-23 18:42:32 +00:00
if ( cur _url [ 0 ] == "hapservers.py" ) {
2018-08-28 10:45:09 +00:00
$ ( "#apply_div" ) . css ( 'width' , '650px' ) ;
2019-09-23 18:42:32 +00:00
$ ( "#apply_div" ) . html ( "You made changes to the server: " + ip + ". Changes will take effect only after<a id='" + ip + "' class='restart' title='Restart HAproxy service' onclick=\"confirmAjaxAction('stop', 'hap', '" + ip + "')\">restart</a><a href='#' title='close' id='apply_close' style='float: right'><b>X</b></a>" ) ;
2018-08-28 10:45:09 +00:00
} else {
2019-09-23 18:42:32 +00:00
$ ( "#apply_div" ) . html ( "You made changes to the server: " + ip + ". Changes will take effect only after restart. <a href='hapservers.py' title='Overview'>Go to the HAProxy Overview page and restart</a><a href='#' title='close' id='apply_close' style='float: right'><b>X</b></a>" ) ;
2018-08-28 10:45:09 +00:00
}
2018-08-30 05:21:03 +00:00
$ . getScript ( '/inc/overview.js' ) ;
2018-08-28 10:45:09 +00:00
}
}
} ) ;
}
2018-04-09 10:27:01 +00:00
function autoRefreshStyle ( autoRefresh ) {
var margin ;
2018-09-07 07:44:23 +00:00
if ( cur _url [ 0 ] == "overview.py" || cur _url [ 0 ] == "waf.py" || cur _url [ 0 ] == "metrics.py" ) {
2018-05-02 11:11:22 +00:00
if ( autoRefresh < 60000 ) {
autoRefresh = 60000 ;
}
}
2018-04-09 10:27:01 +00:00
autoRefresh = autoRefresh / 1000 ;
if ( autoRefresh == 60 ) {
timeRange = " minute"
autoRefresh = autoRefresh / 60 ;
} else if ( autoRefresh > 60 && autoRefresh < 3600 ) {
timeRange = " minutes"
autoRefresh = autoRefresh / 60 ;
} else if ( autoRefresh >= 3600 && autoRefresh < 86401 ) {
timeRange = " hours"
2018-05-05 12:54:33 +00:00
autoRefresh = autoRefresh / 3600 ;
2018-04-09 10:27:01 +00:00
} else {
timeRange = " seconds" ;
}
$ ( '#1' ) . text ( autoRefresh + timeRange ) ;
$ ( '#0' ) . text ( autoRefresh + timeRange ) ;
$ ( '.auto-refresh-pause' ) . css ( 'display' , 'inline' ) ;
2018-04-11 09:27:57 +00:00
$ ( '.auto-refresh-resume' ) . css ( 'display' , 'none' ) ;
2018-05-05 12:54:33 +00:00
$ ( '.auto-refresh-pause' ) . css ( 'margin-left' , "-25px" ) ;
$ ( '.auto-refresh-resume' ) . css ( 'margin-left' , "-25px" ) ;
2020-07-02 14:44:13 +00:00
$ ( '#browse_histroy' ) . css ( "border-bottom" , "none" ) ;
2018-04-09 10:27:01 +00:00
$ ( '.auto-refresh img' ) . remove ( ) ;
}
2018-04-08 07:33:09 +00:00
function setRefreshInterval ( interval ) {
if ( interval == "0" ) {
2020-07-02 14:44:13 +00:00
var autoRefresh = Cookies . get ( 'auto-refresh' ) ;
if ( autoRefresh !== undefined ) {
Cookies . remove ( 'auto-refresh' ) ;
pauseAutoRefresh ( ) ;
$ ( '.auto-refresh' ) . prepend ( '<span class="service-reload auto-refresh-reload-icon"></span>' ) ;
$ ( '.auto-refresh' ) . css ( 'font-size' , '15px' ) ;
$ ( '#1' ) . text ( 'Auto-refresh' ) ;
$ ( '#0' ) . text ( 'Auto-refresh' ) ;
$ ( '.auto-refresh-pause' ) . css ( 'display' , 'none' ) ;
$ ( '.auto-refresh-resume' ) . css ( 'display' , 'none' ) ;
$ . getScript ( "/inc/fontawesome.min.js" )
}
2018-04-08 07:33:09 +00:00
hideAutoRefreshDiv ( ) ;
} else {
2018-04-09 10:27:01 +00:00
clearInterval ( intervalId ) ;
2018-04-08 07:33:09 +00:00
Cookies . set ( 'auto-refresh' , interval , { expires : 365 } ) ;
2018-08-03 19:17:03 +00:00
Cookies . set ( 'auto-refresh-pause' , "0" , { expires : 365 } ) ;
2018-04-08 07:33:09 +00:00
startSetInterval ( interval ) ;
hideAutoRefreshDiv ( ) ;
2018-04-09 10:27:01 +00:00
autoRefreshStyle ( interval ) ;
2018-04-08 07:33:09 +00:00
}
}
2018-04-09 10:27:01 +00:00
function startSetInterval ( interval ) {
2018-08-03 19:17:03 +00:00
if ( Cookies . get ( 'auto-refresh-pause' ) == "0" ) {
if ( cur _url [ 0 ] == "logs.py" ) {
intervalId = setInterval ( 'showLog()' , interval ) ;
showLog ( ) ;
} else if ( cur _url [ 0 ] == "viewsttats.py" ) {
intervalId = setInterval ( 'showStats()' , interval ) ;
showStats ( )
} else if ( cur _url [ 0 ] == "overview.py" ) {
if ( interval < 60000 ) {
interval = 60000 ;
}
2019-12-30 16:41:16 +00:00
intervalId = setInterval ( 'showOverview(ip, hostnamea)' , interval ) ;
2019-12-27 04:31:09 +00:00
showOverview ( ip , hostnamea ) ;
2018-08-03 19:17:03 +00:00
} else if ( cur _url [ 0 ] == "viewlogs.py" ) {
intervalId = setInterval ( 'viewLogs()' , interval ) ;
viewLogs ( ) ;
} else if ( cur _url [ 0 ] == "metrics.py" ) {
2018-09-07 07:44:23 +00:00
if ( interval < 60000 ) {
interval = 60000 ;
}
2019-10-06 06:50:12 +00:00
intervalId = setInterval ( 'showMetrics()' , interval ) ;
showMetrics ( ) ;
2019-09-22 15:46:26 +00:00
} else if ( cur _url [ 0 ] == "waf.py" ) {
2018-09-07 07:44:23 +00:00
if ( interval < 60000 ) {
interval = 60000 ;
}
2019-12-30 16:41:16 +00:00
intervalId = setInterval ( 'showOverviewWaf(ip, hostnamea)' , interval ) ;
showOverviewWaf ( ip , hostnamea ) ;
2019-10-06 06:50:12 +00:00
showWafMetrics ( ) ;
2019-10-25 07:18:57 +00:00
} else if ( cur _url [ 0 ] == "hapservers.py" ) {
if ( interval < 60000 ) {
interval = 60000 ;
}
intervalId = setInterval ( 'showMetrics()' , interval ) ;
showMetrics ( ) ;
2018-08-20 06:39:52 +00:00
}
2018-08-03 19:17:03 +00:00
} else {
pauseAutoRefresh ( ) ;
}
2018-04-08 07:33:09 +00:00
}
function pauseAutoRefresh ( ) {
clearInterval ( intervalId ) ;
$ ( function ( ) {
$ ( '.auto-refresh-pause' ) . css ( 'display' , 'none' ) ;
$ ( '.auto-refresh-resume' ) . css ( 'display' , 'inline' ) ;
2018-08-03 19:17:03 +00:00
Cookies . set ( 'auto-refresh-pause' , "1" , { expires : 365 } ) ;
2018-04-08 07:33:09 +00:00
} ) ;
}
function pauseAutoResume ( ) {
var autoRefresh = Cookies . get ( 'auto-refresh' ) ;
setRefreshInterval ( autoRefresh ) ;
2018-08-03 19:17:03 +00:00
Cookies . set ( 'auto-refresh-pause' , "0" , { expires : 365 } ) ;
2018-04-08 07:33:09 +00:00
}
function hideAutoRefreshDiv ( ) {
$ ( function ( ) {
$ ( '.auto-refresh-div' ) . hide ( "blind" , "fast" ) ;
$ ( '#1' ) . css ( "display" , "none" ) ;
$ ( '#0' ) . css ( "display" , "inline" ) ;
} ) ;
}
2018-04-11 03:30:46 +00:00
$ ( document ) . ajaxSend ( function ( event , request , settings ) {
2018-08-11 14:47:47 +00:00
$ ( '#cover' ) . fadeIn ( 'fast' ) ;
2018-04-11 03:30:46 +00:00
NProgress . start ( ) ;
} ) ;
$ ( document ) . ajaxComplete ( function ( event , request , settings ) {
2018-08-11 14:47:47 +00:00
$ ( '#cover' ) . fadeOut ( 'fast' ) ;
2018-04-11 03:30:46 +00:00
NProgress . done ( ) ;
} ) ;
2018-04-09 10:27:01 +00:00
function showStats ( ) {
$ . ajax ( {
url : "options.py" ,
data : {
act : "stats" ,
2018-06-01 12:27:58 +00:00
serv : $ ( "#serv" ) . val ( ) ,
2020-02-06 22:36:58 +00:00
service : $ ( "#service" ) . val ( ) ,
2018-06-01 12:27:58 +00:00
token : $ ( '#token' ) . val ( )
2018-04-09 10:27:01 +00:00
} ,
2019-12-04 13:38:07 +00:00
type : "POST" ,
2018-04-09 10:27:01 +00:00
success : function ( data ) {
2018-04-11 09:27:57 +00:00
$ ( "#ajax" ) . html ( data ) ;
2020-02-06 22:36:58 +00:00
window . history . pushState ( "Stats" , "Stats" , cur _url [ 0 ] + "?service=" + $ ( "#service" ) . val ( ) + "&serv=" + $ ( "#serv" ) . val ( ) ) ;
2018-05-13 18:07:33 +00:00
wait ( ) ;
2018-04-09 10:27:01 +00:00
}
} ) ;
2019-09-08 10:07:58 +00:00
}
function openStats ( ) {
var serv = $ ( "#serv" ) . val ( ) ;
2020-03-23 12:48:44 +00:00
if ( cur _url [ 1 ] == "service=nginx" ) {
var url = "viewsttats.py?service=nginx&serv=" + serv + "&open=open"
} else {
var url = "viewsttats.py?serv=" + serv + "&open=open"
}
2019-09-08 10:07:58 +00:00
var win = window . open ( url , '_blank' ) ;
win . focus ( ) ;
2018-04-09 10:27:01 +00:00
}
2019-09-15 11:51:09 +00:00
function openVersions ( ) {
var serv = $ ( "#serv" ) . val ( ) ;
2020-02-02 14:23:00 +00:00
if ( cur _url [ 1 ] == "service=keepalived" ) {
var url = "versions.py?service=keepalived&serv=" + serv + "&open=open"
2020-02-05 08:15:57 +00:00
} else if ( cur _url [ 1 ] == "service=nginx" ) {
var url = "versions.py?service=nginx&serv=" + serv + "&open=open"
2020-02-02 14:23:00 +00:00
} else {
var url = "versions.py?serv=" + serv + "&open=open"
}
2019-09-26 15:48:56 +00:00
var win = window . open ( url , "_self" ) ;
2019-09-15 11:51:09 +00:00
win . focus ( ) ;
}
2018-04-09 10:27:01 +00:00
function showLog ( ) {
2018-08-17 11:55:17 +00:00
var waf = 0 ;
if ( $ ( '#waf' ) . is ( ':checked' ) ) {
waf = '1' ;
}
2019-09-29 20:16:24 +00:00
var rows = $ ( '#rows' ) . val ( )
var grep = $ ( '#grep' ) . val ( )
2020-06-15 17:29:49 +00:00
var exgrep = $ ( '#exgrep' ) . val ( )
2019-09-29 20:16:24 +00:00
var hour = $ ( '#time_range_out_hour' ) . val ( )
var minut = $ ( '#time_range_out_minut' ) . val ( )
var hour1 = $ ( '#time_range_out_hour1' ) . val ( )
var minut1 = $ ( '#time_range_out_minut1' ) . val ( )
2020-02-05 08:15:57 +00:00
var service = $ ( '#service' ) . val ( )
2020-07-02 14:44:13 +00:00
if ( service == 'None' ) {
service = 'haproxy' ;
}
2018-04-09 10:27:01 +00:00
$ . ajax ( {
url : "options.py" ,
data : {
2019-09-29 20:16:24 +00:00
rows : rows ,
2018-04-09 10:27:01 +00:00
serv : $ ( "#serv" ) . val ( ) ,
2018-08-17 11:55:17 +00:00
waf : waf ,
2019-09-29 20:16:24 +00:00
grep : grep ,
2020-06-15 17:29:49 +00:00
exgrep : exgrep ,
2019-09-29 20:16:24 +00:00
hour : hour ,
minut : minut ,
hour1 : hour1 ,
minut1 : minut1 ,
2020-02-05 08:15:57 +00:00
service : service ,
2018-06-01 12:27:58 +00:00
token : $ ( '#token' ) . val ( )
2018-04-09 10:27:01 +00:00
} ,
2019-12-04 13:38:07 +00:00
type : "POST" ,
2018-04-11 03:30:46 +00:00
success : function ( data ) {
$ ( "#ajax" ) . html ( data ) ;
2020-02-05 08:15:57 +00:00
window . history . pushState ( "Logs" , "Logs" , cur _url [ 0 ] + "?service=" + service + "&serv=" + $ ( "#serv" ) . val ( ) +
2019-09-29 20:16:24 +00:00
'&rows=' + rows +
2020-06-15 17:29:49 +00:00
'&exgrep=' + exgrep +
2019-09-29 20:16:24 +00:00
'&grep=' + grep +
'&hour=' + hour +
'&minut=' + minut +
'&hour1=' + hour1 +
2019-10-04 06:23:48 +00:00
'&minut1=' + minut1 +
'&waf=' + waf ) ;
2018-04-11 03:30:46 +00:00
}
} ) ;
}
function showMap ( ) {
2018-09-27 04:28:10 +00:00
$ ( "#ajax" ) . empty ( ) ;
$ ( "#ajax-compare" ) . empty ( ) ;
$ ( "#config" ) . empty ( ) ;
$ ( ".alert-info" ) . empty ( ) ;
2018-04-11 03:30:46 +00:00
var unique = $ . now ( ) ;
$ . ajax ( {
url : "options.py" ,
data : {
serv : $ ( "#serv" ) . val ( ) ,
2018-06-01 12:27:58 +00:00
act : "showMap" ,
token : $ ( '#token' ) . val ( )
2018-04-10 03:58:56 +00:00
} ,
2019-12-04 13:38:07 +00:00
type : "POST" ,
2018-04-10 03:58:56 +00:00
success : function ( data ) {
$ ( "#ajax" ) . html ( data ) ;
2019-09-26 15:48:56 +00:00
window . history . pushState ( "Show map" , "Show map" , cur _url [ 0 ] + '?serv=' + $ ( "#serv" ) . val ( ) + '&showMap' ) ;
2018-04-10 03:58:56 +00:00
}
} ) ;
}
function showCompare ( ) {
$ . ajax ( {
url : "options.py" ,
data : {
serv : $ ( "#serv" ) . val ( ) ,
left : $ ( '#left' ) . val ( ) ,
2018-06-01 12:27:58 +00:00
right : $ ( "#right" ) . val ( ) ,
2020-02-05 08:15:57 +00:00
service : $ ( "#service" ) . val ( ) ,
2018-06-01 12:27:58 +00:00
token : $ ( '#token' ) . val ( )
2018-04-10 03:58:56 +00:00
} ,
2019-12-04 13:38:07 +00:00
type : "POST" ,
2018-04-09 10:27:01 +00:00
success : function ( data ) {
$ ( "#ajax" ) . html ( data ) ;
2018-04-11 09:27:57 +00:00
}
} ) ;
}
function showCompareConfigs ( ) {
2018-09-26 15:10:35 +00:00
$ ( "#ajax" ) . empty ( ) ;
$ ( "#config" ) . empty ( ) ;
$ ( ".alert-info" ) . empty ( ) ;
2018-04-11 09:27:57 +00:00
$ . ajax ( {
url : "options.py" ,
data : {
serv : $ ( "#serv" ) . val ( ) ,
act : "showCompareConfigs" ,
2018-06-01 12:27:58 +00:00
open : "open" ,
2020-02-05 08:15:57 +00:00
service : $ ( "#service" ) . val ( ) ,
2018-06-01 12:27:58 +00:00
token : $ ( '#token' ) . val ( )
2018-04-11 09:27:57 +00:00
} ,
2019-12-04 13:38:07 +00:00
type : "POST" ,
2018-04-11 09:27:57 +00:00
success : function ( data ) {
$ ( "#ajax-compare" ) . html ( data ) ;
2018-08-30 05:21:03 +00:00
$ ( "input[type=submit], button" ) . button ( ) ;
$ ( "select" ) . selectmenu ( ) ;
2020-02-05 08:15:57 +00:00
window . history . pushState ( "Show compare config" , "Show compare config" , cur _url [ 0 ] + '?service=' + $ ( "#service" ) . val ( ) + '&serv=' + $ ( "#serv" ) . val ( ) + '&showCompare' ) ;
2018-04-10 06:10:07 +00:00
}
} ) ;
}
function showConfig ( ) {
2020-04-16 13:30:51 +00:00
var service = $ ( '#service' ) . val ( ) ;
2018-09-26 15:10:35 +00:00
$ ( "#ajax" ) . empty ( ) ;
$ ( "#ajax-compare" ) . empty ( ) ;
$ ( "#config" ) . empty ( ) ;
2020-07-03 12:18:52 +00:00
$ ( ".alert" ) . empty ( ) ;
2018-04-10 06:10:07 +00:00
$ . ajax ( {
url : "options.py" ,
data : {
serv : $ ( "#serv" ) . val ( ) ,
2018-06-01 12:27:58 +00:00
act : "configShow" ,
2020-04-16 13:30:51 +00:00
service : service ,
2018-06-01 12:27:58 +00:00
token : $ ( '#token' ) . val ( )
2018-04-10 06:10:07 +00:00
} ,
2019-12-04 13:38:07 +00:00
type : "POST" ,
2018-04-10 06:10:07 +00:00
success : function ( data ) {
$ ( "#ajax" ) . html ( data ) ;
2018-08-30 05:21:03 +00:00
$ . getScript ( '/inc/configshow.js' ) ;
2020-04-16 13:30:51 +00:00
window . history . pushState ( "Show config" , "Show config" , cur _url [ 0 ] + "?service=" + service + "&serv=" + $ ( "#serv" ) . val ( ) + "&showConfig" ) ;
2018-04-09 10:27:01 +00:00
}
} ) ;
}
2018-05-05 12:54:33 +00:00
function showUploadConfig ( ) {
2020-02-02 14:23:00 +00:00
var service = $ ( '#service' ) . val ( ) ;
var configver = $ ( '#configver' ) . val ( ) ;
var serv = $ ( "#serv" ) . val ( )
2018-05-05 12:54:33 +00:00
$ . ajax ( {
url : "options.py" ,
data : {
2020-02-02 14:23:00 +00:00
serv : serv ,
2018-05-05 12:54:33 +00:00
act : "configShow" ,
2020-02-02 14:23:00 +00:00
configver : configver ,
service : service ,
2018-06-11 15:05:57 +00:00
token : $ ( '#token' ) . val ( ) ,
2018-05-05 12:54:33 +00:00
} ,
2019-12-04 13:38:07 +00:00
type : "POST" ,
2018-05-05 12:54:33 +00:00
success : function ( data ) {
$ ( "#ajax" ) . html ( data ) ;
2020-02-05 08:15:57 +00:00
window . history . pushState ( "Show config" , "Show config" , cur _url [ 0 ] + "?service=" + service + "&serv=" + serv + "&open=open&configver=" + configver ) ;
2018-08-30 05:21:03 +00:00
$ . getScript ( '/inc/configshow.js' ) ;
2018-05-05 12:54:33 +00:00
}
} ) ;
}
2020-03-05 18:56:13 +00:00
function findGetParameter ( parameterName ) {
var result = null ,
tmp = [ ] ;
var items = location . search . substr ( 1 ) . split ( "&" ) ;
for ( var index = 0 ; index < items . length ; index ++ ) {
tmp = items [ index ] . split ( "=" ) ;
if ( tmp [ 0 ] === parameterName ) result = decodeURIComponent ( tmp [ 1 ] ) ;
}
return result ;
}
2018-04-21 14:40:59 +00:00
function viewLogs ( ) {
2020-05-11 16:41:54 +00:00
if ( $ ( '#viewlogs' ) . val ( ) == 'haproxy-wi.error.log' || $ ( '#viewlogs' ) . val ( ) == 'haproxy-wi.access.log' || $ ( '#viewlogs' ) . val ( ) == 'fail2ban.log' ) {
2018-07-24 04:08:06 +00:00
showApacheLog ( $ ( '#viewlogs' ) . val ( ) ) ;
} else {
2019-09-29 20:16:24 +00:00
var rows = $ ( '#rows' ) . val ( )
var grep = $ ( '#grep' ) . val ( )
2020-06-15 17:29:49 +00:00
var exgrep = $ ( '#exgrep' ) . val ( )
2019-09-29 20:16:24 +00:00
var hour = $ ( '#time_range_out_hour' ) . val ( )
var minut = $ ( '#time_range_out_minut' ) . val ( )
var hour1 = $ ( '#time_range_out_hour1' ) . val ( )
var minut1 = $ ( '#time_range_out_minut1' ) . val ( )
2020-03-05 18:56:13 +00:00
var viewlogs = $ ( '#viewlogs' ) . val ( )
if ( viewlogs == null ) {
viewlogs = findGetParameter ( 'viewlogs' )
}
2018-07-24 04:08:06 +00:00
$ . ajax ( {
url : "options.py" ,
data : {
2020-03-05 18:56:13 +00:00
viewlogs : viewlogs ,
2019-09-29 20:16:24 +00:00
rows : rows ,
grep : grep ,
2020-06-15 17:29:49 +00:00
exgrep : exgrep ,
2019-09-29 20:16:24 +00:00
hour : hour ,
minut : minut ,
hour1 : hour1 ,
minut1 : minut1 ,
2018-07-27 03:45:49 +00:00
token : $ ( '#token' ) . val ( ) ,
2018-07-24 04:08:06 +00:00
} ,
2019-12-04 13:38:07 +00:00
type : "POST" ,
2018-07-24 04:08:06 +00:00
success : function ( data ) {
$ ( "#ajax" ) . html ( data ) ;
2020-03-05 18:56:13 +00:00
window . history . pushState ( "View logs" , "View logs" , cur _url [ 0 ] + "?viewlogs=" + viewlogs +
2019-09-29 20:16:24 +00:00
'&rows=' + rows +
'&grep=' + grep +
2020-06-15 17:29:49 +00:00
'&exgrep=' + exgrep +
2019-09-29 20:16:24 +00:00
'&hour=' + hour +
'&minut=' + minut +
'&hour1=' + hour1 +
'&minut1=' + minut1 ) ;
2018-07-24 04:08:06 +00:00
}
} ) ;
}
2018-04-21 14:40:59 +00:00
}
2018-01-25 09:04:57 +00:00
$ ( function ( ) {
2019-12-27 04:31:09 +00:00
$ ( '#errorMess' ) . click ( function ( ) {
$ ( '#error' ) . remove ( ) ;
} ) ;
2018-04-11 03:30:46 +00:00
$ ( "#serv" ) . on ( 'selectmenuchange' , function ( ) {
$ ( "#show" ) . css ( "pointer-events" , "inherit" ) ;
$ ( "#show" ) . css ( "cursor" , "pointer" ) ;
} ) ;
if ( $ ( "#serv option:selected" ) . val ( ) == "Choose server" ) {
$ ( "#show" ) . css ( "pointer-events" , "none" ) ;
$ ( "#show" ) . css ( "cursor" , "not-allowed" ) ;
}
2018-04-09 10:27:01 +00:00
var pause = '<a onclick="pauseAutoRefresh()" title="Pause auto-refresh" class="auto-refresh-pause"></a>'
var autoRefresh = Cookies . get ( 'auto-refresh' ) ;
if ( $ ( '.auto-refresh' ) ) {
if ( autoRefresh ) {
startSetInterval ( autoRefresh ) ;
autoRefreshStyle ( autoRefresh ) ;
}
}
2018-01-25 09:04:57 +00:00
$ ( "#tabs" ) . tabs ( ) ;
$ ( "select" ) . selectmenu ( ) ;
2018-02-27 13:39:24 +00:00
2019-10-05 20:41:07 +00:00
// var tooltips = $( "[title]" ).tooltip();
2018-01-25 09:04:57 +00:00
$ ( "input[type=submit], button" ) . button ( ) ;
2018-02-07 04:39:42 +00:00
$ ( "input[type=checkbox]" ) . checkboxradio ( ) ;
2018-02-17 17:20:30 +00:00
$ ( ".controlgroup" ) . controlgroup ( ) ;
2018-03-27 10:15:24 +00:00
2019-09-26 15:48:56 +00:00
$ ( "#hide_menu" ) . click ( function ( ) {
$ ( ".top-menu" ) . hide ( "drop" , "fast" ) ;
2019-10-18 17:23:35 +00:00
$ ( ".container" ) . css ( "max-width" , "100%" ) ;
$ ( ".footer" ) . css ( "max-width" , "97%" ) ;
2019-09-26 15:48:56 +00:00
$ ( ".container" ) . css ( "margin-left" , "1%" ) ;
$ ( ".footer" ) . css ( "margin-left" , "1%" ) ;
$ ( ".show_menu" ) . show ( ) ;
$ ( "#hide_menu" ) . hide ( ) ;
Cookies . set ( 'hide_menu' , 'hide' , { expires : 365 } ) ;
} ) ;
$ ( "#show_menu" ) . click ( function ( ) {
$ ( ".top-menu" ) . show ( "drop" , "fast" ) ;
2019-10-05 20:41:07 +00:00
$ ( ".container" ) . css ( "max-width" , "100%" ) ;
$ ( ".footer" ) . css ( "max-width" , "100%" ) ;
2019-09-26 15:48:56 +00:00
$ ( ".container" ) . css ( "margin-left" , "207px" ) ;
$ ( ".footer" ) . css ( "margin-left" , "207px" ) ;
$ ( ".show_menu" ) . hide ( ) ;
$ ( "#hide_menu" ) . show ( ) ;
Cookies . set ( 'hide_menu' , 'show' , { expires : 365 } ) ;
2019-12-30 15:52:01 +00:00
} ) ;
2019-09-26 15:48:56 +00:00
var hideMenu = Cookies . get ( 'hide_menu' ) ;
if ( hideMenu == "show" ) {
$ ( ".top-menu" ) . show ( "drop" , "fast" ) ;
2019-10-05 20:41:07 +00:00
$ ( ".container" ) . css ( "max-width" , "100%" ) ;
2019-09-26 15:48:56 +00:00
$ ( ".container" ) . css ( "margin-left" , "207px" ) ;
2019-11-09 08:44:45 +00:00
$ ( ".footer" ) . css ( "margin-left" , "207px" ) ;
$ ( ".footer" ) . css ( "max-width" , "100%" ) ;
$ ( "#hide_menu" ) . show ( ) ;
$ ( ".show_menu" ) . hide ( ) ;
2019-09-26 15:48:56 +00:00
}
if ( hideMenu == "hide" ) {
$ ( ".top-menu" ) . hide ( ) ;
2019-10-18 17:23:35 +00:00
$ ( ".container" ) . css ( "max-width" , "97%" ) ;
2019-09-26 15:48:56 +00:00
$ ( ".container" ) . css ( "margin-left" , "1%" ) ;
2019-11-09 08:44:45 +00:00
$ ( ".footer" ) . css ( "margin-left" , "1%" ) ;
$ ( ".footer" ) . css ( "max-width" , "97%" ) ;
2019-09-26 15:48:56 +00:00
$ ( ".show_menu" ) . show ( ) ;
2019-11-09 08:44:45 +00:00
$ ( "#hide_menu" ) . hide ( ) ;
2019-09-26 15:48:56 +00:00
}
2018-05-18 18:09:14 +00:00
var now = new Date ( Date . now ( ) ) ;
2019-09-29 20:16:24 +00:00
if ( $ ( '#time_range_out_hour' ) . val ( ) != '' && $ ( '#time_range_out_hour' ) . val ( ) != 'None' ) {
var date1 = parseInt ( $ ( '#time_range_out_hour' ) . val ( ) , 10 ) * 60 + parseInt ( $ ( '#time_range_out_minut' ) . val ( ) , 10 )
} else {
var date1 = now . getHours ( ) * 60 - 1 * 60 ;
}
if ( $ ( '#time_range_out_hour' ) . val ( ) != '' && $ ( '#time_range_out_hour' ) . val ( ) != 'None' ) {
var date2 = parseInt ( $ ( '#time_range_out_hour1' ) . val ( ) , 10 ) * 60 + parseInt ( $ ( '#time_range_out_minut1' ) . val ( ) , 10 )
} else {
var date2 = now . getHours ( ) * 60 + now . getMinutes ( ) ;
}
2018-05-18 18:09:14 +00:00
$ ( "#time-range" ) . slider ( {
range : true ,
min : 0 ,
max : 1440 ,
step : 15 ,
values : [ date1 , date2 ] ,
slide : function ( e , ui ) {
var hours = Math . floor ( ui . values [ 0 ] / 60 ) ;
var minutes = ui . values [ 0 ] - ( hours * 60 ) ;
if ( hours . toString ( ) . length == 1 ) hours = '0' + hours ;
if ( minutes . toString ( ) . length == 1 ) minutes = '0' + minutes ;
var hours1 = Math . floor ( ui . values [ 1 ] / 60 ) ;
var minutes1 = ui . values [ 1 ] - ( hours1 * 60 ) ;
2018-03-30 06:26:22 +00:00
2018-05-18 18:09:14 +00:00
if ( hours1 . toString ( ) . length == 1 ) hours1 = '0' + hours1 ;
if ( minutes1 . toString ( ) . length == 1 ) minutes1 = '0' + minutes1 ;
2019-09-29 20:16:24 +00:00
if ( $ ( '#time_range_out_hour' ) . val ( ) != '' && $ ( '#time_range_out_hour' ) . val ( ) != 'None' ) {
$ ( '#time_range_out_hour' ) . val ( hours ) ;
}
if ( $ ( '#time_range_out_minut' ) . val ( ) != '' && $ ( '#time_range_out_minut' ) . val ( ) != 'None' ) {
$ ( '#time_range_out_minut' ) . val ( minutes ) ;
}
if ( $ ( '#time_range_out_hour1' ) . val ( ) != '' && $ ( '#time_range_out_hour1' ) . val ( ) != 'None' ) {
$ ( '#time_range_out_hour1' ) . val ( hours1 ) ;
}
if ( $ ( '#time_range_out_minut1' ) . val ( ) != '' && $ ( '#time_range_out_minut1' ) . val ( ) != 'None' ) {
$ ( '#time_range_out_minut1' ) . val ( minutes1 ) ;
}
2018-05-18 18:09:14 +00:00
}
} ) ;
2018-06-29 06:07:24 +00:00
var date1 _hours = Math . floor ( date1 / 60 ) ;
var date2 _hours = date1 _hours + 1 ;
2018-07-05 07:03:26 +00:00
var date2 _minute = now . getMinutes ( )
2018-06-29 06:07:24 +00:00
if ( date1 _hours <= 9 ) date1 _hours = '0' + date1 _hours ;
if ( date2 _hours <= 9 ) date2 _hours = '0' + date2 _hours ;
2018-07-05 07:03:26 +00:00
if ( date2 _minute <= 9 ) date2 _minute = '0' + date2 _minute ;
2019-09-29 20:16:24 +00:00
if ( $ ( '#time_range_out_hour' ) . val ( ) != '' && $ ( '#time_range_out_hour' ) . val ( ) != 'None' ) {
$ ( '#time_range_out_hour' ) . val ( $ ( '#time_range_out_hour' ) . val ( ) ) ;
} else {
$ ( '#time_range_out_hour' ) . val ( date1 _hours ) ;
}
if ( $ ( '#time_range_out_minut' ) . val ( ) != '' && $ ( '#time_range_out_minut' ) . val ( ) != 'None' ) {
$ ( '#time_range_out_minut' ) . val ( $ ( '#time_range_out_minut' ) . val ( ) ) ;
} else {
$ ( '#time_range_out_minut' ) . val ( '00' ) ;
}
if ( $ ( '#time_range_out_hour1' ) . val ( ) != '' && $ ( '#time_range_out_hour1' ) . val ( ) != 'None' ) {
$ ( '#time_range_out_hour1' ) . val ( $ ( '#time_range_out_hour1' ) . val ( ) ) ;
} else {
$ ( '#time_range_out_hour1' ) . val ( date2 _hours ) ;
}
if ( $ ( '#time_range_out_minut1' ) . val ( ) != '' && $ ( '#time_range_out_minut1' ) . val ( ) != 'None' ) {
$ ( '#time_range_out_minut1' ) . val ( $ ( '#time_range_out_minut1' ) . val ( ) ) ;
} else {
$ ( '#time_range_out_minut1' ) . val ( date2 _minute ) ;
}
2018-05-18 18:09:14 +00:00
2018-04-08 07:33:09 +00:00
$ ( '#0' ) . click ( function ( ) {
$ ( '.auto-refresh-div' ) . show ( "blind" , "fast" ) ;
$ ( '#0' ) . css ( "display" , "none" ) ;
$ ( '#1' ) . css ( "display" , "inline" ) ;
} ) ;
$ ( '#1' ) . click ( function ( ) {
$ ( '.auto-refresh-div' ) . hide ( "blind" , "fast" ) ;
$ ( '#1' ) . css ( "display" , "none" ) ;
$ ( '#0' ) . css ( "display" , "inline" ) ;
} ) ;
2018-02-19 04:26:42 +00:00
$ ( '#select_all' ) . click ( function ( ) {
var checkboxes = $ ( this ) . closest ( 'form' ) . find ( ':checkbox' ) ;
if ( $ ( this ) . prop ( 'checked' ) ) {
$ ( "form input[type='checkbox']" ) . attr ( "checked" , true ) . change ( ) ;
$ ( "#label_select_all" ) . text ( "Unselect all" ) ;
} else {
$ ( "form input[type='checkbox']" ) . attr ( "checked" , false ) . change ( ) ;
$ ( "#label_select_all" ) . text ( "Select all" ) ;
}
} ) ;
2020-05-10 06:17:07 +00:00
$ ( '#changeCurrentGroup' ) . click ( function ( ) {
$ . ajax ( {
url : "options.py" ,
data : {
getcurrentusergroup : 1 ,
token : $ ( '#token' ) . val ( )
} ,
type : "POST" ,
success : function ( data ) {
if ( data . indexOf ( 'danger' ) != '-1' ) {
$ ( "#ajax" ) . html ( data ) ;
} else {
$ ( '.alert-danger' ) . remove ( ) ;
$ ( '#current-user-groups-form' ) . html ( data ) ;
$ ( "select" ) . selectmenu ( ) ;
$ ( "#current-user-groups-dialog" ) . dialog ( {
resizable : false ,
height : "auto" ,
width : 290 ,
modal : true ,
title : "Change a new current group" ,
buttons : {
"Change" : function ( ) {
$ ( this ) . dialog ( "close" ) ;
changeCurrentGroupF ( ) ;
} ,
Cancel : function ( ) {
$ ( this ) . dialog ( "close" ) ;
}
}
} ) ;
}
}
} ) ;
} ) ;
2019-09-26 15:48:56 +00:00
$ ( '#auth' ) . submit ( function ( ) {
let searchParams = new URLSearchParams ( window . location . search )
if ( searchParams . has ( 'ref' ) ) {
var ref = searchParams . get ( 'ref' ) ;
2018-02-17 17:20:30 +00:00
} else {
2019-09-26 15:48:56 +00:00
var ref = "overview.py" ;
2019-09-17 07:18:48 +00:00
}
$ . ajax ( {
2019-09-26 15:48:56 +00:00
url : "login.py" ,
2019-09-17 07:18:48 +00:00
data : {
2019-09-26 15:48:56 +00:00
login : $ ( '#login' ) . val ( ) ,
pass : $ ( '#pass' ) . val ( )
2019-09-17 07:18:48 +00:00
} ,
2019-12-04 13:38:07 +00:00
type : "POST" ,
2019-09-17 07:18:48 +00:00
success : function ( data ) {
2019-09-26 15:48:56 +00:00
if ( data . indexOf ( 'ok' ) != '-1' ) {
window . location . replace ( ref ) ;
2020-01-18 23:50:43 +00:00
} else if ( data . indexOf ( 'disabled' ) != '-1' ) {
$ ( '.alert' ) . show ( ) ;
$ ( '.alert' ) . html ( data ) ;
2019-09-26 15:48:56 +00:00
} else if ( data . indexOf ( 'ban' ) != '-1' ) {
ban ( ) ;
}
2018-07-18 13:14:03 +00:00
}
2019-09-26 15:48:56 +00:00
} ) ;
return false ;
2018-07-18 05:46:37 +00:00
} ) ;
2020-07-05 06:59:51 +00:00
$ ( '#show_log_form' ) . submit ( function ( ) {
if ( cur _url [ 0 ] == '/app/logs.py' ) {
showLog ( ) ;
} else {
viewLogs ( ) ;
}
return false ;
} ) ;
2019-09-26 15:48:56 +00:00
var showUpdates = $ ( "#show-updates" ) . dialog ( {
autoOpen : false ,
resizable : false ,
height : "auto" ,
width : 600 ,
modal : true ,
title : 'There is a new version HAProxy-WI.' ,
show : {
effect : "fade" ,
duration : 200
} ,
hide : {
effect : "fade" ,
duration : 200
} ,
buttons : {
Close : function ( ) {
$ ( this ) . dialog ( "close" ) ;
clearTips ( ) ;
}
2018-07-18 13:14:03 +00:00
}
2019-09-26 15:48:56 +00:00
} ) ;
2018-08-09 12:11:10 +00:00
2019-09-26 15:48:56 +00:00
$ ( '#show-updates-button' ) . click ( function ( ) {
showUpdates . dialog ( 'open' ) ;
2018-07-18 05:46:37 +00:00
} ) ;
2019-09-20 06:42:19 +00:00
var location = window . location . href ;
var cur _url = '/app/' + location . split ( '/' ) . pop ( ) ;
cur _url = cur _url . split ( '?' ) ;
2018-08-08 17:15:18 +00:00
cur _url = cur _url [ 0 ] . split ( '#' ) ;
2018-09-28 16:10:01 +00:00
if ( cur _url [ 0 ] == "/app/users.py" || cur _url [ 0 ] == "/app/servers.py" ) {
$ ( ".users" ) . on ( "click" , function ( ) {
2019-09-20 06:42:19 +00:00
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . children ( ".users" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".users" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
2018-09-29 05:23:01 +00:00
} ) ;
2018-09-28 16:10:01 +00:00
$ ( "#tabs" ) . tabs ( "option" , "active" , 0 ) ;
} ) ;
2019-10-21 06:00:16 +00:00
if ( cur _url [ 0 ] == "/app/users.py" ) {
$ ( ".group" ) . on ( "click" , function ( ) {
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . children ( ".group" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".group" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
$ ( "#tabs" ) . tabs ( "option" , "active" , 1 ) ;
} ) ;
$ ( ".runtime" ) . on ( "click" , function ( ) {
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . children ( ".runtime" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".runtime" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
$ ( "#tabs" ) . tabs ( "option" , "active" , 2 ) ;
} ) ;
2018-09-28 16:10:01 +00:00
$ ( ".admin" ) . on ( "click" , function ( ) {
2019-09-20 06:42:19 +00:00
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . children ( ".admin" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".admin" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
2019-10-21 06:00:16 +00:00
$ ( "#tabs" ) . tabs ( "option" , "active" , 3 ) ;
2018-09-28 16:10:01 +00:00
} ) ;
2019-10-21 06:00:16 +00:00
$ ( ".settings" ) . on ( "click" , function ( ) {
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . children ( ".settings" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".settings" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
$ ( "#tabs" ) . tabs ( "option" , "active" , 5 ) ;
} ) ;
2020-05-12 18:57:05 +00:00
$ ( ".services" ) . on ( "click" , function ( ) {
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . children ( ".services" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".services" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
$ ( "#tabs" ) . tabs ( "option" , "active" , 6 ) ;
} ) ;
2019-10-21 06:00:16 +00:00
$ ( ".updatehapwi" ) . on ( "click" , function ( ) {
2019-09-20 06:42:19 +00:00
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
2019-10-21 06:00:16 +00:00
$ ( this ) . children ( ".updatehapwi" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".updatehapwi" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
2020-05-12 18:57:05 +00:00
$ ( "#tabs" ) . tabs ( "option" , "active" , 7 ) ;
2019-10-21 06:00:16 +00:00
} ) ;
} else {
$ ( ".runtime" ) . on ( "click" , function ( ) {
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
2019-09-20 06:42:19 +00:00
$ ( this ) . children ( ".runtime" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".runtime" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
2019-10-21 06:00:16 +00:00
$ ( "#tabs" ) . tabs ( "option" , "active" , 1 ) ;
} ) ;
$ ( ".admin" ) . on ( "click" , function ( ) {
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . children ( ".admin" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".admin" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
2018-09-28 16:10:01 +00:00
$ ( "#tabs" ) . tabs ( "option" , "active" , 2 ) ;
2019-10-21 06:00:16 +00:00
} ) ;
$ ( ".hap" ) . on ( "click" , function ( ) {
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . children ( ".hap" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".hap" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
$ ( "#tabs" ) . tabs ( "option" , "active" , 4 ) ;
2018-09-28 16:10:01 +00:00
} ) ;
2020-06-01 16:13:28 +00:00
$ ( ".hap1" ) . on ( "click" , function ( ) {
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . children ( ".hap1" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".hap1" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
$ ( "#tabs" ) . tabs ( "option" , "active" , 5 ) ;
} ) ;
2020-01-11 21:16:27 +00:00
$ ( ".backup" ) . on ( "click" , function ( ) {
$ ( '.menu li ul li' ) . each ( function ( ) {
$ ( this ) . find ( 'a' ) . css ( 'padding-left' , '20px' )
$ ( this ) . find ( 'a' ) . css ( 'border-left' , '0px solid #5D9CEB' ) ;
$ ( this ) . children ( ".backup" ) . css ( 'padding-left' , '30px' ) ;
$ ( this ) . children ( ".backup" ) . css ( 'border-left' , '4px solid #5D9CEB' ) ;
} ) ;
2020-06-01 16:13:28 +00:00
$ ( "#tabs" ) . tabs ( "option" , "active" , 6 ) ;
2020-01-11 21:16:27 +00:00
} ) ;
2018-09-28 16:10:01 +00:00
}
}
2018-05-12 15:49:24 +00:00
} ) ;
2019-09-11 06:05:57 +00:00
function sleep ( ms ) {
2019-10-25 07:18:57 +00:00
return new Promise ( resolve => setTimeout ( resolve , ms ) ) ;
2019-09-11 06:05:57 +00:00
}
async function ban ( ) {
$ ( '#login' ) . attr ( 'disabled' , 'disabled' ) ;
$ ( '#pass' ) . attr ( 'disabled' , 'disabled' ) ;
$ ( "input[type=submit], button" ) . button ( 'disable' ) ;
$ ( '.alert' ) . show ( ) ;
$ ( '#ban_10' ) . show ( ) ;
$ ( '#ban_timer' ) . text ( 10 ) ;
let i = 10 ;
while ( i > 0 ) {
i -- ;
await sleep ( 1000 ) ;
$ ( '#ban_timer' ) . text ( i ) ;
}
$ ( '#login' ) . removeAttr ( 'disabled' ) ;
$ ( '#pass' ) . removeAttr ( 'disabled' ) ;
$ ( "input[type=submit], button" ) . button ( 'enable' ) ;
$ ( '#ban_10' ) . hide ( ) ;
}
2018-05-12 15:49:24 +00:00
function replace _text ( id _textarea , text _var ) {
var str = $ ( id _textarea ) . val ( ) ;
var len = str . length ;
var len _var = text _var . length ;
var beg = str . indexOf ( text _var ) ;
var end = beg + len _var
var text _val = str . substring ( 0 , beg ) + str . substring ( end , len ) ;
$ ( id _textarea ) . text ( text _val ) ;
2018-06-29 06:07:24 +00:00
}
2019-12-01 17:15:09 +00:00
function createHistroy ( ) {
try {
var get _history _array = JSON . parse ( Cookies . get ( 'history' ) ) ;
}
catch {
var get _history _array = [ 'login.py' , 'login.py' , 'login.py' ] ;
2020-05-16 18:46:38 +00:00
Cookies . set ( 'history' , JSON . stringify ( get _history _array ) , { expires : 1 , path : '/app' , sameSite : 'Strict' , Secure : 'True' } ) ;
2019-12-01 17:15:09 +00:00
}
}
function listHistroy ( ) {
var browse _history = JSON . parse ( Cookies . get ( 'history' ) ) ;
var history _link = '' ;
var title = [ ]
var link _text = [ ]
for ( let i = 0 ; i < browse _history . length ; i ++ ) {
if ( i == 0 ) {
browse _history [ 0 ] = browse _history [ 1 ] ;
}
2020-07-15 04:16:31 +00:00
if ( i == 1 ) {
2019-12-01 17:15:09 +00:00
browse _history [ 1 ] = browse _history [ 2 ]
}
if ( i == 2 ) {
2020-07-15 04:16:31 +00:00
if ( cur _url [ 1 ] !== undefined ) {
browse _history [ 2 ] = cur _url [ 0 ] + '?' + cur _url [ 1 ]
} else {
browse _history [ 2 ] = cur _url [ 0 ]
}
2019-12-01 17:15:09 +00:00
}
2020-07-02 14:44:13 +00:00
$ ( function ( ) {
2019-12-01 17:15:09 +00:00
$ ( '.menu li ul li' ) . each ( function ( ) {
var link1 = $ ( this ) . find ( 'a' ) . attr ( 'href' ) ;
var link2 = link1 . split ( '/' ) [ 2 ]
2020-07-15 04:16:31 +00:00
if ( browse _history [ i ] . split ( '?' ) [ 0 ] == link2 ) {
2019-12-01 17:15:09 +00:00
title [ i ] = $ ( this ) . find ( 'a' ) . attr ( 'title' ) ;
link _text [ i ] = $ ( this ) . find ( 'a' ) . text ( ) ;
2019-12-04 05:43:03 +00:00
history _link = '<li><a href="' + browse _history [ i ] + '" title="' + title [ i ] + '">' + link _text [ i ] + '</a></li>'
2019-12-01 17:15:09 +00:00
$ ( '#browse_histroy' ) . append ( history _link ) ;
}
} ) ;
} ) ;
}
2020-05-16 18:46:38 +00:00
Cookies . set ( 'history' , JSON . stringify ( browse _history ) , { expires : 1 , path : '/app' , sameSite : 'Strict' , Secure : 'True' } ) ;
2019-12-01 17:15:09 +00:00
}
createHistroy ( )
2020-01-18 23:50:43 +00:00
listHistroy ( )
2020-05-10 06:17:07 +00:00
function changeCurrentGroupF ( ) {
Cookies . remove ( 'group' ) ;
2020-05-16 18:46:38 +00:00
Cookies . set ( 'group' , $ ( '#newCurrentGroup' ) . val ( ) , { path : '/app' , sameSite : 'Strict' , Secure : 'True' } ) ;
2020-05-10 06:17:07 +00:00
location . reload ( ) ;
2020-07-02 14:44:13 +00:00
}
2020-07-15 04:16:31 +00:00
function sort _by _status ( ) {
$ ( '<div id="err_services" style="clear: both;"></div>' ) . appendTo ( '.main' ) ;
$ ( '<div id="good_services" style="clear: both;"></div>' ) . appendTo ( '.main' ) ;
$ ( '<div id="dis_services" style="clear: both;"></div>' ) . appendTo ( '.main' ) ;
$ ( ".good" ) . prependTo ( "#good_services" ) ;
$ ( ".err" ) . prependTo ( "#err_services" ) ;
$ ( ".dis" ) . prependTo ( "#dis_services" ) ;
$ ( '.group' ) . remove ( ) ;
$ ( '.group_name' ) . detach ( ) ;
window . history . pushState ( "SMON Dashboard" , "SMON Dashboard" , cur _url [ 0 ] + "?action=view&sort=by_status" ) ;
}
function showSmon ( action ) {
var sort = '' ;
if ( action == 'refresh' ) {
try {
var location = window . location . href ;
var cur _url = '/app/' + location . split ( '/' ) . pop ( ) ;
cur _url = cur _url . split ( '?' ) ;
cur _url [ 1 ] = cur _url [ 1 ] . split ( '#' ) [ 0 ] ;
sort = cur _url [ 1 ] . split ( '&' ) [ 1 ] ;
sort = sort . split ( '=' ) [ 1 ] ;
} catch ( e ) {
sort = '' ;
}
}
$ . ajax ( {
url : "options.py" ,
data : {
showsmon : 1 ,
sort : sort ,
token : $ ( '#token' ) . val ( )
} ,
type : "POST" ,
success : function ( data ) {
if ( data . indexOf ( 'error' ) != '-1' ) {
alert ( data ) ;
} else {
$ ( "#smon_dashboard" ) . html ( data ) ;
if ( action == 'not_sort' ) {
window . history . pushState ( "SMON Dashboard" , document . title , "smon.py?action=view" ) ;
} else {
window . history . pushState ( "SMON Dashboard" , document . title , cur _url [ 0 ] + "?" + cur _url [ 1 ] ) ;
}
}
}
} ) ;
}