var url = "/inc/script.js"; var cur_url = window.location.href.split('/').pop(); cur_url = cur_url.split('?'); var intervalId; $( function() { $('.menu li ul li').each(function () { var link = $(this).find('a').attr('href'); var link2 = link.split('/')[2] if (cur_url[0] == link2) { $(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'); } }); }); 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)); } window.onblur= function() { window.onfocus= function () { if(Cookies.get('auto-refresh-pause') == "0" && Cookies.get('auto-refresh') > 5000) { 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(); } else if (cur_url[0] == "metrics.py") { showMetrics(); } } } }; if(Cookies.get('restart')) { var ip = Cookies.get('restart'); $.ajax( { url: "options.py", data: { act: "checkrestart", serv: ip, token: $('#token').val() }, type: "POST", success: function( data ) { if(data.indexOf('ok') != '-1') { $("#apply").css('display', 'block'); $("#apply_div").css('width', '850px'); if (cur_url[0] == "hapservers.py") { $("#apply_div").css('width', '650px'); $("#apply_div").html("You made changes to the server: "+ip+". Changes will take effect only afterrestartX"); } else { $("#apply_div").html("You made changes to the server: "+ip+". Changes will take effect only after restart. Go to the HAProxy Overview page and restartX"); } $.getScript('/inc/overview.js'); } } } ); } function autoRefreshStyle(autoRefresh) { var margin; if (cur_url[0] == "overview.py" || cur_url[0] == "waf.py" || cur_url[0] == "metrics.py") { if(autoRefresh < 60000) { autoRefresh = 60000; } } 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" autoRefresh = autoRefresh / 3600; } else { timeRange = " seconds"; } $('#1').text(autoRefresh + timeRange); $('#0').text(autoRefresh + timeRange); $('.auto-refresh-pause').css('display', 'inline'); $('.auto-refresh-resume').css('display', 'none'); $('.auto-refresh-pause').css('margin-left', "-25px"); $('.auto-refresh-resume').css('margin-left', "-25px"); $('.auto-refresh img').remove(); } function setRefreshInterval(interval) { if (interval == "0") { Cookies.remove('auto-refresh'); pauseAutoRefresh(); $('.auto-refresh').prepend('restart'); $('.auto-refresh').css('margin-top', '-3px'); $('#1').text('Auto-refresh'); $('#0').text('Auto-refresh'); $('.auto-refresh-pause').css('display', 'none'); $('.auto-refresh-resume').css('display', 'none'); hideAutoRefreshDiv(); } else { clearInterval(intervalId); Cookies.set('auto-refresh', interval, { expires: 365 }); Cookies.set('auto-refresh-pause', "0", { expires: 365 }); startSetInterval(interval); hideAutoRefreshDiv(); autoRefreshStyle(interval); } } function startSetInterval(interval) { 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; } intervalId = setInterval('showOverview()', interval); showOverview(ip, hostnamea); } else if (cur_url[0] == "viewlogs.py") { intervalId = setInterval('viewLogs()', interval); viewLogs(); } else if (cur_url[0] == "metrics.py") { if(interval < 60000) { interval = 60000; } intervalId = setInterval('showMetrics()', interval); showMetrics(); } else if (cur_url[0] == "waf.py") { if(interval < 60000) { interval = 60000; } intervalId = setInterval('showOverviewWaf()', interval); showOverviewWaf(); showWafMetrics(); } else if (cur_url[0] == "hapservers.py") { if(interval < 60000) { interval = 60000; } intervalId = setInterval('showMetrics()', interval); showMetrics(); } } else { pauseAutoRefresh(); } } function pauseAutoRefresh() { clearInterval(intervalId); $(function() { $('.auto-refresh-pause').css('display', 'none'); $('.auto-refresh-resume').css('display', 'inline'); Cookies.set('auto-refresh-pause', "1", { expires: 365 }); }); } function pauseAutoResume(){ var autoRefresh = Cookies.get('auto-refresh'); setRefreshInterval(autoRefresh); Cookies.set('auto-refresh-pause', "0", { expires: 365 }); } function hideAutoRefreshDiv() { $(function() { $('.auto-refresh-div').hide("blind", "fast"); $('#1').css("display", "none"); $('#0').css("display", "inline"); }); } $( document ).ajaxSend(function( event, request, settings ) { $('#cover').fadeIn('fast'); NProgress.start(); }); $( document ).ajaxComplete(function( event, request, settings ) { $('#cover').fadeOut('fast'); NProgress.done(); }); function showOverviewWaf() { if (cur_url[0] == "waf.py") { $.getScript('/inc/chart.min.js'); showWafMetrics() } $.ajax( { url: "options.py", data: { act: "overviewwaf", page: cur_url[0], token: $('#token').val() }, beforeSend: function() { if (cur_url[0] == "waf.py") { var load_class = 'loading_full_page' } else { var load_class = 'loading' } $('#ajaxwafstatus').html('') }, type: "POST", success: function( data ) { $("#ajaxwafstatus").empty(); $("#ajaxwafstatus").html(data); $.getScript('/inc/overview.js'); if (cur_url[0] == "waf.py") { $.getScript('/inc/waf.js'); $( "input[type=submit], button" ).button(); $( "input[type=checkbox]" ).checkboxradio(); } else { $('.first-collumn-wi').css('padding', '10px'); } } } ); } function showStats() { $.ajax( { url: "options.py", data: { act: "stats", serv: $("#serv").val(), token: $('#token').val() }, type: "POST", success: function( data ) { $("#ajax").html(data); window.history.pushState("Stats", "Stats", cur_url[0]+"?serv="+$("#serv").val()); wait(); } } ); } function openStats() { var serv = $("#serv").val(); var url = "viewsttats.py?serv="+serv var win = window.open(url, '_blank'); win.focus(); } function openVersions() { var serv = $("#serv").val(); var url = "versions.py?serv="+serv+"&open=open" var win = window.open(url,"_self"); win.focus(); } function showLog() { var waf = 0; if ($('#waf').is(':checked')) { waf = '1'; } var rows = $('#rows').val() var grep = $('#grep').val() 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() $.ajax( { url: "options.py", data: { rows: rows, serv: $("#serv").val(), waf: waf, grep: grep, hour: hour, minut: minut, hour1: hour1, minut1: minut1, token: $('#token').val() }, type: "POST", success: function( data ) { $("#ajax").html(data); window.history.pushState("Logs", "Logs", cur_url[0]+"?serv="+$("#serv").val()+ '&rows='+rows+ '&grep='+grep+ '&hour='+hour+ '&minut='+minut+ '&hour1='+hour1+ '&minut1='+minut1+ '&waf='+waf); } } ); } function showMap() { $("#ajax").empty(); $("#ajax-compare").empty(); $("#config").empty(); $(".alert-info").empty(); var unique = $.now(); $.ajax( { url: "options.py", data: { serv: $("#serv").val(), act: "showMap", token: $('#token').val() }, type: "POST", success: function( data ) { $("#ajax").html(data); window.history.pushState("Show map", "Show map", cur_url[0]+'?serv='+$("#serv").val()+'&showMap'); } } ); } function showRuntime() { if($('#save').prop('checked')) { saveCheck = "on"; } else { saveCheck = ""; } $.ajax( { url: "options.py", data: { servaction: $('#servaction').val(), serv: $("#serv").val(), servbackend: $("#servbackend").val(), save: saveCheck, token: $('#token').val() }, type: "POST", success: function( data ) { $("#ajaxruntime").html(data); } } ); } function showCompare() { $.ajax( { url: "options.py", data: { serv: $("#serv").val(), left: $('#left').val(), right: $("#right").val(), token: $('#token').val() }, type: "POST", success: function( data ) { $("#ajax").html(data); } } ); } function showCompareConfigs() { $("#ajax").empty(); $("#config").empty(); $(".alert-info").empty(); $.ajax( { url: "options.py", data: { serv: $("#serv").val(), act: "showCompareConfigs", open: "open", token: $('#token').val() }, type: "POST", success: function( data ) { $("#ajax-compare").html(data); $( "input[type=submit], button" ).button(); $( "select" ).selectmenu(); window.history.pushState("Show compare config", "Show compare config", cur_url[0]+'?serv='+$("#serv").val()+'&showCompare'); } } ); } function showConfig() { $("#ajax").empty(); $("#ajax-compare").empty(); $("#config").empty(); $(".alert-info").empty(); $.ajax( { url: "options.py", data: { serv: $("#serv").val(), act: "configShow", token: $('#token').val() }, type: "POST", success: function( data ) { $("#ajax").html(data); $.getScript('/inc/configshow.js'); window.history.pushState("Show config", "Show config", cur_url[0]+'?serv='+$("#serv").val()+'&showConfig'); } } ); } function showUploadConfig() { var view = $('#view').val(); if(view != "1") { view = "" } $.ajax( { url: "options.py", data: { serv: $("#serv").val(), act: "configShow", configver: $('#configver').val(), token: $('#token').val(), view: view }, type: "POST", success: function( data ) { $("#ajax").html(data); if(view == "1") { window.history.pushState("Show config", "Show config", cur_url[0]+"?serv="+$("#serv").val()+"&open=open&configver="+$('#configver').val()+"&view="+$('#view').val()); } else { window.history.pushState("Show config", "Show config", cur_url[0]+"?serv="+$("#serv").val()+"&open=open&configver="+$('#configver').val()); } $.getScript('/inc/configshow.js'); } } ); } function viewLogs() { if($('#viewlogs').val() == 'haproxy-wi.error.log' || $('#viewlogs').val() == 'haproxy-wi.access.log') { showApacheLog($('#viewlogs').val()); } else { var rows = $('#rows').val() var grep = $('#grep').val() 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() $.ajax( { url: "options.py", data: { viewlogs: $('#viewlogs').val(), rows: rows, grep: grep, hour: hour, minut: minut, hour1: hour1, minut1: minut1, token: $('#token').val(), }, type: "POST", success: function( data ) { $("#ajax").html(data); window.history.pushState("View logs", "View logs", cur_url[0]+"?viewlogs="+$("#viewlogs").val()+ '&rows='+rows+ '&grep='+grep+ '&hour='+hour+ '&minut='+minut+ '&hour1='+hour1+ '&minut1='+minut1); } } ); } } $( function() { $('#errorMess').click(function(){ $('#error').remove(); }); $( "#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"); } var pause = '' var autoRefresh = Cookies.get('auto-refresh'); if ($('.auto-refresh')) { if(autoRefresh) { startSetInterval(autoRefresh); autoRefreshStyle(autoRefresh); } } $( "#tabs" ).tabs(); $( "select" ).selectmenu(); // var tooltips = $( "[title]" ).tooltip(); $( "input[type=submit], button" ).button(); $( "input[type=checkbox]" ).checkboxradio(); $( ".controlgroup" ).controlgroup(); $( "#hide_menu" ).click(function() { $(".top-menu").hide( "drop", "fast" ); $(".container").css("max-width", "100%"); $(".footer").css("max-width", "97%"); $(".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" ); $(".container").css("max-width", "100%"); $(".footer").css("max-width", "100%"); $(".container").css("margin-left", "207px"); $(".footer").css("margin-left", "207px"); $(".show_menu").hide(); $("#hide_menu").show(); Cookies.set('hide_menu', 'show', { expires: 365 }); }); var hideMenu = Cookies.get('hide_menu'); if (hideMenu == "show") { $(".top-menu").show( "drop", "fast" ); $(".container").css("max-width", "100%"); $(".container").css("margin-left", "207px"); $(".footer").css("margin-left", "207px"); $(".footer").css("max-width", "100%"); $("#hide_menu").show(); $(".show_menu").hide(); } if (hideMenu == "hide") { $(".top-menu").hide(); $(".container").css("max-width", "97%"); $(".container").css("margin-left", "1%"); $(".footer").css("margin-left", "1%"); $(".footer").css("max-width", "97%"); $(".show_menu").show(); $("#hide_menu").hide(); } var now = new Date(Date.now()); 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(); } $("#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); if(hours1.toString().length == 1) hours1 = '0' + hours1; if(minutes1.toString().length == 1) minutes1 = '0' + minutes1; 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); } } }); var date1_hours = Math.floor(date1/60); var date2_hours = date1_hours + 1; var date2_minute = now.getMinutes() if(date1_hours <= 9) date1_hours = '0' + date1_hours; if(date2_hours <= 9) date2_hours = '0' + date2_hours; if(date2_minute <= 9) date2_minute = '0' + date2_minute; 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); } $('#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"); }); $('#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"); } }); $('#runtimeapiform').submit(function() { showRuntime(); return false; }); $('#auth').submit(function() { let searchParams = new URLSearchParams(window.location.search) if(searchParams.has('ref')) { var ref = searchParams.get('ref'); } else { var ref = "overview.py"; } $.ajax( { url: "login.py", data: { login: $('#login').val(), pass: $('#pass').val() }, type: "POST", success: function( data ) { if (data.indexOf('ok') != '-1') { window.location.replace(ref); } else if (data.indexOf('ban') != '-1') { ban(); } } } ); return false; }); 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(); } } }); $('#show-updates-button').click(function() { showUpdates.dialog('open'); }); var location = window.location.href; var cur_url = '/app/' + location.split('/').pop(); cur_url = cur_url.split('?'); cur_url = cur_url[0].split('#'); if (cur_url[0] == "/app/users.py" || cur_url[0] == "/app/servers.py") { $( ".users" ).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(".users").css('padding-left', '30px'); $(this).children(".users").css('border-left', '4px solid #5D9CEB'); }); $( "#tabs" ).tabs( "option", "active", 0 ); } ); 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 ); } ); $( ".admin" ).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(".admin").css('padding-left', '30px'); $(this).children(".admin").css('border-left', '4px solid #5D9CEB'); }); $( "#tabs" ).tabs( "option", "active", 3 ); } ); $( ".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 ); } ); $( ".updatehapwi" ).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(".updatehapwi").css('padding-left', '30px'); $(this).children(".updatehapwi").css('border-left', '4px solid #5D9CEB'); }); $( "#tabs" ).tabs( "option", "active", 6 ); } ); } 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'); $(this).children(".runtime").css('padding-left', '30px'); $(this).children(".runtime").css('border-left', '4px solid #5D9CEB'); }); $( "#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'); }); $( "#tabs" ).tabs( "option", "active", 2 ); } ); $( ".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 ); } ); } } $( "#haproxyaddserv" ).on('selectmenuchange',function() { $.ajax( { url: "options.py", data: { get_hap_v: 1, serv: $('#haproxyaddserv option:selected').val(), token: $('#token').val() }, type: "POST", success: function( data ) { data = data.replace(/^\s+|\s+$/g,''); if(data != '') { data = data+'-1'; $('#cur_hap_ver').text(data); $('#install').text('Update'); $('#install').attr('title', 'Update HAProxy'); $('#syn_flood').checkboxradio('disable'); $('#syn_flood').prop( "checked", false ); $('#syn_flood').checkboxradio('refresh'); } else { $('#cur_hap_ver').text('HAProxy has not installed'); $('#install').text('Install'); $('#install').attr('title', 'Install HAProxy'); $('#syn_flood').checkboxradio('enable'); $('#syn_flood').prop( "checked", true ); $('#syn_flood').checkboxradio('refresh'); } } } ); }); }); function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } 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(); } 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); } function createList(color) { if(color == 'white') { list = $('#new_whitelist_name').val() } else { list = $('#new_blacklist_name').val() } $.ajax( { url: "options.py", data: { bwlists_create: list, color: color, group: $('#group').val(), token: $('#token').val() }, type: "POST", success: function( data ) { $("#ajax").html(data); setTimeout(function() { location.reload(); }, 2500 ); } } ); } function editList(list, color) { $.ajax( { url: "options.py", data: { bwlists: list, color: color, group: $('#group').val(), token: $('#token').val() }, type: "POST", success: function( data ) { if (data.indexOf('danger') != '-1') { $("#ajax").html(data); } else { $('.alert-danger').remove(); $('#edit_lists').text(data); $( "#dialog-confirm" ).dialog({ resizable: false, height: "auto", width: 650, modal: true, title: "Edit "+color+" list "+list, buttons: { "Just save": function() { $( this ).dialog( "close" ); saveList('save', list, color); }, "Save and restart": function() { $( this ).dialog( "close" ); saveList('restart', list, color); }, Cancel: function() { $( this ).dialog( "close" ); } } }); } } } ); } function saveList(action, list, color) { $.ajax( { url: "options.py", data: { bwlists_save: list, bwlists_content: $('#edit_lists').val(), color: color, group: $('#group').val(), bwlists_restart: action, token: $('#token').val() }, type: "POST", success: function( data ) { $("#ajax").html(data); } } ); } function createHistroy() { try { var get_history_array = JSON.parse(Cookies.get('history')); } catch { var get_history_array = ['login.py', 'login.py','login.py']; Cookies.set('history', JSON.stringify(get_history_array), { expires: 1, path: '/app' }); } } 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) { if(browse_history[0] == browse_history[1]) { continue } browse_history[0] = browse_history[1]; } if (i == 1) { if(browse_history[1] == browse_history[2]) { continue } browse_history[1] = browse_history[2] } if (i == 2) { browse_history[2] = cur_url[0] } $( function() { $('.menu li ul li').each(function () { var link1 = $(this).find('a').attr('href'); var link2 = link1.split('/')[2] if (browse_history[i] == link2) { title[i] = $(this).find('a').attr('title'); link_text[i] = $(this).find('a').text(); history_link = '
  • '+link_text[i]+'
  • ' $('#browse_histroy').append(history_link); } }); }); } Cookies.set('history', JSON.stringify(browse_history), { expires: 1, path: '/app' }); } createHistroy() listHistroy()