403Webshell
Server IP : 193.146.211.90  /  Your IP : 10.85.6.55
Web Server : Apache
System : Linux wordpress-gti-69dcdb54f7-n4wdq 6.11.8-arch1-2 #1 SMP PREEMPT_DYNAMIC Fri, 15 Nov 2024 15:35:07 +0000 x86_64
User : 1001 ( 1001)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /bitnami/wordpress/wp-content/plugins/wordpress-popular-posts/assets/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /bitnami/wordpress/wp-content/plugins/wordpress-popular-posts/assets/js/wpp.js
const wpp_params = document.currentScript.dataset;
const WordPressPopularPosts = (function() {

    "use strict";

    const noop = function(){};

    const get = function( url, params, callback, additional_headers ){
        callback = ( 'function' === typeof callback ) ? callback : noop;
        ajax( "GET", url, params, callback, additional_headers );
    };

    const post = function( url, params, callback, additional_headers ){
        callback = ( 'function' === typeof callback ) ? callback : noop;
        ajax( "POST", url, params, callback, additional_headers );
    };

    const ajax = function( method, url, params, callback, additional_headers ){
        /* Create XMLHttpRequest object and set variables */
        let xhr = new XMLHttpRequest(),
            target = url,
            args = params,
            valid_methods = ["GET", "POST"],
            headers = {
                'X-Requested-With': 'XMLHttpRequest'
            };

        method = -1 != valid_methods.indexOf( method ) ? method : "GET";

        /* Set request headers */
        if ( 'POST' == method ) {
            headers['Content-Type'] = 'application/x-www-form-urlencoded';
        }

        if ( 'object' == typeof additional_headers && Object.keys(additional_headers).length ) {
            headers = Object.assign({}, headers, additional_headers);
        }

        /* Set request method and target URL */
        xhr.open( method, target + ( 'GET' == method ? '?' + args : '' ), true );

        for (const key in headers) {
            if ( headers.hasOwnProperty(key) ) {
                xhr.setRequestHeader( key, headers[key] );
            }
        }

        /* Hook into onreadystatechange */
        xhr.onreadystatechange = function() {
            if ( 4 === xhr.readyState && 200 <= xhr.status && 300 > xhr.status ) {
                if ( 'function' === typeof callback ) {
                    callback.call( undefined, xhr.response );
                }
            }
        };

        /* Send request */
        xhr.send( ( 'POST' == method ? args : null ) );
    };

    const theme = function(wpp_list) {
        let base_styles = document.createElement('style'),
            dummy_list = document.createElement('ul');

        dummy_list.innerHTML = '<li><a href="#"></a></li>';
        wpp_list.parentNode.appendChild(dummy_list);

        let dummy_list_item_styles = getComputedStyle(dummy_list.querySelector('li')),
            dummy_link_item_styles = getComputedStyle(dummy_list.querySelector('li a'));

        base_styles.innerHTML = '.wpp-list li {font-size: '+ dummy_list_item_styles.fontSize +'}';
        base_styles.innerHTML += '.wpp-list li a {color: '+ dummy_link_item_styles.color +'}';

        wpp_list.parentNode.removeChild(dummy_list);

        let wpp_list_sr = wpp_list.attachShadow({mode: "open"});

        wpp_list_sr.append(base_styles);

        while(wpp_list.firstElementChild) {
            wpp_list_sr.append(wpp_list.firstElementChild);
        }
    };

    return {
        get: get,
        post: post,
        ajax: ajax,
        theme: theme
    };

})();

(function(){
    if ( ! Object.keys(wpp_params).length ) {
        console.error('WPP params not found, if you are using a JS minifier tool please add wpp.min.js to its exclusion list');
        return;
    }

    const post_id = Number(wpp_params.postId);
    let do_request = true;

    if ( post_id ) {
        if ( '1' == wpp_params.sampling ) {
            let num = Math.floor(Math.random() * wpp_params.samplingRate) + 1;
            do_request = ( 1 === num );
        }

        if ( 'boolean' === typeof window.wpp_do_request ) {
            do_request = window.wpp_do_request;
        }

        if ( do_request ) {
            WordPressPopularPosts.post(
                wpp_params.apiUrl + '/v2/views/' + post_id,
                "_wpnonce=" + wpp_params.token + "&sampling=" + wpp_params.sampling + "&sampling_rate=" + wpp_params.samplingRate,
                function( response ) {
                    wpp_params.debug&&window.console&&window.console.log&&window.console.log(JSON.parse(response));
                }
            );
        }
    }
})();

document.addEventListener('DOMContentLoaded', function() {
    if ( ! Object.keys(wpp_params).length ) {
        return;
    }

    const widget_placeholders = document.querySelectorAll('.wpp-widget-block-placeholder, .wpp-shortcode-placeholder');
    let w = 0;

    while ( w < widget_placeholders.length ) {
        fetchWidget(widget_placeholders[w]);
        w++;
    }

    const sr = document.querySelectorAll('.popular-posts-sr');

    if ( sr.length ) {
        for( let s = 0; s < sr.length; s++ ) {
            WordPressPopularPosts.theme(sr[s]);
        }
    }

    function fetchWidget(widget_placeholder) {
        let headers = {
                'Content-Type': 'application/json',
                'X-WP-Nonce': wpp_params.token
            },
            params = '',
            method = 'POST',
            url = wpp_params.apiUrl + '/v2/widget?is_single=' + wpp_params.postId + ( wpp_params.lang ? '&lang=' + wpp_params.lang : '' );

        let json_tag = widget_placeholder.parentNode.querySelector('script[type="application/json"]');

        if ( json_tag ) {
            let args = JSON.parse(json_tag.textContent.replace(/[\n\r]/g,''));
            params = JSON.stringify(args);
        }

        WordPressPopularPosts.ajax(
            method,
            url,
            params,
            function(response) {
                renderWidget(response, widget_placeholder);
            },
            headers
        );
    }

    function renderWidget(response, widget_placeholder) {
        widget_placeholder.insertAdjacentHTML('afterend', JSON.parse(response).widget);

        let parent = widget_placeholder.parentNode,
            sr = parent.querySelector('.popular-posts-sr'),
            json_tag = parent.querySelector('script[type="application/json"]');

        if ( json_tag )
            parent.removeChild(json_tag);

        parent.removeChild(widget_placeholder);
        parent.classList.add('wpp-ajax');

        if ( sr ) {
            WordPressPopularPosts.theme(sr);
        }

        let event = new Event("wpp-onload", {"bubbles": true, "cancelable": false});
        parent.dispatchEvent(event);
    }
});

Youez - 2016 - github.com/yon3zu
LinuXploit