| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443 |
- App.Helpers.formatNumber = function(number, no_commas){
- no_commas = no_commas || false;
- number = number.toString().replace(/,/g, '');
-
- var nStr = parseFloat(number).toFixed(2);
- fb.info(nStr);
- nStr = nStr.toString();
- nStr += '';
- x = nStr.split('.');
- x1 = x[0];
- x2 = x.length > 1 ? '.' + x[1] : '';
- if(!no_commas){
- var rgx = /(\d+)(\d{3})/;
- while (rgx.test(x1)) {
- x1 = x1.replace(rgx, '$1' + ',' + '$2');
- }
- }
- return x1 + x2;
- }
- App.Helpers.getHumanTabName = function()
- {
- if (App.Env.world == 'WEB_DOMAIN') {
- return 'WEB DOMAIN';
- }
- if (App.Env.world == 'MAIL') {
- return 'MAIL DOMAIN';
- }
- if (App.Env.world == 'DNS') {
- return 'DNS DOMAIN';
- }
- if (App.Env.world == 'IP') {
- return 'IP ADDRESS';
- }
- if (App.Env.world == 'CRON') {
- return 'CRON JOB';
- }
- if (App.Env.world == 'DB') {
- return 'DATABASE';
- }
- if (App.Env.world == 'BACKUPS') {
- return 'BACKUP';
- }
- if (App.Env.world == 'STATS') {
- return 'STATS';
- }
- return App.Env.world;
- }
- App.Helpers.scrollTo = function(elm)
- {
- var scroll_to = $(elm).offset().top;
- if (scroll_to > 1000) {
- var scroll_time = 300;
- }
- else {
- var scroll_time = 550;
- }
- $('html, body').animate({ 'scrollTop': scroll_to }, scroll_time);
- }
- App.Helpers.getMbHumanMeasure = function(val)
- {
- return App.Helpers.getMbHuman(val, true);
- }
- /**
- * Currently no bytes are used, minimal value is in MB
- * uncomment in case we will use bytes instead
- */
- App.Helpers.getMbHuman = function(val, only_measure)
- {
- var bytes = val * 1024 * 1024;
- var kilobyte = 1024;
- var megabyte = kilobyte * 1024;
- var gigabyte = megabyte * 1024;
- var terabyte = gigabyte * 1024;
- var precision = 0;
-
-
- return only_measure ? 'MB' : (bytes / megabyte).toFixed(precision);
- /*if ((bytes >= 0) && (bytes < kilobyte)) {
- return bytes + ' B';
-
- } else if ((bytes >= kilobyte) && (bytes < megabyte)) {
- return (bytes / kilobyte).toFixed(precision) + ' KB';
-
- } else */
- if ((bytes >= megabyte) && (bytes < gigabyte)) {
- return only_measure ? 'MB' : (bytes / megabyte).toFixed(precision);
-
- } else if ((bytes >= gigabyte) && (bytes < terabyte)) {
- return only_measure ? 'GB' : (bytes / gigabyte).toFixed(precision);
-
- } else if (bytes >= terabyte) {
- return only_measure ? 'TB' : (bytes / terabyte).toFixed(precision);
-
- } else {
- return only_measure ? 'MB' : bytes;
- }
- }
- App.Helpers.getFirst = function(obj)
- {
- var first = {};
- var key = App.Helpers.getFirstKey(obj);
- first[key] = obj[key];
- return first;
- }
- App.Helpers.getFirstKey = function(obj)
- {
- for (key in obj) break;
- return key;
- }
- App.Helpers.updateInitial = function()
- {
- $.each(App.Env.initialParams.totals, function(key) {
- var item = App.Env.initialParams.totals[key];
- var expr_id = '#'+key;
- if ('undefined' != typeof item.total) {
- var ref = $(expr_id).find('.num-total');
- if (ref.length > 0) {
- $(ref).html(item.total);
- }
- }
- if ('undefined' != typeof item.blocked) {
- var ref = $(expr_id).find('.num-blocked');
- if (ref.length > 0) {
- $(ref).html(item.blocked);
- }
- }
- });
- $('#user-name').html(App.Env.initialParams.PROFILE.uid);
- $('#page').removeClass('hidden');
-
- if (App.Env.initialParams.real_user) {
- var tpl = App.Templates.get('logged_as', 'general');
- tpl.set(':YOU_ARE', App.Env.initialParams.real_user);
- tpl.set(':USER', App.Env.initialParams.auth_user.uid.uid);
- $('body').prepend(tpl.finalize());
- }
- }
- App.Helpers.beforeAjax = function(jedi_method)
- {
- switch(jedi_method) {
- case 'DNS.getList':
- App.Helpers.showLoading();
- break;
- default:
- App.Helpers.showLoading();
- break;
- }
- }
-
- App.Helpers.afterAjax = function()
- {
- App.Helpers.removeLoading();
- }
- App.Helpers.removeLoading = function()
- {
- var ref = $('#loading');
- if (ref.length > 0) {
- ref.remove();
- }
- }
- App.Helpers.showLoading = function()
- {
- App.Helpers.removeLoading();
- var tpl = App.Templates.get('loading', 'general');
- $(document.body).append(tpl.finalize());
- }
-
- // todo: no iteration here
- App.Helpers.getFirstValue = function(obj)
- {
- var first = '';
- $.each(obj, function(key, i) {
- return first = obj[key];
- });
-
- return first;
- }
- App.Helpers.evalJSON = function(str)
- {
- return $.parseJSON(str);
- }
- App.Helpers.toJSON = function(object)
- {
- return ($.toJSON(object).replace(/\\'/gi, ''));
- }
- //
- // Hints
- //
- App.Helpers.showConsoleHint = function()
- {
- // TODO:
- }
- App.Helpers.markBrowserDetails = function()
- {
- var b = App.Env.BROWSER;
- var classes = [
- b.type.toLowerCase(),
- b.type.toLowerCase() + b.version,
- b.os.toLowerCase()
- ];
- $(document.body).addClass(classes.join(' '));
- }
- App.Utils.detectBrowser = function()
- {
- App.Env.BROWSER = {
- type: $.browser.browser(),
- version: $.browser.version.number(),
- os: $.browser.OS()
- };
-
- App.Helpers.markBrowserDetails();
- }
- App.Helpers.getFormValues = function(form)
- {
- var values = {};
- $(form).find('input, select, textarea').each(function(i, o) {
- if ($.inArray($(o).attr('class'), ['source', 'target'])) {
- values[$(o).attr('name')] = $(o).val();
- }
- });
-
- return values;
- }
- App.Helpers.getFormValuesFromElement = function(ref)
- {
- var values = {};
- $(ref).find('input, select, textarea').each(function(i, o) {
- if ($.inArray($(o).attr('class'), ['source', 'target'])) {
- values[$(o).attr('name')] = $(o).val();
- }
- });
-
- return values;
- }
- App.Helpers.updateScreen = function()
- {
-
- /*App.Ajax.request('MAIN.getInitial', {}, function(reply){
- App.Env.initialParams = reply.data;
- App.Helpers.updateInitial();
- });*/
- $('.first-row').removeClass('first-row');
- $('.row:first').addClass('first-row');
- Custom.init();
- }
- App.Helpers.alert = function(msg)
- {
- alert(msg);
- }
- App.Helpers.isEmpty = function(o)
- {
- return 'undefined' == typeof o ? true : jQuery.isEmptyObject(o);
- }
- App.Helpers.liveValidate = function()
- {
-
- }
- App.Helpers.generatePassword = function()
- {
- var length = 8;
- var chars = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789";
- var pass = "";
- for (x=0;x<length;x++) {
- var i = Math.floor(Math.random() * chars.length);
- pass += chars.charAt(i);
- }
- return pass;
- }
- App.Helpers.Warn = function(msg)
- {
- alert(msg);
- }
- App.Helpers.openInnerPopup = function(elm, html, title)
- {
- var title = title || '';
- App.Helpers.closeInnerPopup();
-
- var offset = $(elm).offset();
- var tpl = App.Templates.get('inner_popup', 'general');
- tpl.set(':CONTENT', html);
- tpl.set(':LEFT', offset.left);
- tpl.set(':TOP', offset.top);
- tpl.set(':POPUP_TITLE', title);
-
- $(document.body).append(tpl.finalize());
- }
- App.Helpers.closeInnerPopup = function(evt)
- {
- $('#inner-popup').remove();
- }
- App.Helpers.getUploadUrl = function()
- {
- return App.Helpers.generateUrl('vesta/upload.php');
- }
- App.Helpers.getBackendUrl = function()
- {
- return App.Helpers.generateUrl('dispatch.php');
- }
- App.Helpers.generateUrl = function(to_file)
- {
- var url_parts = location.href.split('#');
- if (url_parts.length > 1) {
- var tab = url_parts[url_parts.length - 1];
- if ($.inArray(tab, App.Constants.TABS) != -1) {
- App.Tmp.loadTAB = tab;
- }
- }
- var url_parts = location.href.split('?', 1);
- var url = url_parts[0];
- url_parts = url.split('/');
- if (url_parts[url_parts.length -1] == 'index.html') {
- url_parts[url_parts.length -1] = to_file;
- }
- else {
- url_parts.push(to_file);
- }
- return url_parts.join('/').replace('#', '');
- }
- App.Helpers.disableNotEditable = function()
- {
- if ('undefined' == typeof App.Settings.Imutable[App.Env.world]) {
- return false;
- }
-
- $('.form').each(function(i, form)
- {
- if ($(form).attr('id') == '') {
- $('input, select, textarea', form).each(function(i, elm) {
- if ($.inArray($(elm).attr('name'), App.Settings.Imutable[App.Env.world]) != -1) {
- $(elm).attr('disabled', true);
- }
- });
- }
- });
- }
- App.Helpers.handleItemsRegisteredInBackground = function(evt)
- {
- // complex selects
- if (!$(evt.target).hasClass('c-s-opt')) { // complex select option
- $('.complex-select-content').addClass('hidden');
- }
- }
- //
- // HELPERS
- //
- App.Helpers.keyboard_ESC = function()
- {
- $('.complex-select-content').addClass('hidden');
- App.Tmp.focusedComplexSelect = null;
- }
- App.Helpers.keyboard_ENTER = function()
- {
- if (null != App.Tmp.focusedComplexSelectInput) {
- var val = App.Tmp.focusedComplexSelectInput.find('.c-s-value').val();
- App.Tmp.focusedComplexSelect.find('.c-s-title').text(val);
- App.Tmp.focusedComplexSelect.find('.c-s-value-ref').val(val);
- $('.complex-select-content').addClass('hidden');
- }
- }
- App.Helpers.keyboard_DOWN = function(evt)
- {
- if (null != App.Tmp.focusedComplexSelect) {
- App.Tmp.focusedComplexSelect.find('.complex-select-content').removeClass('hidden');
- $('.s-c-highlighted').removeClass('s-c-highlighted');
- if (null == App.Tmp.focusedComplexSelectInput) {
- App.Tmp.focusedComplexSelectInput = App.Tmp.focusedComplexSelect.find('.cust-sel-option:first');
- App.Tmp.focusedComplexSelectInput.addClass('s-c-highlighted');
- }
- else {
- var ref = App.Tmp.focusedComplexSelectInput.next();
- App.Tmp.focusedComplexSelectInput = ref;
- if (ref.length == 1) {
- ref.addClass('s-c-highlighted');
- }
- else {
- App.Tmp.focusedComplexSelectInput = App.Tmp.focusedComplexSelect.find('.cust-sel-option:first');
- App.Tmp.focusedComplexSelectInput.addClass('s-c-highlighted');
- }
- }
- }
- }
- App.Helpers.keyboard_UP = function(evt)
- {
- if (null != App.Tmp.focusedComplexSelect) {
- App.Tmp.focusedComplexSelect.find('.complex-select-content').removeClass('hidden');
- $('.s-c-highlighted').removeClass('s-c-highlighted');
- if (null == App.Tmp.focusedComplexSelectInput) {
- App.Tmp.focusedComplexSelectInput = App.Tmp.focusedComplexSelect.find('.cust-sel-option:last');
- App.Tmp.focusedComplexSelectInput.addClass('s-c-highlighted');
- }
- else {
- var ref = App.Tmp.focusedComplexSelectInput.prev();
- App.Tmp.focusedComplexSelectInput = ref;
- if (ref.length == 1) {
- ref.addClass('s-c-highlighted');
- }
- else {
- App.Tmp.focusedComplexSelectInput = App.Tmp.focusedComplexSelect.find('.cust-sel-option:last');
- App.Tmp.focusedComplexSelectInput.addClass('s-c-highlighted');
- }
- }
- }
- }
|