diff --git a/web/css/main.css b/web/css/main.css index 3d75a1cd7..3a25d37cb 100644 --- a/web/css/main.css +++ b/web/css/main.css @@ -3,7 +3,7 @@ Title : Vesta Author : Eugen Lobicov, eugen.lobicov@gmail.com created : November 27, 2009 -last updated : January 11, 2012 +last updated : January 12, 2012 - - - - - - - - - - - - - - - - - - */ html{ @@ -585,7 +585,7 @@ input::-moz-focus-inner{ width:11px; height:11px; margin:2px 5px 0 0; - background:url(../images/chekbox-selector.png) no-repeat; + background:url(../images/checkbox-selector.png) no-repeat; cursor:pointer; } .checkbox-selector .selector-title{ @@ -610,18 +610,6 @@ input::-moz-focus-inner{ font-size: 12px; background-color: #fff; -/* background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white)); - background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%); - background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%); - background-image: -o-linear-gradient(top, #eeeeee 0%,#ffffff 50%); - background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 50%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 ); - background-image: linear-gradient(top, #eeeeee 0%,#ffffff 50%); - - -moz-background-clip : padding; - -webkit-background-clip: padding-box; - background-clip : padding-box; -*/ box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10); -moz-box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10); @@ -652,15 +640,6 @@ input::-moz-focus-inner{ background-clip : padding-box; background: #ccc; -/* background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee)); - background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%); - background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%); - background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%); - background-image: -ms-linear-gradient(top, #cccccc 0%,#eeeeee 60%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#eeeeee',GradientType=0 ); - background-image: linear-gradient(top, #cccccc 0%,#eeeeee 60%); -*/ - background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.6, #f5f4ef)); background-image: -webkit-linear-gradient(center bottom, #fff 0%, #f5f4ef 60%); background-image: -moz-linear-gradient(center bottom, #fff 0%, #f5f4ef 60%); @@ -1676,10 +1655,10 @@ input::-moz-focus-inner{ width:18px; height:18px; margin:6px 0 0; - background:url(../images/checkboxes.png) no-repeat; + background:url(/images/form-checkboxes.png) no-repeat; } .b-new-entry .checkbox:hover{ - background-position:0 -98px; + background-position:0 -100px; } .b-new-entry .stats-settings{ padding-left:40px; @@ -1687,10 +1666,6 @@ input::-moz-focus-inner{ .b-new-entry .db-credentials .field-label{ text-indent:40px; } - /*.b-new-entry .pwd-box .text-field{ - float:left; - margin:0 15px 0 0; - }*/ .b-new-entry_user .lastname-box{ margin-bottom:30px; } @@ -1774,26 +1749,6 @@ input::-moz-focus-inner{ border-top:1px solid #dcdbad; background:url(../images/form-bottom-bg.png) repeat-x; } -/* .b-new-entry .help-btn{ - position:absolute; - top:13px; - right:20px; - font-size:11px; - line-height:12px; - color:#b4b39f; - text-transform:uppercase; - cursor:pointer; - border-bottom:1px solid #b4b39f; - text-decoration:none; - } - .b-new-entry .help-btn:hover{ - color:#000; - border-bottom-color:#9fb35a; - } - .b-new-entry .help-btn:active{ - color:#4B9427; - } -*/ .b-new-entry .cancel-btn{ @@ -1893,7 +1848,6 @@ input::-moz-focus-inner{ height:32px; font-size:0; line-height:0; -/* background:#fff url(../images/select-arrow.png) no-repeat 100% 50%;*/ background:#fff url(../images/autocomplete-field-arrows-sprite.png) no-repeat; cursor:pointer; } @@ -1981,12 +1935,6 @@ input::-moz-focus-inner{ .b-new-detailed-restore .add-entry-btn{ padding:0 30px; } -/* - .b-new-detailed-restore .cancel-btn{ - left:auto; - right:16px; - } -*/ /* Show/edit dns records form - - - - - - - - - - - - - - - - - - - */ @@ -2206,19 +2154,12 @@ input::-moz-focus-inner{ background:url(../images/stats-brace.png) no-repeat 0 50%; } .stats-box-title{ - /* - background: url("../images/stats-curve.png") no-repeat 85% 50%; - - line-height: 61px; - margin-right: 33px; - padding-right: 35px; - */ position:absolute; top:50%; left:-68px; width:28px; - margin-top:-10px; + margin-top:-6px; padding-right:35px; text-transform:uppercase; font-size:9px; diff --git a/web/images/checkbox-selector.png b/web/images/checkbox-selector.png new file mode 100644 index 000000000..f2005fbf5 Binary files /dev/null and b/web/images/checkbox-selector.png differ diff --git a/web/js/_settings.js b/web/js/_settings.js index 1dd89d737..47e07e5c5 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 6f969e48d..5b748e70e 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 94aba7bbe..dafd366da 100644 --- a/web/js/html.js +++ b/web/js/html.js @@ -146,7 +146,20 @@ 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 == 'on') { + tpl.set(':ssl_checked', 'checked="checked"'); + } + else { + tpl.set(':ssl_checked', ''); + } + if (options.SSL_HOME == 'on') { + tpl.set(':ssl_home_checked', 'checked="checked"'); + } + else{ + tpl.set(':ssl_home_checked', ''); + } } + options = !App.Helpers.isEmpty(options) ? options : App.Empty.WEB_DOMAIN; if (in_edit == true) { options.STATS_PASSWORD = options.STATS_LOGIN.trim() != '' ? App.Settings.PASSWORD_IMMUTE : ''; @@ -170,6 +183,25 @@ App.HTML.Build.web_domain_form = function (options, id) { tpl.set(':ACTIVE_PASSWORD', 'hidden'); tpl.set(':stats_auth_checked', ''); } + + if (options.SSL == 'on') { + tpl.set(':ssl_checked', 'checked="checked"'); + if (options.SSL_HOME == 'on') { + tpl.set(':ssl_home_checked', 'checked="checked"'); + } + else{ + tpl.set(':ssl_home_checked', ''); + } + } + else { + tpl.set(':ssl_checked', ''); + tpl.set(':ssl_home_checked', ''); + tpl.set(':SSL_HOME', ''); + tpl.set(':SSL_CRT', ''); + tpl.set(':SSL_KEY', ''); + tpl.set(':SSL_CA', ''); + } + return tpl.finalize(); } @@ -581,6 +613,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 +650,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 +661,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 07d01b5e4..381059d2f 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 c7e7b0772..9359681f4 100644 --- a/web/js/templates.js +++ b/web/js/templates.js @@ -666,11 +666,11 @@ App.Templates.html = {
\
\ \ - \ + \
\ -
\ - \ - \ +
\ + \ + \
\
\ \ @@ -684,7 +684,7 @@ App.Templates.html = {
\
\ \ - ...\ + ...\ \
\
\ @@ -697,7 +697,7 @@ App.Templates.html = { \ \ @@ -715,6 +715,10 @@ App.Templates.html = { \ \ \ +
\ + \ + \ +
\
\ \ Cancel\ @@ -856,13 +860,13 @@ App.Templates.html = { Generate\
\ \ -