47 lines
1.2 KiB
PHP
47 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Service;
|
|
|
|
use Oneup\UploaderBundle\Event\PostPersistEvent;
|
|
use Ramsey\Uuid\Uuid;
|
|
use Psr\Log\LoggerInterface;
|
|
|
|
class UploadListener
|
|
{
|
|
private $sftp;
|
|
private $log;
|
|
|
|
public function __construct(SftpService $sftp, LoggerInterface $log)
|
|
{
|
|
$this->sftp = $sftp;
|
|
$this->log = $log;
|
|
}
|
|
|
|
public function onUpload(PostPersistEvent $event)
|
|
{
|
|
$type = $event->getType();
|
|
switch ($type) {
|
|
case 'sftp':
|
|
$this->log->debug("IN UPLOAD SFTP");
|
|
|
|
$request = $event->getRequest();
|
|
$folder = $request->get('folder');
|
|
$this->log->debug("Folder = ".$folder);
|
|
|
|
$file = $event->getFile();
|
|
$filename = $file->getFilename();
|
|
$this->log->debug("File = ".$file);
|
|
|
|
$response = $event->getResponse();
|
|
$response['file'] =$folder.'/'.$filename;
|
|
$response['filename'] = $filename;
|
|
|
|
$this->sftp->connect();
|
|
$return=$this->sftp->uploadFile($file, $folder);
|
|
if(!$return) throw new \Exception("Upload error");
|
|
|
|
break;
|
|
}
|
|
}
|
|
}
|