Your IP : 216.73.217.53


Current Path : /home/bonneesp/www/media/plg_system_adminexile/js/
Upload File :
Current File : /home/bonneesp/www/media/plg_system_adminexile/js/admin.js

(function ($) {
    $(document).ready(function () {
        var AdminExile = function (options) {
            var root = this;

            var vars = {
                invalidChars: {
                    32: 'SPACE', // Space
                    34: 'QUOTE', // "
                    35: 'POUND', // #
                    36: 'DOLLAR', // $
                    37: 'PERCENT', // %
                    38: 'AMPERSAND', // &
                    43: 'PLUS', // +
                    44: 'COMMA', // ,
                    46: 'PERIOD', // .
                    47: 'FORWARDSLASH', // /
                    58: 'COLON', // :
                    59: 'SEMICOLON', // ;
                    60: 'LESSTHAN', // <
                    61: 'EQUALS', // =
                    62: 'GREATERTHAN', // >
                    63: 'QUESTION', // ?
                    64: 'AT', // @
                    91: 'LEFTBRACKET', // [
                    92: 'BACKSLASH', // \
                    93: 'RIGHTBRACKET', // ]
                    94: 'CARAT', // ^
                    96: 'GRAVE', // `
                    123: 'LEFTCURLY', // {
                    125: 'RIGHTCURLY', // }
                    124: 'PIPE', // |
                    126: 'TILDE'        // ~
                }
            };

            this.construct = function (options) {
                $.extend(vars, options);
                Joomla.JText.load();

                $.each(['#jform_params_key', '#jform_params_keyvalue'], function (i, item) {
                    $(item).keyup(function () {
                        testInput(item, $(item).val());
                    });
                });
                $('#jform_params_twofactor0').click(function() { displayURL(); });
                $('#jform_params_twofactor1').click(function() { displayURL(); });
                displayURL();
                
                
            };

            var testInput = function (type, str) {
                var self = this;
                if (type === '#jform_params_key' && (/^[0-9]+$/.test(str))) {
                    $(type).val('');
                    alert(Joomla.JText._('PLG_SYS_ADMINEXILE_MESSAGE_NOTNUMERIC'));
                    return;
                }
                if (!(/^[\040-\177]*$/.test(str))) {
                    while (!(/^[\040-\177]*$/.test(str)))
                        for (i = 0; i <= (str.length - 1); i++)
                            if (!(/^[\040-\177]*$/.test(str.charAt(i))))
                                $(type).val(str.replace(str.charAt(i), ''));
                    alert(Joomla.JText._('PLG_SYS_ADMINEXILE_MESSAGE_INVALIDASCII'));
                    return;
                }
                for (i = 0; i <= (str.length - 1); i++) {
                    if (vars.invalidChars.hasOwnProperty(str.charCodeAt(i))) {
                        $(type).val(str.replace(str.charAt(i), ''));
                        alert(Joomla.JText._('PLG_SYS_ADMINEXILE_MESSAGE_INVALIDCHAR') + "\n\n" + validCharsMesssage());
                        return;
                    }
                }
                displayURL();
            };

            var validCharsMesssage = function () {
                var str = [], name, char;
                $.each(vars.invalidChars, function (key,value) {
                    char = String.fromCharCode(key);
                    name = Joomla.JText._('PLG_SYS_ADMINEXILE_CHAR_' + value)
                    str.push(char + '\t\t:\t\t' + name);
                });
                str = str.join('\n');
                return str;
            };

            var displayURL = function () {
                var adminurl = vars.uri.replace(/\/$/,'')+'/administrator';
                if ($('#jform_params_twofactor0')[0].checked) {
                    adminurl+=("?"+$('#jform_params_key').val());
                } else {
                    var data = {};
                    data[$('#jform_params_key').val()] = $('#jform_params_keyvalue').val();
                    adminurl+=('?'+$.param(data));
                }
                var target = $('#jform_params_url-lbl').parent('span').next('span')[0];
                $(target).empty();
                $(target).append($('<a href="'+adminurl+'">'+adminurl+'</a>'));
            };
            
            
            
            
            this.construct(options);
        };
        
        var validIPv46 = function(ip) {
            var regex;
            regex = new RegExp('(^\s*((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(/(3[012]|[12]?[0-9]))?)\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$)','i');
            return regex.test(ip);
        };
        
        window.plg_sys_adminexile = new AdminExile(window.plg_sys_adminexile_config);
        
        
    });
})(jQuery);