var awesome = "/inc/fontawesome.min.js"
function showOverviewWaf ( serv , hostnamea ) {
$ . getScript ( '/inc/chart.min.js' ) ;
showWafMetrics ( ) ;
var i ;
for ( i = 0 ; i < serv . length ; i ++ ) {
showOverviewWafCallBack ( serv [ i ] , hostnamea [ i ] )
}
$ . getScript ( '/inc/overview.js' ) ;
$ . getScript ( '/inc/waf.js' ) ;
}
function showOverviewWafCallBack ( serv , hostnamea ) {
$ . ajax ( {
url : "options.py" ,
data : {
act : "overviewwaf" ,
serv : serv ,
token : $ ( '#token' ) . val ( )
} ,
beforeSend : function ( ) {
$ ( "#" + hostnamea ) . html ( '<img class="loading_small" src="/inc/images/loading.gif" />' ) ;
} ,
type : "POST" ,
success : function ( data ) {
$ ( "#" + hostnamea ) . empty ( ) ;
$ ( "#" + hostnamea ) . html ( data )
$ ( "input[type=submit], button" ) . button ( ) ;
$ ( "input[type=checkbox]" ) . checkboxradio ( ) ;
$ . getScript ( '/inc/overview.js' ) ;
$ . getScript ( awesome ) ;
}
} ) ;
}
function metrics _waf ( name ) {
var enable = 0 ;
if ( $ ( '#' + name ) . is ( ':checked' ) ) {
enable = '1' ;
}
name = name . split ( 'metrics' ) [ 1 ]
$ . ajax ( {
url : "options.py" ,
data : {
metrics _waf : name ,
enable : enable ,
token : $ ( '#token' ) . val ( )
} ,
type : "POST" ,
success : function ( data ) {
showOverviewWaf ( ip , hostnamea ) ;
setTimeout ( function ( ) {
$ ( "#" + name ) . parent ( ) . parent ( ) . removeClass ( "update" ) ;
} , 2500 ) ;
}
} ) ;
}
function installWaf ( ip1 ) {
$ ( "#ajax" ) . html ( '' )
$ ( "#ajax" ) . html ( '<div class="alert alert-warning">Please don\'t close and don\'t represh page. Wait until the work is completed. This may take some time </div>' ) ;
$ . ajax ( {
url : "options.py" ,
data : {
installwaf : ip1 ,
token : $ ( '#token' ) . val ( )
} ,
type : "POST" ,
success : function ( data ) {
data = data . replace ( /\s+/g , ' ' ) ;
if ( data . indexOf ( 'error:' ) != '-1' || data . indexOf ( 'Failed' ) != '-1' ) {
toastr . error ( data ) ;
} else if ( data . indexOf ( 'Info' ) != '-1' ) {
toastr . clear ( ) ;
toastr . info ( data ) ;
} else if ( data . indexOf ( 'success' ) != '-1' ) {
toastr . clear ( ) ;
toastr . success ( 'WAF service has installed' ) ;
showOverviewWaf ( ip , hostnamea )
}
}
} ) ;
}
function changeWafMode ( id ) {
var waf _mode = $ ( '#' + id + ' option:selected' ) . val ( ) ;
var server _hostname = id . split ( '_' ) [ 0 ] ;
$ . ajax ( {
url : "options.py" ,
data : {
change _waf _mode : waf _mode ,
server _hostname : server _hostname ,
token : $ ( '#token' ) . val ( )
} ,
type : "POST" ,
success : function ( data ) {
toastr . info ( 'Do not forget restart WAF service' ) ;
$ ( '#' + server _hostname + '-select-line' ) . addClass ( "update" , 1000 ) ;
setTimeout ( function ( ) {
$ ( '#' + server _hostname + '-select-line' ) . removeClass ( "update" ) ;
} , 2500 ) ;
}
} ) ;
}
$ ( function ( ) {
$ ( "#waf_rules input" ) . change ( function ( ) {
var id = $ ( this ) . attr ( 'id' ) . split ( '-' ) ;
waf _rules _en ( id [ 1 ] )
} ) ;
} ) ;
function waf _rules _en ( id ) {
var enable = 0 ;
if ( $ ( '#rule_id-' + id ) . is ( ':checked' ) ) {
enable = '1' ;
}
$ . ajax ( {
url : "options.py" ,
data : {
waf _rule _id : id ,
waf _en : enable ,
token : $ ( '#token' ) . val ( )
} ,
type : "POST" ,
success : function ( data ) {
toastr . info ( 'Do not forget restart WAF service' ) ;
$ ( '#rule-' + id ) . addClass ( "update" , 1000 ) ;
setTimeout ( function ( ) {
$ ( '#rule-' + id ) . removeClass ( "update" ) ;
} , 2500 ) ;
}
} ) ;
}