Malishev Dmitry 14 年之前
父节点
当前提交
ff84992687
共有 5 个文件被更改,包括 52 次插入6 次删除
  1. 1 1
      web/js/_settings.js
  2. 16 0
      web/js/actions.js
  3. 22 0
      web/js/html.js
  4. 9 1
      web/js/pages.js
  5. 4 4
      web/js/templates.js

+ 1 - 1
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)

+ 16 - 0
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);

+ 22 - 0
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 '<iframe src="' + App.Helpers.getUploadUrl() + '?action=show&type=cert" width="500px;" height="53px;" framevorder="0" scroll="no">..</iframe>';
 }
+App.HTML.Build.ssl_ca_file = function () {
+    return '<iframe src="' + App.Helpers.getUploadUrl() + '?action=show&type=ca" width="500px;" height="53px;" framevorder="0" scroll="no">..</iframe>';
+}
 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) {

+ 9 - 1
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('<span class="ssl-key-input-dummy">...</span>', ssl_key_upload);
     tpl = tpl.replace('<span class="ssl-cert-input-dummy">...</span>', ssl_cert_upload);
-    elm.replaceWith(tpl);
+    tpl = tpl.replace('<span class="ssl-ca-input-dummy">...</span>', ssl_cert_upload);
+    var tmp_elm = $('<div>').html(tpl);
+    App.Actions.toggle_ssl_support({}, tmp_elm.find('.form'));
+    elm.replaceWith(tmp_elm.html());
+    
     
     App.Helpers.disableNotEditable();
     App.Helpers.updateScreen();

+ 4 - 4
web/js/templates.js

@@ -666,9 +666,9 @@ App.Templates.html = {
 							</div><!-- // stats settings -->\
 							<div class="form-row cc">\
 								<label for="#" class="field-label">SSL Support:</label>\
-								<input type="checkbox" name="SSL" class="styled" ~!:ssl_checked~!="" value="~!SSL~!">\
+								<input type="checkbox" name="SSL" class="styled do_action_toggle_ssl_support ssl_support" ~!:ssl_checked~! value="~!SSL~!">\
 							</div>\
-							<div class="form-row cc">\
+							<div class="form-row cc ssl-crtfct-box">\
 								<label for="#" class="field-label">SSL Document Root:</label>\
 								<input type="text" name="SSL_HOME" class="text-field" value="~!:SSL_HOME~!">\
 							</div>\
@@ -684,7 +684,7 @@ App.Templates.html = {
 							</div>\
                             <div class="form-row ssl-crtfct-box cc">\
 								<label for="#" class="field-label">SSL Certificate CA: <span class="remark">(upload file or paste as text)</span></label>\
-								<span class="ssl-key-input-dummy">...</span>\
+								<span class="ssl-ca-input-dummy">...</span>\
 								<textarea name="SSL_CA" class="textarea ssl-key">~!:SSL_CA~!</textarea>\
 							</div>\
 						</div><!-- // advanced options -->\
@@ -697,7 +697,7 @@ App.Templates.html = {
 							</div>\
 							<div class="sub_section hidden">\
                             <div class="form-row cc">\
-								<label for="#" class="field-label">create dns domain:</label>\
+								<label for="#" class="field-label">create DNS domain:</label>\
 								<input type="checkbox" value="~!:DNS~!" ~!:CHECKED_DNS~! name="DNS" class="styled">\
 							</div>\
 						</div><!-- DNS options -->\