!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/smabpro.picotech.app/public_html/vendor/stripe/stripe-php/lib/Util/   drwxr-xr-x
Free 28.54 GB of 117.98 GB (24.19%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Util.php (7.45 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace Stripe\Util;

use 
Stripe\StripeObject;

abstract class 
Util
{
    private static 
$isMbstringAvailable null;
    private static 
$isHashEqualsAvailable null;

    
/**
     * Whether the provided array (or other) is a list rather than a dictionary.
     * A list is defined as an array for which all the keys are consecutive
     * integers starting at 0. Empty arrays are considered to be lists.
     *
     * @param array|mixed $array
     *
     * @return bool true if the given object is a list
     */
    
public static function isList($array)
    {
        if (!
\is_array($array)) {
            return 
false;
        }
        if ([] === 
$array) {
            return 
true;
        }
        if (
\array_keys($array) !== \range(0\count($array) - 1)) {
            return 
false;
        }

        return 
true;
    }

    
/**
     * Converts a response from the Stripe API to the corresponding PHP object.
     *
     * @param array $resp the response from the Stripe API
     * @param array $opts
     *
     * @return array|StripeObject
     */
    
public static function convertToStripeObject($resp$opts)
    {
        
$types \Stripe\Util\ObjectTypes::mapping;
        if (
self::isList($resp)) {
            
$mapped = [];
            foreach (
$resp as $i) {
                
$mapped[] = self::convertToStripeObject($i$opts);
            }

            return 
$mapped;
        }
        if (
\is_array($resp)) {
            if (isset(
$resp['object']) && \is_string($resp['object']) && isset($types[$resp['object']])) {
                
$class $types[$resp['object']];
            } else {
                
$class \Stripe\StripeObject::class;
            }

            return 
$class::constructFrom($resp$opts);
        }

        return 
$resp;
    }

    
/**
     * @param mixed|string $value a string to UTF8-encode
     *
     * @return mixed|string the UTF8-encoded string, or the object passed in if
     *    it wasn't a string
     */
    
public static function utf8($value)
    {
        if (
null === self::$isMbstringAvailable) {
            
self::$isMbstringAvailable \function_exists('mb_detect_encoding') && \function_exists('mb_convert_encoding');

            if (!
self::$isMbstringAvailable) {
                
\trigger_error('It looks like the mbstring extension is not enabled. ' .
                    
'UTF-8 strings will not properly be encoded. Ask your system ' .
                    
'administrator to enable the mbstring extension, or write to ' .
                    
'support@stripe.com if you have any questions.'\E_USER_WARNING);
            }
        }

        if (
\is_string($value) && self::$isMbstringAvailable && 'UTF-8' !== \mb_detect_encoding($value'UTF-8'true)) {
            return 
mb_convert_encoding($value'UTF-8''ISO-8859-1');
        }

        return 
$value;
    }

    
/**
     * Compares two strings for equality. The time taken is independent of the
     * number of characters that match.
     *
     * @param string $a one of the strings to compare
     * @param string $b the other string to compare
     *
     * @return bool true if the strings are equal, false otherwise
     */
    
public static function secureCompare($a$b)
    {
        if (
null === self::$isHashEqualsAvailable) {
            
self::$isHashEqualsAvailable \function_exists('hash_equals');
        }

        if (
self::$isHashEqualsAvailable) {
            return 
\hash_equals($a$b);
        }
        if (
\strlen($a) !== \strlen($b)) {
            return 
false;
        }

        
$result 0;
        for (
$i 0$i \strlen($a); ++$i) {
            
$result |= \ord($a[$i]) ^ \ord($b[$i]);
        }

        return 
=== $result;
    }

    
/**
     * Recursively goes through an array of parameters. If a parameter is an instance of
     * ApiResource, then it is replaced by the resource's ID.
     * Also clears out null values.
     *
     * @param mixed $h
     *
     * @return mixed
     */
    
public static function objectsToIds($h)
    {
        if (
$h instanceof \Stripe\ApiResource) {
            return 
$h->id;
        }
        if (static::
isList($h)) {
            
$results = [];
            foreach (
$h as $v) {
                
$results[] = static::objectsToIds($v);
            }

            return 
$results;
        }
        if (
\is_array($h)) {
            
$results = [];
            foreach (
$h as $k => $v) {
                if (
null === $v) {
                    continue;
                }
                
$results[$k] = static::objectsToIds($v);
            }

            return 
$results;
        }

        return 
$h;
    }

    
/**
     * @param array $params
     *
     * @return string
     */
    
public static function encodeParameters($params)
    {
        
$flattenedParams self::flattenParams($params);
        
$pieces = [];
        foreach (
$flattenedParams as $param) {
            list(
$k$v) = $param;
            
$pieces[] = self::urlEncode($k) . '=' self::urlEncode($v);
        }

        return 
\implode('&'$pieces);
    }

    
/**
     * @param array $params
     * @param null|string $parentKey
     *
     * @return array
     */
    
public static function flattenParams($params$parentKey null)
    {
        
$result = [];

        foreach (
$params as $key => $value) {
            
$calculatedKey $parentKey "{$parentKey}[{$key}]" $key;

            if (
self::isList($value)) {
                
$result \array_merge($resultself::flattenParamsList($value$calculatedKey));
            } elseif (
\is_array($value)) {
                
$result \array_merge($resultself::flattenParams($value$calculatedKey));
            } else {
                
\array_push($result, [$calculatedKey$value]);
            }
        }

        return 
$result;
    }

    
/**
     * @param array $value
     * @param string $calculatedKey
     *
     * @return array
     */
    
public static function flattenParamsList($value$calculatedKey)
    {
        
$result = [];

        foreach (
$value as $i => $elem) {
            if (
self::isList($elem)) {
                
$result \array_merge($resultself::flattenParamsList($elem$calculatedKey));
            } elseif (
\is_array($elem)) {
                
$result \array_merge($resultself::flattenParams($elem"{$calculatedKey}[{$i}]"));
            } else {
                
\array_push($result, ["{$calculatedKey}[{$i}]"$elem]);
            }
        }

        return 
$result;
    }

    
/**
     * @param string $key a string to URL-encode
     *
     * @return string the URL-encoded string
     */
    
public static function urlEncode($key)
    {
        
$s \urlencode((string) $key);

        
// Don't use strict form encoding by changing the square bracket control
        // characters back to their literals. This is fine by the server, and
        // makes these parameter strings easier to read.
        
$s \str_replace('%5B''['$s);

        return 
\str_replace('%5D'']'$s);
    }

    public static function 
normalizeId($id)
    {
        if (
\is_array($id)) {
            
// see https://github.com/stripe/stripe-php/pull/1602
            
if (!isset($id['id'])) {
                return [
null$id];
            }
            
$params $id;
            
$id $params['id'];
            unset(
$params['id']);
        } else {
            
$params = [];
        }

        return [
$id$params];
    }

    
/**
     * Returns UNIX timestamp in milliseconds.
     *
     * @return int current time in millis
     */
    
public static function currentTimeMillis()
    {
        return (int) 
\round(\microtime(true) * 1000);
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0039 ]--