403Webshell
Server IP : 104.21.14.103  /  Your IP : 18.191.139.245
Web Server : LiteSpeed
System : Linux business53.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : giankuin ( 1871)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/giankuin/www/wp-content/plugins/duplicator-pro/lib/onedrive/src/Krizalys/Onedrive/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/giankuin/www/wp-content/plugins/duplicator-pro/lib/onedrive/src/Krizalys/Onedrive/File.php
<?php

namespace DuplicatorPro\Krizalys\Onedrive;
defined("ABSPATH") or die("");
/**
 * @class File
 *
 * A File instance is a DriveItem instance referencing a OneDrive file. It may
 * have content but may not contain other OneDrive drive items.
 */
class File extends DriveItem
{
    public $sha1 = null;

    /**
     * Constructor.
     *
     * @param Client       $client  The Client instance owning this DriveItem
     *                              instance.
     * @param null|string  $id      The unique ID of the OneDrive drive item
     *                              referenced by this DriveItem instance.
     * @param array|object $options An array/object with one or more of the
     *                              following keys/properties:
     *                              - 'parent_id' (string) The unique ID of the
     *                              parent OneDrive folder of this drive item.
     *                              - 'name' (string) The name of this drive
     *                              item.
     *                              - 'description'  (string) The description of
     *                              this drive item. May be empty.
     *                              - 'size' (int) The size of this drive item,
     *                              in bytes.
     *                              - 'created_time' (string) The creation time,
     *                              as a RFC date/time.
     *                              - 'updated_time' (string) The last
     *                              modification time, as a RFC date/time.
     */
    public function __construct(Client $client, $id, $options = [])
    {
        parent::__construct($client, $id, $options);

        if(property_exists($options,'file') && property_exists($options->file,'hashes')){
            if(property_exists($options->file->hashes,'sha1Hash')){
                $this->sha1 = strtolower($options->file->hashes->sha1Hash);
            }else if(array_key_exists('sha1Hash', $options->file->hashes)){
                $this->sha1 = strtolower($options->file->hashes['sha1Hash']);
            }
        }

    }

    /**
     * Fetches the content of the OneDrive file referenced by this File
     * instance.
     *
     * @param array $options Extra cURL options to apply.
     *
     * @return string The content of the OneDrive file referenced by this File
     *                instance.
     *
     * @todo Should somewhat return the content-type as well; this information
     *       is not disclosed by OneDrive.
     */
    public function fetchContent($options = [])
    {
        return $this->_client->apiGet("drive/items/".$this->_id . '/content', $options);
    }

    public function sha1CheckSum($file)
    {
        if($this->sha1){
            $local_sha1 = sha1_file($file);
            \DUP_PRO_Log::trace("{$local_sha1} <=> {$this->sha1}");

            // SnapCreek Custom code
            // sha1_file($file) may return false on failure
            // return $local_sha1 == $this->sha1;
            if (false !== $local_sha1) {
                return $local_sha1 == $this->sha1;
            } else {
                return true;
            }
        } elseif (is_null($this->sha1)) {
            return true;
        } else {
            throw new \Exception("Couldn't get the SHA1 hash of the uploaded file.",404);
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit