| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527 |
- App.HTML.setTplKeys = function(tpl, o, empty)
- {
- var empty = empty || '-';
- fb.log(empty);
- tpl.set(':source', $.toJSON(o).replace(/'/gi, "\\'"))
- $(o).each(function(i, object)
- {
- $.each(o, function(key)
- {
- var val = o[key];
- if (empty == true) {
- tpl.set(':' + key, val || '');
- }
- else {
- tpl.set(':' + key, val || '-');
- }
- });
- });
- return tpl;
- }
- App.HTML.makeDatabases = function(databases)
- {
- var acc = [];
- $(databases).each(function(i, o)
- {
- var tpl = App.Templates.get('database', 'database');
- tpl.set(':name', o.Database);
- tpl.set(':db_name', o.Database);
- acc[acc.length++] = tpl.finalize();
- });
- return acc.done();
- }
- App.HTML.makeDbTableList = function(data)
- {
- var acc = [];
- $(data).each(function(i, o)
- {
- var name = App.Helpers.getFirstValue(o);
- var tpl = App.Templates.get('database_table', 'database');
- tpl.set(':name', name);
- tpl.set(':table_name', name);
- acc[acc.length++] = tpl.finalize();
- });
- return acc.done();
- }
- App.HTML.makeDbFieldsList = function(data)
- {
- var acc = [];
- $(data).each(function(i, o)
- {
- var details = [o['Type'], o['Null'], o['Key'], o['Default'], o['Extra']].join(' ');
- var tpl = App.Templates.get('database_field', 'database');
- tpl.set(':name', o.Field);
- tpl.set(':details', details);
- acc[acc.length++] = tpl.finalize();
- });
- return acc.done();
- }
- App.HTML.Build.dns_form = function(options, id)
- {
- if('undefined' == typeof App.Env.initialParams) {
- return alert('PLease wait a bit. Some background processes are not yet executed. Thank you for patience.');
- }
- var tpl = App.Templates.get('FORM', 'dns');
- tpl.set(':source', options);
- options = App.Helpers.evalJSON(options) || {};
- if (App.Helpers.isEmpty(options)) {
- tpl.set(':title', 'New dns record');
- tpl.set(':save_button', 'ADD');
- }
- else {
- tpl.set(':title', 'Edit dns record');
- tpl.set(':save_button', 'SAVE');
- }
- tpl.set(':id', id || '');
- tpl.set(':DNS_DOMAIN', options.DNS_DOMAIN || '');
- tpl.set(':IP', options.IP || '');
- tpl.set(':TTL', options.TTL || '');
- tpl.set(':SOA', options.SOA || '');
- tpl.set(':DATE', options.DATE || '');
- tpl = App.HTML.Build.dns_selects(tpl, options);
- return tpl.finalize();
- }
- App.HTML.Build.ip_form = function(options, id)
- {try{
- if('undefined' == typeof App.Env.initialParams) {
- return alert('PLease wait a bit. Some background processes are not yet executed. Thank you for patience.');
- }
- var tpl = App.Templates.get('FORM', 'ip');
- tpl.set(':source', options);
- options = App.Helpers.evalJSON(options) || {};
- if (App.Helpers.isEmpty(options)) {
- tpl.set(':title', 'New ip address');
- tpl.set(':save_button', 'ADD');
- }
- else {
- tpl.set(':title', 'Edit ip address');
- tpl.set(':save_button', 'SAVE');
- }
- tpl.set(':id', id || '');
- tpl.set(':IP_ADDRESS', options.IP_ADDRESS || '');
- tpl.set(':NETMASK', options.NETMASK || '');
- tpl.set(':NAME', options.NAME || '');
-
- tpl = App.HTML.Build.ip_selects(tpl, options);
- }catch(e){fb.error(e);}
- return tpl.finalize();
- }
- App.HTML.Build.options = function(initial, default_value)
- {
- var opts = [];
- $.each(initial, function(key){
- var selected = key == default_value ? 'selected="selected"' : '';
- opts[opts.length++] = '<option value="'+key+'" '+selected+'>'+initial[key]+'</options>';
- });
- return opts.join('');
- }
- App.HTML.Build.ip_entry = function(o)
- {
- var tpl = App.Templates.get('ENTRY', 'ip');
- tpl = App.HTML.setTplKeys(tpl, o);
- if (App.Constants.SUSPENDED_YES == o.SUSPENDED) {
- var sub_tpl = App.Templates.get('SUSPENDED_TPL_ENABLED', 'ip');
- }
- else {
- var sub_tpl = App.Templates.get('SUSPENDED_TPL_DISABLED', 'ip');
- }
- tpl.set(':SUSPENDED_TPL', sub_tpl.finalize());
- return tpl.finalize();
- }
- App.HTML.Build.dns_entry = function(o, is_new)
- {
- var tpl = App.Templates.get('ENTRY', 'dns');
- tpl = App.HTML.setTplKeys(tpl, o);
- var ip = o.IP.split('.');
- tpl.set(':IP', ip.join('<span class="dot">.</span>'));
- tpl.set(':CHECKED', '');
- if (is_new) {
- var now = new Date();
- tpl.set(':DATE', now.format("d.mm.yyyy"));
- }
- if (App.Constants.SUSPENDED_YES == o.SUSPEND) {
- var sub_tpl = App.Templates.get('SUSPENDED_TPL_NOT_SUSPENDED', 'general');
- }
- else {
- var sub_tpl = App.Templates.get('SUSPENDED_TPL_SUSPENDED', 'general');
- }
- tpl.set(':SUSPENDED_TPL', sub_tpl.finalize());
- return tpl.finalize();
- }
- App.HTML.Build.user_entry = function(o, key)
- {
- var processed_data = {
- 'NICKNAME' : key,
- 'U_DISK_PERCENTAGE' : o.U_DISK > 0 ? o.U_DISK / o.DISK_QUOTA * 100 : 0.01,
- 'U_BANDWIDTH_PERCENTAGE': o.U_BANDWIDTH > 0 ? o.U_BANDWIDTH / o.BANDWIDTH * 100 : 0.01,
- 'DISK_QUOTA_MEASURE' : App.Helpers.getMbHumanMeasure(o.DISK_QUOTA),
- 'BANDWIDTH_MEASURE' : App.Helpers.getMbHumanMeasure(o.BANDWIDTH),
- 'BANDWIDTH' : App.Helpers.getMbHuman(o.BANDWIDTH),
- 'DISK_QUOTA' : App.Helpers.getMbHuman(o.DISK_QUOTA)
- };
- var o = $.extend(o, processed_data);
- var tpl = App.Templates.get('ENTRY', 'user');
- tpl = App.HTML.setTplKeys(tpl, o);
-
- if (App.Constants.SUSPENDED_YES == o.SUSPENDED) {
- var sub_tpl = App.Templates.get('SUSPENDED_TPL_SUSPENDED', 'general');
- }
- else {
- var sub_tpl = App.Templates.get('SUSPENDED_TPL_NOT_SUSPENDED', 'general');
- }
- tpl.set(':SUSPENDED_TPL', sub_tpl.finalize());
-
- return tpl.finalize();
- }
- App.HTML.Build.user_form = function(options, id)
- {
- if('undefined' == typeof App.Env.initialParams) {
- return alert('PLease wait a bit. Some background processes are not yet executed. Thank you for patience.');
- }
- var tpl = App.Templates.get('FORM', 'user');
- tpl.set(':source', options);
- tpl.set(':id', id || '');
- options = App.Helpers.evalJSON(options) || {};
- if (App.Helpers.isEmpty(options)) {
- tpl.set(':title', 'New user');
- tpl.set(':save_button', 'ADD');
- }
- else {
- tpl.set(':title', 'Edit user');
- tpl.set(':save_button', 'SAVE');
- }
-
- options = !App.Helpers.isEmpty(options) ? options : {'CONTACT':'', 'PASSWORD':'','LOGIN_NAME':'','NS':''};
-
- tpl = App.HTML.setTplKeys(tpl, options, true);
- tpl = App.HTML.Build.user_selects(tpl, options);
-
- return tpl.finalize();
- }
- App.HTML.Build.web_domain_entry = function(o, key)
- {
- var processed_data = {
- DOMAIN: key
- };
- var o = $.extend(o, processed_data);
- var tpl = App.Templates.get('ENTRY', 'web_domain');
- tpl = App.HTML.setTplKeys(tpl, o);
-
- if (App.Constants.SUSPENDED_YES == o.SUSPENDED) {
- var sub_tpl = App.Templates.get('SUSPENDED_TPL_SUSPENDED', 'general');
- }
- else {
- var sub_tpl = App.Templates.get('SUSPENDED_TPL_NOT_SUSPENDED', 'general');
- }
- tpl.set(':SUSPENDED_TPL', sub_tpl.finalize());
-
- return tpl.finalize();
- }
- App.HTML.Build.web_domain_form = function(options, id)
- {
- if('undefined' == typeof App.Env.initialParams) {
- return alert('PLease wait a bit. Some background processes are not yet executed. Thank you for patience.');
- }
- var tpl = App.Templates.get('FORM', 'web_domain');
- tpl.set(':source', options);
- tpl.set(':id', id || '');
- options = App.Helpers.evalJSON(options) || {};
- if (App.Helpers.isEmpty(options)) {
- tpl.set(':title', 'New user');
- tpl.set(':save_button', 'ADD');
- }
- else {
- tpl.set(':title', 'Edit user');
- tpl.set(':save_button', 'SAVE');
- }
-
- options = !App.Helpers.isEmpty(options) ? options : {'CONTACT':'', 'PASSWORD':'','LOGIN_NAME':'','NS':''};
-
- tpl = App.HTML.setTplKeys(tpl, options, true);
- tpl = App.HTML.Build.user_selects(tpl, options);
-
- return tpl.finalize();
- }
- App.HTML.Build.mail_entry = function(o, key)
- {
- var processed_data = {
- DOMAIN: key
- };
- var o = $.extend(o, processed_data);
- var tpl = App.Templates.get('ENTRY', 'mail');
- tpl = App.HTML.setTplKeys(tpl, o);
-
- return tpl.finalize();
- }
- App.HTML.Build.db_entry = function(o, key)
- {
- var user_list_html = [];
- $(o['USERS']).each(function(i, o)
- {
- var tpl = App.Templates.get('USER_ITEM', 'db');
- tpl.set(':NAME', o);
- user_list_html.push(tpl.finalize());
- });
- var wrapper = App.Templates.get('USER_ITEMS_WRAPPER', 'db');
- wrapper.set(':CONTENT', user_list_html.done());
- var processed_data = {
- 'USER_LIST': wrapper.finalize(),
- 'USERS': o['USERS'].length || 0,
- 'U_DISK_PERCENTAGE' : o.U_DISK > 0 ? o.U_DISK / o.DISK * 100 : 0.01,
- 'DISK_MEASURE': App.Helpers.getMbHumanMeasure(o.DISK),
- 'DISK': App.Helpers.getMbHuman(o.DISK)
- };
- var o = $.extend(o, processed_data);
-
- var tpl = App.Templates.get('ENTRY', 'db');
- tpl = App.HTML.setTplKeys(tpl, o);
-
- return tpl.finalize();
- }
- App.HTML.Build.db_form = function(options, id)
- {
- if('undefined' == typeof App.Env.initialParams) {
- return alert('PLease wait a bit. Some background processes are not yet executed. Thank you for patience.');
- }
- var tpl = App.Templates.get('FORM', 'db');
- tpl.set(':source', options);
- tpl.set(':id', id || '');
- options = App.Helpers.evalJSON(options) || {};
- if (App.Helpers.isEmpty(options)) {
- tpl.set(':title', 'New database');
- tpl.set(':save_button', 'ADD');
- }
- else {
- tpl.set(':title', 'Edit database "'+options.DB+'"');
- tpl.set(':save_button', 'SAVE');
- }
-
- options = !App.Helpers.isEmpty(options) ? options : {'DB':'', 'USER':'','FORM':'', 'PASSWORD': ''};
-
- tpl = App.HTML.setTplKeys(tpl, options, true);
- tpl = App.HTML.Build.db_selects(tpl, options);
-
- return tpl.finalize();
- }
- App.HTML.Build.cron_entry = function(o, key)
- {
- var processed_data = {
- DOMAIN: key
- };
- var o = $.extend(o, processed_data);
- var tpl = App.Templates.get('ENTRY', 'cron');
- tpl = App.HTML.setTplKeys(tpl, o);
-
- if (App.Constants.SUSPENDED_YES == o.SUSPENDED) {
- var sub_tpl = App.Templates.get('SUSPENDED_TPL_SUSPENDED', 'general');
- }
- else {
- var sub_tpl = App.Templates.get('SUSPENDED_TPL_NOT_SUSPENDED', 'general');
- }
- tpl.set(':SUSPENDED_TPL', sub_tpl.finalize());
-
- return tpl.finalize();
- }
-
- App.HTML.Build.cron_form = function(options, id)
- {try{
- if('undefined' == typeof App.Env.initialParams) {
- return alert('PLease wait a bit. Some background processes are not yet executed. Thank you for patience.');
- }
- var tpl = App.Templates.get('FORM', 'cron');
- tpl.set(':source', options);
- tpl.set(':id', id || '');
- options = App.Helpers.evalJSON(options) || {};
- if (App.Helpers.isEmpty(options)) {
- tpl.set(':title', 'New cron entry');
- tpl.set(':save_button', 'ADD');
- }
- else {
- tpl.set(':title', 'Edit cron entry');
- tpl.set(':save_button', 'SAVE');
- }
-
- options = !App.Helpers.isEmpty(options) ? options : {DAY:'', MONTH: '', WDAY:'',HOUR:'',CMD:'',MIN:''};
- tpl = App.HTML.setTplKeys(tpl, options);
- /*tpl.set(':id', id || '');
- tpl.set(':IP_ADDRESS', options.IP_ADDRESS || '');
- tpl.set(':NETMASK', options.NETMASK || '');
- tpl.set(':NAME', options.NAME || '');*/
-
- //tpl = App.HTML.Build.ip_selects(tpl, options);
- }catch(e){fb.error(e);}
- return tpl.finalize();
- }
-
- App.HTML.Build.dns_records = function(records)
- {
- var acc = [];
- $.each(records, function(i, record)
- {
- var record = records[i];
- var tpl = App.HTML.Build.dns_subrecord(record);
- acc[acc.length++] = tpl.finalize();
- });
-
- return acc.done();
- }
- App.HTML.Build.dns_subrecord = function(record)
- {
- var tpl = App.Templates.get('SUBENTRY', 'dns');
- tpl.set(':RECORD', record.RECORD || '');
- tpl.set(':RECORD_VALUE', record.RECORD_VALUE || '');
- tpl.set(':RECORD_ID', record.RECORD_ID || '');
- //tpl.set(':RECORD_TYPE_VALUE', '');
- tpl.set(':RECORD_TYPE', App.HTML.Build.options(App.Env.initialParams.DNS.record.RECORD_TYPE, (record.RECORD_TYPE || -1)));
-
- return tpl;
- }
- App.HTML.Build.user_selects = function(tpl, options)
- {
- var acc = [];
- // PACKAGE
- var pkg = App.Env.initialParams.USERS.PACKAGE;
- $.each(pkg, function(val)
- {
- var tpl = App.Templates.get('select_option', 'general');
- tpl.set(':VALUE', val);
- tpl.set(':TEXT', pkg[val]);
- tpl.set(':SELECTED', val == options.PACKAGE ? 'selected="selected"' : '');
- acc[acc.length++] = tpl.finalize();
- });
- tpl.set(':PACKAGE_OPTIONS', acc.done());
- // ROLE
- acc = [];
- var roles = App.Env.initialParams.USERS.ROLE;
- $.each(roles, function(val)
- {
- var tpl = App.Templates.get('select_option', 'general');
- tpl.set(':VALUE', val);
- tpl.set(':TEXT', roles[val]);
- tpl.set(':SELECTED', val == options.ROLE ? 'selected="selected"' : '');
- acc[acc.length++] = tpl.finalize();
- });
- tpl.set(':ROLE_OPTIONS', acc.done());
- // SHELL
- acc = [];
- var shell = App.Env.initialParams.USERS.SHELL;
- $.each(shell, function(val)
- {
- var tpl = App.Templates.get('select_option', 'general');
- tpl.set(':VALUE', val);
- tpl.set(':TEXT', shell[val]);
- tpl.set(':SELECTED', val == options.SHELL ? 'selected="selected"' : '');
- acc[acc.length++] = tpl.finalize();
- });
- tpl.set(':SHELL_OPTIONS', acc.done());
-
- return tpl;
- }
- App.HTML.Build.db_selects = function(tpl, options)
- {
- var acc = [];
- // PACKAGE
- var items = App.Env.initialParams.DB.TYPE;
- $.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.TYPE ? 'selected="selected"' : '');
- acc[acc.length++] = tpl.finalize();
- });
- tpl.set(':TYPE_OPTIONS', acc.done());
- // ROLE
- acc = [];
- var items = App.Env.initialParams.DB.HOST;
- $.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.HOST ? 'selected="selected"' : '');
- acc[acc.length++] = tpl.finalize();
- });
- tpl.set(':HOST_OPTIONS', acc.done());
-
- return tpl;
- }
- App.HTML.Build.ip_selects = function(tpl, options)
- {
- // OWNER
- var users = App.Env.initialParams.IP.SYS_USERS || ['Skid'];
- var opts = App.HTML.Build.options(users, options.OWNER);
- tpl.set(':owner_options', opts);
-
- // STATUS
- var opts = App.HTML.Build.options(App.Env.initialParams.IP.STATUSES, options.STATUS);
- tpl.set(':status_options', opts);
-
- // INTERFACE
- var opts = App.HTML.Build.options(App.Env.initialParams.IP.INTERFACES, options.INTERFACE);
- tpl.set(':interface_options', opts);
-
- return tpl;
- }
- App.HTML.Build.dns_selects = function(tpl, options)
- {
- try {
- // TPL
- var obj = App.Env.initialParams.DNS.TPL;
- var opts = App.HTML.Build.options(obj, options.TPL);
- tpl.set(':TPL', opts);
- tpl.set(':TPL_DEFAULT_VALUE', options.TPL || App.Helpers.getFirstKey(obj));
- }
- catch (e) {
- return '';
- }
-
- return tpl;
- }
|