$( function() { $(".redirectUpstream").on("click", function () { resetProxySettings(); $("#tabs").tabs("option", "active", 2); $("#serv2").selectmenu("open"); }); $(".redirectProxyPass").on("click", function () { resetProxySettings(); $("#tabs").tabs("option", "active", 1); $("#serv1").selectmenu("open"); }); $("#create-ssl-proxy_pass").on("click", function () { resetProxySettings(); createSsl(1); }); $("#serv2").on('selectmenuchange', function () { $('#name').focus(); }); $('[name=add-server-input]').click(function () { $("[name=add_servers]").append(add_server_nginx_var); }); $('.advance-show-button').click(function () { $('.advance').fadeIn(); $('.advance-show-button').css('display', 'none'); $('.advance-hide-button').css('display', 'block'); return false; }); $('.advance-hide-button').click(function () { $('.advance').fadeOut(); $('.advance-show-button').css('display', 'block'); $('.advance-hide-button').css('display', 'none'); return false; }); $("#scheme").on('selectmenuchange', function () { if ($("#scheme option:selected").val() === "http") { $('#hide-scheme').hide(); } else { $('#hide-scheme').show(); } }); $("#compression").click(function () { if ($("#compression").is(':checked')) { $('#compression-options').show(); } else { $('#compression-options').hide(); } }); $("#show_header").on("click", function () { $("#header_div").show(); $("#add_header").show(); $("#show_header").hide(); }); $("#add_header").click(function () { make_actions_for_adding_header('#header_div'); }); $("#show_alias").on("click", function () { $("#name_alias_div").show(); $("#add_name_alias").show(); $("#show_alias").hide(); }); $("#add_name_alias").click(function () { make_actions_for_adding_alias('#name_alias_div'); }); for (let section_type of ['ssl_key', 'ssl_crt']) { let cert_type = section_type.split('_')[1]; $("#" + section_type).autocomplete({ source: function (request, response) { let server = $("#add-proxy_pass select[name='server'] option:selected"); if (!checkIsServerFiled("#add-proxy_pass select[name='server'] option:selected")) return false; $.ajax({ url: "/add/certs/" + server.val() + "?cert_type=" + cert_type, success: function (data) { data = data.replace(/\s+/g, ' '); response(data.split(" ")); } }); }, autoFocus: true, minLength: -1 }); } $("#proxy_pass-upstream").autocomplete({ source: function (request, response) { let server = $("#add-proxy_pass select[name='server'] option:selected"); if (!checkIsServerFiled("#add-proxy_pass select[name='server'] option:selected")) return false; $.ajax({ url: "/add/get/upstreams/" + server.val(), success: function (data) { data = data.replace(/\s+/g, ' '); response(data.split(" ")); } }); }, autoFocus: true, minLength: -1 }); $("#add5").on("click", function () { $("#tabs").tabs("option", "active", 3); }); }); var header_option = '
\n' + '' + '\t'+name_word+'' + '\t' + '\t'+value_word+'' + '\t' + '\t' + '
' function make_actions_for_adding_header(section_id) { let random_id = makeid(3); $(section_id).append(header_option); $('#new_header_minus').attr('onclick', 'deleteId(\''+random_id+'\')'); $('#new_header_minus').attr('id', ''); $('#new_header_p').attr('id', random_id); $('#new_header_minus').attr('id', ''); $.getScript(awesome); $( "select" ).selectmenu(); $('[name=headers_method]').selectmenu({width: 180}); } var alias_option = '\n' + '' + '\t' + '
' function make_actions_for_adding_alias(section_id) { let random_id = makeid(3); $(section_id).append(alias_option); $('#new_name_alias_minus').attr('onclick', 'deleteId(\''+random_id+'\')'); $('#new_name_alias_minus').attr('id', ''); $('#new_name_alias_p').attr('id', random_id); $('#new_name_alias_minus').attr('id', ''); $.getScript(awesome); } function deleteId(id) { $('#' + id).remove(); } function resetProxySettings() { $('[name=name]').val(''); $('input:checkbox').prop("checked", false); $('[name=check-servers]').prop("checked", true); $('input:checkbox').checkboxradio("refresh"); $('.advance-show').fadeIn(); $('.advance').fadeOut(); $('select').selectmenu('refresh'); $("#path-cert-listen").attr('required', false); $("#path-cert-frontend").attr('required', false); } function addProxy(form_name, generate = false) { let frm = $('#'+form_name); let serv = '#serv1'; let name_id = ''; if (form_name === 'add-upstream') { serv = '#serv2' name_id = '#upstream-name' } else if (form_name === 'add-proxy_pass') { serv = '#serv1' name_id = '#proxy_pass' } if(!checkIsServerFiled(serv)) return false; if(!checkIsServerFiled(name_id, 'The name cannot be empty')) return false; let json_data = getNginxFormData(frm, form_name); let section_type = form_name.split('-')[1] let q_generate = ''; if (generate) { q_generate = '?generate=1'; } $.ajax({ url: '/add/nginx/' + $(serv).val() + '/section/' + section_type + q_generate, data: JSON.stringify(json_data), type: frm.attr('method'), contentType: "application/json; charset=utf-8", success: function( data ) { if (data.status === 'failed') { toastr.error(data.error) } else if (data === '') { toastr.clear(); toastr.error('error: Something went wrong. Check configuration'); } else { if (generate) { $('#dialog-confirm-body').text(data.data); let generated_title = translate_div.attr('data-generated_config'); $("#dialog-confirm-cert").dialog({ resizable: false, height: "auto", width: 650, modal: true, title: generated_title, buttons: { Ok: function () { $(this).dialog("close"); } } }); } else { toastr.clear(); data.data = data.data.replace(/\n/g, "