AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.112
Web Server : Apache
System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : coopiak ( 151928)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coopiak/www/cj79373/media/modals/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/www/cj79373/media/modals/js/script.js
/**
 * @package         Modals
 * @version         12.3.5
 * 
 * @author          Peter van Westen <info@regularlabs.com>
 * @link            http://regularlabs.com
 * @copyright       Copyright © 2023 Regular Labs All Rights Reserved
 * @license         http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
 */

var RegularLabsModals = null;
var RLModals          = null;

(function($) {
    "use strict";

    RegularLabsModals = {
        active_modal: null,
        resize_timer: null,
        modal_delay : null,
        window_width: $(window).width(),

        init: function(options) {
            options = options ? options : this.getOptions();

            if ( ! options) {
                return;
            }

            // Resize modal when resizing window or changing mobile device orientation
            $(window).resize(RegularLabsModals.resizeOnBrowserResize);
            window.addEventListener("orientationchange", RegularLabsModals.resizeOnBrowserResize, false);

            $.rl_modals.settings.createImg = function() {
                var img = new Image();

                var data_title = $(this).attr('data-modal-title')
                    ? $(this).attr('data-modal-title')
                        .replace(/(.)<div class="modals_description">/, '$1 - ')
                        .replace(/<[a-z\/].*?>/g, ' ')
                    : '';

                var title = data_title ? data_title
                    : $(this).attr('data-modal-img-title') ? $(this).attr('data-modal-img-title')
                        : '';

                var alt = $(this).attr('data-modal-alt') ? $(this).attr('data-modal-alt')
                    : $(this).attr('data-modal-img-alt') ? $(this).attr('data-modal-img-alt')
                        : title;

                img.title = title;
                img.alt   = alt;

                return img;
            };

            $.each($('.' + options.class), function(i, el) {
                RegularLabsModals.initModal(el);
            });


            $(document).bind('rl_modals_open', function() {
                RegularLabsModals.window_width = $(window).width();

                $('#rl_modals').swipe({
                    swipeLeft : function(event, direction, distance, duration, fingerCount) {
                        $.rl_modals.next();
                    },
                    swipeRight: function(event, direction, distance, duration, fingerCount) {
                        $.rl_modals.prev();
                    },

                    fallbackToMouseEvents: false
                });
            });

        },

        getOptions: function() {
            if (typeof rl_modals_options !== 'undefined') {
                return rl_modals_options;
            }

            if (typeof Joomla === 'undefined' || typeof Joomla.getOptions === 'undefined') {
                console.error('Joomla.getOptions not found!\nThe Joomla core.js file is not being loaded.');
                return false;
            }

            return Joomla.getOptions('rl_modals');
        },

        initModal: function(el) {
            var $el = $(el);

            // Prevent modals from being initialised multiple times when initModals is triggered again
            if ($el.attr('data-modal-done')) {
                return;
            }

            var options = this.getOptions();

            var defaults = $.extend({}, options.defaults);

            // Get data from tag
            $.each(el.attributes, function(index, attr) {
                if (attr.name.indexOf('data-modal-') === 0) {
                    var key       = $.camelCase(attr.name.substring(11));
                    defaults[key] = attr.value;
                }
            });

            $el.attr('data-modal-done', '1');

            // remove width/height if inner is already set
            if (defaults['innerWidth'] != undefined) {
                delete defaults['width'];
            }
            if (defaults['innerHeight'] != undefined) {
                delete defaults['height'];
            }


            // set true/false values to booleans
            for (var key in defaults) {
                if (defaults[key] == 'true') {
                    defaults[key] = true;
                } else if (defaults[key] == 'false') {
                    defaults[key] = false;
                } else if ( ! isNaN(defaults[key])) {
                    defaults[key] = parseFloat(defaults[key]);
                }
            }


            
            defaults['onComplete'] = function() {

                RegularLabsModals.active_modal = $el;
                $('.modal_active').removeClass('modal_active');
                $el.addClass('modal_active');

                $('.rl_modals_iframe').attr({
                    webkitAllowFullScreen: true,
                    mozallowfullscreen   : true,
                    allowFullScreen      : true,
                    allow                : 'autoplay; fullscreen; encrypted-media'
                });

                RegularLabsModals.resize();
                RegularLabsModals.checkScrollBar();


                $('#rl_modals').addClass('complete');
            };

            defaults['onClosed'] = function() {
                $('#rl_modals').removeClass('complete');
                $('.modal_active').removeClass('modal_active');
            };


            $el.data('modals_settings', defaults);

            if ( ! isNaN(defaults.maxWidth) && defaults.maxWidth > ($(window).width() * .95)) {
                defaults.maxWidth = '95%';
            }

            // Bind the modal script to the element
            $el.rl_modals(defaults);

        },

        resizeOnBrowserResize: function() {
            if (RegularLabsModals.resize_timer) {
                clearTimeout(RegularLabsModals.resize_timer);
            }

            RegularLabsModals.resize_timer = setTimeout(function() {
                var $wrapper = $('#rl_modals_wrapper');

                if ( ! $wrapper.is(':visible')) {
                    return;
                }

                RegularLabsModals.resize();
                RegularLabsModals.checkScrollBar();
            }, 100);
        },

        checkScrollBar: function() {
            var $wrapper = $('#rl_modals');
            var $content = $('#rl_modals_loaded_content');

            $wrapper.removeClass('has_scrollbar');

            if ($content.prop('scrollHeight') > $content.innerHeight()) {
                $wrapper.addClass('has_scrollbar');
            }
        },

        resize: function() {
            var self    = this;
            var options = this.getOptions();

            if ( ! options.auto_correct_size) {
                return;
            }

            setTimeout(function() {
                self.resizeContent();
                self.resizeTitle();
                self.resizeContent();
            }, options.auto_correct_size_delay);
        },

        resizeContent: function() {
            var $modal = RegularLabsModals.active_modal;

            if ( ! $modal) {
                return;
            }

            // Don't resize videos or images
            if ($modal.attr('data-modal-video') || $modal.attr('data-modal-image')) {
                return;
            }

            var modals_settings = $modal.data('modals_settings');

            var $content   = $('#rl_modals_loaded_content');
            var $container = $('#rl_modals_content');

            var original_container_width = this.getWidth($container);
            var original_width           = this.getWidth($content);
            var original_height          = this.getHeight($content);

            var container_extra_width = original_container_width - original_width;

            var max_width  = this.getMaxWidth();
            var min_width  = this.getMinWidth();
            var max_height = this.getMaxHeight();
            var min_height = this.getMinHeight();

            var new_width = typeof modals_settings.width !== 'undefined'
                ? this.convertWidth(modals_settings.width)
                : original_width;

            var new_height = typeof modals_settings.height !== 'undefined'
                ? this.convertHeight(modals_settings.height)
                : original_height;

            new_width  = this.limitValue(new_width, min_width, max_width);
            new_height = this.limitValue(new_height, min_height, max_height);

            var new_container_width = new_width + container_extra_width;

            if (modals_settings.iframe) {
                $container.width(new_container_width);
                this.resizeModal(new_width, new_height);

                return;
            }

            new_container_width = new_width + container_extra_width;

            var $content_copy = $content.clone();
            $content.before($content_copy);

            $content.hide();

            $container.width(new_container_width + 10);
            $content_copy.css({
                'width'     : 'auto',
                'height'    : 'auto',
                'background': 'red',
                'display'   : modals_settings.iframe ? 'block' : 'inline-block'
            });

            var resized_width  = this.getWidth($content_copy);
            var resized_height = this.getHeight($content_copy);

            $container.width(original_container_width);
            $content.show();
            $content_copy.remove();

            new_width  = this.limitValue(resized_width, min_width, max_width);
            new_height = this.limitValue(resized_height, min_height, max_height);

            new_container_width = new_width + container_extra_width;
            $container.width(new_container_width);

            this.resizeModal(new_width, new_height);
        },

        resizeTitle: function() {
            var $title = $('#rl_modals_title');

            if ( ! this.getHeight($title)) {
                return;
            }

            var $content        = $('#rl_modals_loaded_content');
            var original_height = this.getHeight($content);

            var title_attr     = this.getTitleHeightAndPos();
            var title_height   = title_attr.height;
            var title_position = title_attr.position;

            var margin = parseInt($content.css('margin-' + title_position));

            var diff_height = title_height - margin;

            if (diff_height < 1) {
                return;
            }

            var new_height = original_height + diff_height;
            var max_height = RegularLabsModals.getMaxHeight();

            new_height = Math.min(new_height, max_height);

            var new_content_height = new_height - diff_height;

            $content.css('margin-' + title_position, title_height);

            this.resizeModal(0, new_height);

            $content.height(new_content_height);
        },

        getTitleHeightAndPos: function() {
            var $title = $('#rl_modals_title');

            var height_inner = this.getHeight($title);

            if ( ! height_inner) {
                return {'height': 0, 'position': 'top'};
            }

            var height_outer = $title.outerHeight() + 1;

            var top      = parseInt($title.css('top'));
            var bottom   = parseInt($title.css('bottom'));
            var position = top ? 'bottom' : 'top';

            $title.height(height_inner * 2);

            if (top === parseInt($title.css('top'))) {
                position = 'top';
                height_outer += top;
            } else if (bottom === parseInt($title.css('bottom'))) {
                position = 'bottom';
                height_outer += bottom;
            }

            $title.height('auto');

            return {'height': height_outer, 'position': position};
        },

        resizeModal: function(width, height) {
            var $modal          = RegularLabsModals.active_modal;
            var modals_settings = $modal.data('modals_settings');

            if (width) {
                modals_settings.innerWidth = width;
            }

            if (height) {
                modals_settings.innerHeight = height;
            }

            modals_settings.transition = 'none';

            $modal.rl_modals.resize(modals_settings);
        },

        reload: function() {
            var $container      = $('#rl_modals');
            var $content        = $('#rl_modals_loaded_content');
            var $modal          = RegularLabsModals.active_modal;
            var modals_settings = $modal.data('modals_settings');

            var original_fadeOut       = $modal.rl_modals.settings.fadeOut;
            var original_initialWidth  = $modal.rl_modals.settings.initialWidth;
            var original_initialHeight = $modal.rl_modals.settings.initialHeight;
            var original_scrollHeight  = $content.scrollTop();

            $modal.rl_modals(modals_settings);

            $modal.rl_modals.settings.fadeOut       = 0;
            $modal.rl_modals.settings.initialWidth  = this.getWidth($container);
            $modal.rl_modals.settings.initialHeight = this.getHeight($container);

            $modal.click();

            $modal.rl_modals.settings.fadeOut       = original_fadeOut;
            $modal.rl_modals.settings.initialWidth  = original_initialWidth;
            $modal.rl_modals.settings.initialHeight = original_initialHeight;

            $content.scrollTop(original_scrollHeight);
        },

        limitValue: function(value, min, max) {
            min = min ? min : 0;
            max = max ? max : 100000;

            value = Math.max(value, min);
            value = Math.min(value, max);

            return value;
        },

        getWidth: function($el) {
            return Math.ceil($el[0].getBoundingClientRect().width)
                - parseInt($el.css('padding-left')) - parseInt($el.css('padding-right'));
        },

        getHeight: function($el) {
            return Math.ceil($el[0].getBoundingClientRect().height)
                - parseInt($el.css('padding-top')) - parseInt($el.css('padding-bottom'));
        },

        getMaxWidth: function() {
            var $modal          = RegularLabsModals.active_modal;
            var modals_settings = $modal.data('modals_settings');

            if ($modal.attr('data-modal-inner-width')) {
                return this.convertWidth($modal.attr('data-modal-inner-width'), true);
            }

            return this.convertWidth(modals_settings.maxWidth);
        },

        getMaxHeight: function() {
            var $modal          = RegularLabsModals.active_modal;
            var modals_settings = $modal.data('modals_settings');

            if ($modal.attr('data-modal-inner-height')) {
                return this.convertHeight($modal.attr('data-modal-inner-height'), true);
            }

            return this.convertHeight(modals_settings.maxHeight);
        },

        getMinWidth: function() {
            var $modal          = RegularLabsModals.active_modal;
            var modals_settings = $modal.data('modals_settings');

            if ($modal.attr('data-modal-inner-width')) {
                return this.convertWidth($modal.attr('data-modal-inner-width'), true);
            }

            return typeof modals_settings.minWidth !== 'undefined'
                ? this.convertWidth(modals_settings.minWidth)
                : 0;
        },

        getMinHeight: function() {
            var $modal          = RegularLabsModals.active_modal;
            var modals_settings = $modal.data('modals_settings');

            if ($modal.attr('data-modal-inner-height')) {
                return this.convertHeight($modal.attr('data-modal-inner-height'), true);
            }

            return typeof modals_settings.minHeight !== 'undefined'
                ? this.convertHeight(modals_settings.minHeight)
                : 0;
        },

        convertWidth: function(width, inner) {
            var inner = inner ? true : false;

            if ( ! width) {
                return this.getWidthByPercentage(95);
            }

            // unit: vw
            if (/vw$/.test(width)) {
                return this.getInnerWidth(parseInt(width) * $(window).width() / 100);
            }

            // unit: vh
            if (/vh$/.test(width)) {
                return this.getInnerWidth(parseInt(width) * $(window).height() / 100);
            }

            if (isNaN(width) && width.indexOf('%') > -1) {
                return this.getWidthByPercentage(width);
            }

            width = parseInt(width);

            var inner_width = inner ? width : this.getInnerWidth(width);
            var outer_width = inner ? this.getOuterWidth(width) : width;

            if (outer_width > ($(window).width() * .95)) {
                return this.getWidthByPercentage(95);
            }

            return inner_width;
        },

        convertHeight: function(height, inner) {
            var inner = inner ? true : false;

            if ( ! height) {
                return this.getHeigthByPercentage(95);
            }

            // unit: vw
            if (/vw$/.test(height)) {
                return this.getInnerHeight(parseInt(height) * $(window).width() / 100);
            }

            // unit: vh
            if (/vh$/.test(height)) {
                return this.getInnerHeight(parseInt(height) * $(window).height() / 100);
            }

            if (isNaN(height) && height.indexOf('%') > -1) {
                return this.getHeigthByPercentage(height);
            }

            height = parseInt(height);

            var inner_height = inner ? height : this.getInnerHeight(height);
            var outer_height = inner ? this.getOuterHeight(height) : height;

            if (outer_height > ($(window).height() * .95)) {
                return this.getHeigthByPercentage(95);
            }

            return inner_height;
        },

        getWidthByPercentage: function(percentage) {
            var width = parseInt(percentage) * $(window).width() / 100;

            return this.getInnerWidth(width);
        },

        getHeigthByPercentage: function(percentage) {
            var height = parseInt(percentage) * $(window).height() / 100;

            return this.getInnerHeight(height);
        },

        getInnerWidth: function(width) {
            return parseInt(width - this.getOuterWidthPadding());
        },

        getOuterWidth: function(width) {
            return parseInt(width + this.getOuterWidthPadding());
        },

        getInnerHeight: function(height) {
            return parseInt(height - this.getOuterHeightPadding());
        },

        getOuterHeight: function(height) {
            return parseInt(height + this.getOuterHeightPadding());
        },

        getOuterWidthPadding: function() {
            return parseInt(
                $('#rl_modals_middle_left').outerWidth() + $('#rl_modals_middle_right').outerWidth()
                + parseInt($('#rl_modals_loaded_content').css('margin-left')) + parseInt($('#rl_modals_loaded_content').css('margin-right'))
                + parseInt($('#rl_modals_loaded_content').css('padding-left')) + parseInt($('#rl_modals_loaded_content').css('padding-right'))
            );
        },

        getOuterHeightPadding: function() {
            return parseInt(
                $('#rl_modals_top_center').outerHeight() + $('#rl_modals_bottom_center').outerHeight()
                + parseInt($('#rl_modals_loaded_content').css('margin-top')) + parseInt($('#rl_modals_loaded_content').css('margin-bottom'))
                + parseInt($('#rl_modals_loaded_content').css('padding-top')) + parseInt($('#rl_modals_loaded_content').css('padding-bottom'))
            );
        }
    };

    $(document).ready(function() {
        RegularLabsModals.init();

        RLModals = RegularLabsModals;
    });
})(jQuery);

Anon7 - 2022
AnonSec Team