diff --git a/web/js/_settings.js b/web/js/_settings.js index 1dd89d73..47e07e5c 100644 --- a/web/js/_settings.js +++ b/web/js/_settings.js @@ -69,7 +69,7 @@ App.Settings.Imutable.IP = ['INTERFACE']; // Empty App.Empty = {}; App.Empty.USER = {'CONTACT':'', 'PASSWORD':'','LOGIN_NAME':'','LNAME':'', 'FNAME':'','NS1':'','NS2':'','NS3':'','NS4':'','NS5':'','NS6':'','NS7':'','NS8':''}; -App.Empty.WEB_DOMAIN = {'CONTACT':'', 'PASSWORD':'','LOGIN_NAME':'','NS':'', 'DOMAIN':'','SSL_CERT':'','SSL_KEY':'','SSL_HOME':'','STATS_PASSWORD':'','STATS_LOGIN':'','ALIAS':''}; +App.Empty.WEB_DOMAIN = {'CONTACT':'', 'PASSWORD':'','LOGIN_NAME':'','NS':'', 'DOMAIN':'','SSL_CERT':'','SSL_KEY':'','SSL_HOME':'','STATS_PASSWORD':'','STATS_LOGIN':'','ALIAS':'', 'SSL_CA':'', 'SSL_CRT':'','NGINX_EXT':''}; App.Empty.DB = {'DB':'', 'USER':'','FORM':'', 'PASSWORD': ''}; App.Settings.getMethodName = function(action) diff --git a/web/js/actions.js b/web/js/actions.js index 6f969e48..5b748e70 100644 --- a/web/js/actions.js +++ b/web/js/actions.js @@ -1,3 +1,19 @@ +App.Actions.toggle_ssl_support = function(evt, elm) +{ + if (!elm) { + var elm = $(evt.target); + } + + var ref = elm.hasClass('form') ? elm : elm.parents('.form'); + fb.log(ref); + if (ref.find('.ssl_support').attr('checked')) { + $('.ssl-crtfct-box', ref).removeClass('hidden'); + } + else { + $('.ssl-crtfct-box', ref).addClass('hidden'); + } +} + App.Actions.view_nginx_extensions = function(evt) { var elm = $(evt.target); diff --git a/web/js/html.js b/web/js/html.js index 94aba7bb..b411fef3 100644 --- a/web/js/html.js +++ b/web/js/html.js @@ -146,6 +146,12 @@ App.HTML.Build.web_domain_form = function (options, id) { tpl.set(':title', 'Edit WEB domain'); tpl.set(':save_button', 'SAVE'); tpl.set(':DELETE_ACTION', App.Templates.get('DELETE_ACTION', 'general').finalize()); + if (options.SSL == 'yes') { + tpl.set(':ssl_checked', 'checked="checked"'); + } + else { + tpl.set(':ssl_checked', ''); + } } options = !App.Helpers.isEmpty(options) ? options : App.Empty.WEB_DOMAIN; if (in_edit == true) { @@ -581,6 +587,9 @@ App.HTML.Build.ssl_key_file = function () { App.HTML.Build.ssl_cert_file = function () { return ''; } +App.HTML.Build.ssl_ca_file = function () { + return ''; +} App.HTML.Build.user_selects = function (tpl, options) { var acc = []; var pkg = App.Env.initialParams.USERS.PACKAGE; @@ -615,6 +624,7 @@ App.HTML.Build.db_selects = function (tpl, options) { acc[acc.length++] = tpl.finalize(); }); tpl.set(':TYPE_OPTIONS', acc.done()); + acc = []; var items = App.Env.initialParams.DB.HOST; $.each(items, function (val) { @@ -625,6 +635,18 @@ App.HTML.Build.db_selects = function (tpl, options) { acc[acc.length++] = tpl.finalize(); }); tpl.set(':HOST_OPTIONS', acc.done()); + + acc = []; + var items = App.Env.initialParams.DB.ENCODING; + $.each(items, function (val) { + var tpl = App.Templates.get('select_option', 'general'); + tpl.set(':VALUE', val); + tpl.set(':TEXT', items[val]); + tpl.set(':SELECTED', val == options.ENCODING ? 'selected="selected"' : ''); + acc[acc.length++] = tpl.finalize(); + }); + tpl.set(':ENCODING_OPTIONS', acc.done()); + return tpl; } App.HTML.Build.ip_selects = function (tpl, options) { diff --git a/web/js/pages.js b/web/js/pages.js index 07d01b5e..381059d2 100644 --- a/web/js/pages.js +++ b/web/js/pages.js @@ -87,8 +87,11 @@ App.Pages.WEB_DOMAIN.new_entry = function(evt) $('#'+form_id).find('.ns-entry, .additional-ns-add').addClass('hidden'); var ssl_key_upload = App.HTML.Build.ssl_key_file(); var ssl_cert_upload = App.HTML.Build.ssl_cert_file(); + var ssl_ca_upload = App.HTML.Build.ssl_ca_file(); $('#'+form_id).find('.ssl-key-input-dummy:first').replaceWith(ssl_key_upload); $('#'+form_id).find('.ssl-cert-input-dummy:first').replaceWith(ssl_cert_upload); + $('#'+form_id).find('.ssl-ca-input-dummy:first').replaceWith(ssl_ca_upload); + App.Actions.toggle_ssl_support({}, $('#'+form_id)); } App.Pages.WEB_DOMAIN.edit = function(evt) @@ -102,9 +105,14 @@ App.Pages.WEB_DOMAIN.edit = function(evt) // ssls uploads var ssl_key_upload = App.HTML.Build.ssl_key_file(); var ssl_cert_upload = App.HTML.Build.ssl_cert_file(); + var ssl_ca_upload = App.HTML.Build.ssl_ca_file(); tpl = tpl.replace('...', ssl_key_upload); tpl = tpl.replace('...', ssl_cert_upload); - elm.replaceWith(tpl); + tpl = tpl.replace('...', ssl_cert_upload); + var tmp_elm = $('
').html(tpl); + App.Actions.toggle_ssl_support({}, tmp_elm.find('.form')); + elm.replaceWith(tmp_elm.html()); + App.Helpers.disableNotEditable(); App.Helpers.updateScreen(); diff --git a/web/js/templates.js b/web/js/templates.js index 8c305210..d872d147 100644 --- a/web/js/templates.js +++ b/web/js/templates.js @@ -666,9 +666,9 @@ App.Templates.html = {
\
\ \ - \ + \
\ -
\ +
\ \ \
\ @@ -684,7 +684,7 @@ App.Templates.html = {
\
\ \ - ...\ + ...\ \
\ \ @@ -697,7 +697,7 @@ App.Templates.html = { \ \