mirror of
https://github.com/Karaka-Management/oms-Media.git
synced 2026-02-16 01:08:41 +00:00
fixes Orange-Management/phpOMS#224 and fixes Orange-Management/phpOMS#212
This commit is contained in:
parent
8682dca742
commit
c9fc4568ad
|
|
@ -14,6 +14,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\Media\Admin;
|
namespace Modules\Media\Admin;
|
||||||
|
|
||||||
|
use Modules\Admin\Models\NullAccount;
|
||||||
use Modules\Media\Models\Collection;
|
use Modules\Media\Models\Collection;
|
||||||
|
|
||||||
use Modules\Media\Models\CollectionMapper;
|
use Modules\Media\Models\CollectionMapper;
|
||||||
|
|
@ -85,7 +86,7 @@ final class Installer extends InstallerAbstract
|
||||||
$collection->setName((string) $data['name'] ?? '');
|
$collection->setName((string) $data['name'] ?? '');
|
||||||
$collection->setVirtualPath((string) $data['virtualPath'] ?? '/');
|
$collection->setVirtualPath((string) $data['virtualPath'] ?? '/');
|
||||||
$collection->setPath((string) $data['virtualPath'] ?? '/');
|
$collection->setPath((string) $data['virtualPath'] ?? '/');
|
||||||
$collection->setCreatedBy((int) $data['user'] ?? 1);
|
$collection->setCreatedBy(new NullAccount((int) $data['user'] ?? 1));
|
||||||
|
|
||||||
CollectionMapper::create($collection);
|
CollectionMapper::create($collection);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@ declare(strict_types=1);
|
||||||
namespace Modules\Media\Controller;
|
namespace Modules\Media\Controller;
|
||||||
|
|
||||||
use Modules\Admin\Models\AccountPermission;
|
use Modules\Admin\Models\AccountPermission;
|
||||||
|
use Modules\Admin\Models\NullAccount;
|
||||||
use Modules\Media\Models\Collection;
|
use Modules\Media\Models\Collection;
|
||||||
use Modules\Media\Models\CollectionMapper;
|
use Modules\Media\Models\CollectionMapper;
|
||||||
use Modules\Media\Models\Media;
|
use Modules\Media\Models\Media;
|
||||||
|
|
@ -23,8 +24,8 @@ use Modules\Media\Models\NullCollection;
|
||||||
use Modules\Media\Models\PathSettings;
|
use Modules\Media\Models\PathSettings;
|
||||||
use Modules\Media\Models\PermissionState;
|
use Modules\Media\Models\PermissionState;
|
||||||
use Modules\Media\Models\UploadFile;
|
use Modules\Media\Models\UploadFile;
|
||||||
use Modules\Media\Models\UploadStatus;
|
|
||||||
|
|
||||||
|
use Modules\Media\Models\UploadStatus;
|
||||||
use phpOMS\Account\PermissionType;
|
use phpOMS\Account\PermissionType;
|
||||||
use phpOMS\Message\NotificationLevel;
|
use phpOMS\Message\NotificationLevel;
|
||||||
use phpOMS\Message\RequestAbstract;
|
use phpOMS\Message\RequestAbstract;
|
||||||
|
|
@ -240,7 +241,7 @@ final class ApiController extends Controller
|
||||||
$media->setPath(self::normalizeDbPath($status['path']) . '/' . $status['filename']);
|
$media->setPath(self::normalizeDbPath($status['path']) . '/' . $status['filename']);
|
||||||
$media->setName($status['name']);
|
$media->setName($status['name']);
|
||||||
$media->setSize($status['size']);
|
$media->setSize($status['size']);
|
||||||
$media->setCreatedBy($account);
|
$media->setCreatedBy(new NullAccount($account));
|
||||||
$media->setExtension($status['extension']);
|
$media->setExtension($status['extension']);
|
||||||
$media->setVirtualPath($virtualPath);
|
$media->setVirtualPath($virtualPath);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,10 +27,10 @@ class Collection extends Media implements \Iterator
|
||||||
/**
|
/**
|
||||||
* Resource id.
|
* Resource id.
|
||||||
*
|
*
|
||||||
* @var array<int, int|Media>
|
* @var Media[]
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
private $sources = [];
|
private array $sources = [];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extension name.
|
* Extension name.
|
||||||
|
|
@ -65,13 +65,13 @@ class Collection extends Media implements \Iterator
|
||||||
/**
|
/**
|
||||||
* Set sources.
|
* Set sources.
|
||||||
*
|
*
|
||||||
* @param int|Media $source Source
|
* @param Media $source Source
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function addSource($source) : void
|
public function addSource(Media $source) : void
|
||||||
{
|
{
|
||||||
$this->sources[] = $source;
|
$this->sources[] = $source;
|
||||||
}
|
}
|
||||||
|
|
@ -79,7 +79,7 @@ class Collection extends Media implements \Iterator
|
||||||
/**
|
/**
|
||||||
* Get sources.
|
* Get sources.
|
||||||
*
|
*
|
||||||
* @return array
|
* @return Media[]
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,9 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Modules\Media\Models;
|
namespace Modules\Media\Models;
|
||||||
|
|
||||||
|
use Modules\Admin\Models\Account;
|
||||||
|
use Modules\Admin\Models\NullAccount;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Media class.
|
* Media class.
|
||||||
*
|
*
|
||||||
|
|
@ -59,10 +62,10 @@ class Media implements \JsonSerializable
|
||||||
/**
|
/**
|
||||||
* Author.
|
* Author.
|
||||||
*
|
*
|
||||||
* @var int
|
* @var Account
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
protected $createdBy = 0;
|
protected Account $createdBy;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Uploaded.
|
* Uploaded.
|
||||||
|
|
@ -151,6 +154,7 @@ class Media implements \JsonSerializable
|
||||||
*/
|
*/
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
|
$this->createdBy = new NullAccount();
|
||||||
$this->createdAt = new \DateTime();
|
$this->createdAt = new \DateTime();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -297,11 +301,11 @@ class Media implements \JsonSerializable
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return int|\phpOMS\Account\Account
|
* @return Account
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function getCreatedBy()
|
public function getCreatedBy() : Account
|
||||||
{
|
{
|
||||||
return $this->createdBy;
|
return $this->createdBy;
|
||||||
}
|
}
|
||||||
|
|
@ -313,7 +317,7 @@ class Media implements \JsonSerializable
|
||||||
*/
|
*/
|
||||||
public function getCreatedAt() : \DateTime
|
public function getCreatedAt() : \DateTime
|
||||||
{
|
{
|
||||||
return $this->createdAt ?? new \DateTime('now');
|
return $this->createdAt;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -397,13 +401,13 @@ class Media implements \JsonSerializable
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param mixed $createdBy Creator
|
* @param Account $createdBy Creator
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*
|
*
|
||||||
* @since 1.0.0
|
* @since 1.0.0
|
||||||
*/
|
*/
|
||||||
public function setCreatedBy($createdBy) : void
|
public function setCreatedBy(Account $createdBy) : void
|
||||||
{
|
{
|
||||||
$this->createdBy = $createdBy;
|
$this->createdBy = $createdBy;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ class MediaMapper extends DataMapperAbstract
|
||||||
'media_password' => ['name' => 'media_password', 'type' => 'string', 'internal' => 'password'],
|
'media_password' => ['name' => 'media_password', 'type' => 'string', 'internal' => 'password'],
|
||||||
'media_extension' => ['name' => 'media_extension', 'type' => 'string', 'internal' => 'extension'],
|
'media_extension' => ['name' => 'media_extension', 'type' => 'string', 'internal' => 'extension'],
|
||||||
'media_size' => ['name' => 'media_size', 'type' => 'int', 'internal' => 'size'],
|
'media_size' => ['name' => 'media_size', 'type' => 'int', 'internal' => 'size'],
|
||||||
'media_created_by' => ['name' => 'media_created_by', 'type' => 'int', 'internal' => 'createdBy'],
|
'media_created_by' => ['name' => 'media_created_by', 'type' => 'int', 'internal' => 'createdBy', 'readonly' => true],
|
||||||
'media_created_at' => ['name' => 'media_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true],
|
'media_created_at' => ['name' => 'media_created_at', 'type' => 'DateTime', 'internal' => 'createdAt', 'readonly' => true],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,4 +24,15 @@ namespace Modules\Media\Models;
|
||||||
*/
|
*/
|
||||||
final class NullCollection extends Collection
|
final class NullCollection extends Collection
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*
|
||||||
|
* @param int $id Model id
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
public function __construct(int $id = 0)
|
||||||
|
{
|
||||||
|
$this->id = $id;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,4 +24,15 @@ namespace Modules\Media\Models;
|
||||||
*/
|
*/
|
||||||
final class NullMedia extends Media
|
final class NullMedia extends Media
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Constructor
|
||||||
|
*
|
||||||
|
* @param int $id Model id
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
*/
|
||||||
|
public function __construct(int $id = 0)
|
||||||
|
{
|
||||||
|
$this->id = $id;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user