mirror of
				https://github.com/Chouchen/Shikiryu_Backup.git
				synced 2021-06-30 16:02:14 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace Shikiryu\Backup\Transport;
 | 
						|
 | 
						|
use Dropbox\Client;
 | 
						|
use Shikiryu\Backup\Transport\TransportAbstract;
 | 
						|
 | 
						|
class Dropbox extends TransportAbstract
 | 
						|
{
 | 
						|
 | 
						|
    private $dropbox;
 | 
						|
 | 
						|
    protected $token    = '';
 | 
						|
    protected $app      = '';
 | 
						|
    protected $folder   = '';
 | 
						|
 | 
						|
    public function __construct($backup, $config)
 | 
						|
    {
 | 
						|
        parent::__construct($backup, $config);
 | 
						|
        $this->dropbox = new Client($this->token, $this->app);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * @return bool
 | 
						|
     */
 | 
						|
    public function send()
 | 
						|
    {
 | 
						|
        $sent = true;
 | 
						|
        $files = $this->backup->getFilesToBackup();
 | 
						|
        foreach ($files as $file => $name) {
 | 
						|
            $file = fopen($file, 'r');
 | 
						|
            $upload = $this->dropbox->uploadFile($this->folder.'/'.$name, \Dropbox\WriteMode::force(), $file);
 | 
						|
            if (!$upload) {
 | 
						|
                $sent = false;
 | 
						|
                echo 'DROPBOX upload manquée de '.$file.' vers '.$this->folder.$name;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        $streams = $this->backup->getStreamsToBackup();
 | 
						|
        foreach ($streams as $stream => $name) {
 | 
						|
            $upload = $this->dropbox->uploadFileFromString($this->folder.'/'.$name, \Dropbox\WriteMode::force(), $stream);
 | 
						|
            if (!$upload) {
 | 
						|
                $sent = false;
 | 
						|
                echo 'DROPBOX upload manquée de '.$file.' vers '.$this->folder.$name;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        return $sent;
 | 
						|
    }
 | 
						|
} |