Advertisement
AbdulMuttaqin

SSO JS

Dec 17th, 2018
476
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function isMobile(){
  2.         return /android|ip(hone|ad|od)/i.test(navigator.userAgent);
  3.     }
  4.  
  5.     function _(key, params) {
  6.         var language = SETTINGS['language'];
  7.         if(!(language in SSO_SERVER_I18N) || !(key in SSO_SERVER_I18N[language])) {
  8.             return key;
  9.         }
  10.         var text = SSO_SERVER_I18N[language][key];
  11.         if(params != null) {
  12.             for(key in params) {
  13.                 text = text.replace('%(' + key + ')', params[key].toString());
  14.             }
  15.         }
  16.         return text;
  17.     }
  18.  
  19.     function getLocale(language, country) {
  20.         if (language=='zh-TW') {
  21.             return language
  22.         } else {
  23.             return language + '-' + country
  24.         }
  25.     }
  26.  
  27.     function getCurrentBaseUrl() {
  28.         var url = window.location.href;
  29.         var sep = url.indexOf('#');
  30.         if(sep >= 0) {
  31.             url = url.substring(0, sep);
  32.         }
  33.         sep = url.indexOf('?');
  34.         if(sep >= 0) {
  35.             url = url.substring(0, sep);
  36.         }
  37.         return url;
  38.     }
  39.  
  40.     function getRequestParams() {
  41.         var e = window.location.search.replace(/^\?/, "").split("&"), n = 0, r, i = {}, s, o, u;
  42.         while(( r = e[n++]) !== undefined) s = r.match(/^([^=&]*)=(.*)$/), s && ( o = decodeURIComponent(s[1]), u = decodeURIComponent(s[2]), i[o] = u);
  43.         return i;
  44.     }
  45.  
  46.     function getRequestParam(key) {
  47.         var params = getRequestParams();
  48.         if(key in params) {
  49.             return params[key];
  50.         }
  51.         return null;
  52.     }
  53.  
  54.     function getRequestFragments() {
  55.         var e = window.location.hash.replace(/^#/, "").split("&"), n = 0, r, i = {}, s, o, u;
  56.         while(( r = e[n++]) !== undefined) s = r.match(/^([^=&]*)=(.*)$/), s && ( o = decodeURIComponent(s[1]), u = decodeURIComponent(s[2]), i[o] = u);
  57.         return i;
  58.     }
  59.  
  60.     function getRequestFragment(key) {
  61.         var params = getRequestFragments();
  62.         if(key in params) {
  63.             return params[key];
  64.         }
  65.         return null;
  66.     }
  67.  
  68.     function redirect(uri, params) {
  69.         if(params != null) {
  70.             var sParams = '';
  71.             for(var key in params) {
  72.                 sParams += '&' + encodeURIComponent(key) + '=' + encodeURIComponent(params[key]);
  73.             }
  74.             if(sParams.length > 0) {
  75.                 if(uri.indexOf('?') < 0) {
  76.                     sParams = '?' + sParams.substr(1);
  77.                 }
  78.                 uri += sParams;
  79.             }
  80.         }
  81.         window.location = uri;
  82.     }
  83.  
  84.     function setCookie(name, value, expiredSeconds, domain) {
  85.         var sValue = escape(value);
  86.         if(expiredSeconds != null) {
  87.             var expires = new Date(new Date().getTime() + expiredSeconds);
  88.             sValue += "; expires=" + expires.toUTCString();
  89.         }
  90.         if(domain != null) {
  91.             sValue += "; domain=" + domain;
  92.         }
  93.         document.cookie = name + "=" + sValue;
  94.     }
  95.  
  96.     function removeCookie(name, domain) {
  97.         document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT; domain=' + domain + '; path=/;';
  98.     }
  99.  
  100.     function appendClearDiv(container) {
  101.         container.append($('<div/>', {'class' : 'clear'}));
  102.     }
  103.  
  104.     function clearMessage(parent) {
  105.         $(parent + ' #msg').remove();
  106.         $(parent+' input.error').removeClass('error');
  107.     }
  108.  
  109.     function showMessage(msg, type, parent, clear_others, mode) {
  110.         mode = (typeof mode === "undefined") ? "text" : mode;
  111.         if(clear_others){
  112.             $('span[id="msg"]').remove();
  113.         } else {
  114.             parent.find('span.errorMsg,span.successMsg').remove();
  115.         }
  116.         var panel = $('<span/>', {'id': 'msg', 'class': type + 'Msg'});
  117.         if(mode=='html'){
  118.             panel.html('<em></em>'+msg);
  119.         } else {
  120.             panel.text(msg);
  121.             panel.prepend($('<em/>'));
  122.         }
  123.         parent.append(panel);
  124.     }
  125.  
  126.     function showMobileRegisterAlert(msg) {
  127.         var wrapper = $('<div/>').addClass('alertWrapper');
  128.         var container = $('<div/>').addClass('alertContainer').appendTo(wrapper);
  129.         var alert = $('<div/>').addClass('alert').appendTo(container);
  130.         $('<span/>').addClass('icon-alert').appendTo(alert);
  131.         $('<p/>').text(msg).appendTo(alert);
  132.         $('<p/>').text(_('register_redirect_on_error')).appendTo(alert);
  133.         var btnOK = $('<a/>', {'href': 'javascript:;', 'class': 'btn-ok'}).text(_('btn_ok')).appendTo(container);
  134.  
  135.         wrapper.appendTo($('body'));
  136.  
  137.         btnOK.click(function(){
  138.             showRegisterPage('mobile');
  139.             wrapper.remove();
  140.         })
  141.     }
  142.  
  143.     function showSuccess(msg, after, clear_others, mode) {
  144.         showMessage(msg, 'success', after, clear_others, mode);
  145.     }
  146.  
  147.     function showError(msg, after, clear_others, mode) {
  148.         if(after===undefined){after=$('#line-btn');}
  149.         after.find('span.icon-right').remove();
  150.         clear_others = (typeof clear_others === "undefined") ? true : clear_others;
  151.         if (clear_others) {
  152.             $('input.error').removeClass('error');
  153.         }
  154.         showMessage(msg, 'error', after, clear_others, mode);
  155.         after.find('input').addClass('error');
  156.     }
  157.  
  158.     function requestJsonp(url, params, callback) {
  159.         params['format']  = 'jsonp';
  160.         params['callback'] = callback;
  161.         params['id']= new Date().getTime();
  162.         params['app_id'] = SETTINGS['app_id'];
  163.         var first = true;
  164.         for(var key in params) {
  165.             var value = params[key];
  166.             if(first) {
  167.                 url += '?';
  168.                 first = false;
  169.             } else {
  170.                 url += '&';
  171.             }
  172.             url += encodeURIComponent(key);
  173.             url += '=';
  174.             url += encodeURIComponent(value);
  175.         }
  176.         var scriptTag = $('<script/>', {'type': 'text/javascript'}).appendTo($('body'));
  177.         scriptTag.attr('src', url);
  178.     }
  179.  
  180.     function requestJson(url, params, callback, method) {
  181.         method = (typeof method === "undefined") ? "GET" : method;
  182.         params['format']  = 'json';
  183.         params['id']= new Date().getTime();
  184.         params['app_id'] = SETTINGS['app_id'];
  185.         $.ajax({
  186.             type : method,
  187.             url : url,
  188.             data : params,
  189.             dataType : 'json',
  190.             success : callback,
  191.             error : function() {
  192.                 callback({'error': 'error_server'});
  193.             }
  194.         });
  195.     }
  196.  
  197.     function checkPasswordValid(username, password) {
  198.         if(password.length < 8 || password.length > 16) {
  199.             return false;
  200.         }
  201.         if(password === username) {
  202.             return false;
  203.         }
  204.  
  205.         var has_small_letter = false;
  206.         var has_capital_letter = false;
  207.         var has_number = false;
  208.         var has_symbol = false;
  209.         for(var i=0; i < password.length; i++) {
  210.             var code = password.charCodeAt(i);
  211.             var ch = password.charAt(i);
  212.             if(code > 126 || code < 33) {
  213.                 return false;
  214.             }
  215.             if(ch >= 'a' && ch <= 'z') {
  216.                 has_small_letter = true;
  217.             } else if(ch >= 'A' && ch <= 'Z') {
  218.                 has_capital_letter = true;
  219.             } else if(ch >= '0' && ch <= '9') {
  220.                 has_number = true;
  221.             } else {
  222.                 has_symbol = true;
  223.             }
  224.         }
  225.  
  226.         var pass_strength = 0;
  227.         if(has_small_letter) {
  228.             pass_strength++;
  229.         }
  230.         if(has_capital_letter) {
  231.             pass_strength++;
  232.         }
  233.         if(has_number) {
  234.             pass_strength++;
  235.         }
  236.         if(has_symbol) {
  237.             pass_strength++;
  238.         }
  239.         return pass_strength >= 2;
  240.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement