mirror of
https://github.com/Karaka-Management/oms-Media.git
synced 2026-02-01 02:08:44 +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;
|
||||
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
use Modules\Media\Models\Collection;
|
||||
|
||||
use Modules\Media\Models\CollectionMapper;
|
||||
|
|
@ -85,7 +86,7 @@ final class Installer extends InstallerAbstract
|
|||
$collection->setName((string) $data['name'] ?? '');
|
||||
$collection->setVirtualPath((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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ declare(strict_types=1);
|
|||
namespace Modules\Media\Controller;
|
||||
|
||||
use Modules\Admin\Models\AccountPermission;
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
use Modules\Media\Models\Collection;
|
||||
use Modules\Media\Models\CollectionMapper;
|
||||
use Modules\Media\Models\Media;
|
||||
|
|
@ -23,8 +24,8 @@ use Modules\Media\Models\NullCollection;
|
|||
use Modules\Media\Models\PathSettings;
|
||||
use Modules\Media\Models\PermissionState;
|
||||
use Modules\Media\Models\UploadFile;
|
||||
use Modules\Media\Models\UploadStatus;
|
||||
|
||||
use Modules\Media\Models\UploadStatus;
|
||||
use phpOMS\Account\PermissionType;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
|
|
@ -240,7 +241,7 @@ final class ApiController extends Controller
|
|||
$media->setPath(self::normalizeDbPath($status['path']) . '/' . $status['filename']);
|
||||
$media->setName($status['name']);
|
||||
$media->setSize($status['size']);
|
||||
$media->setCreatedBy($account);
|
||||
$media->setCreatedBy(new NullAccount($account));
|
||||
$media->setExtension($status['extension']);
|
||||
$media->setVirtualPath($virtualPath);
|
||||
|
||||
|
|
|
|||
|
|
@ -27,10 +27,10 @@ class Collection extends Media implements \Iterator
|
|||
/**
|
||||
* Resource id.
|
||||
*
|
||||
* @var array<int, int|Media>
|
||||
* @var Media[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $sources = [];
|
||||
private array $sources = [];
|
||||
|
||||
/**
|
||||
* Extension name.
|
||||
|
|
@ -65,13 +65,13 @@ class Collection extends Media implements \Iterator
|
|||
/**
|
||||
* Set sources.
|
||||
*
|
||||
* @param int|Media $source Source
|
||||
* @param Media $source Source
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function addSource($source) : void
|
||||
public function addSource(Media $source) : void
|
||||
{
|
||||
$this->sources[] = $source;
|
||||
}
|
||||
|
|
@ -79,7 +79,7 @@ class Collection extends Media implements \Iterator
|
|||
/**
|
||||
* Get sources.
|
||||
*
|
||||
* @return array
|
||||
* @return Media[]
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -14,6 +14,9 @@ declare(strict_types=1);
|
|||
|
||||
namespace Modules\Media\Models;
|
||||
|
||||
use Modules\Admin\Models\Account;
|
||||
use Modules\Admin\Models\NullAccount;
|
||||
|
||||
/**
|
||||
* Media class.
|
||||
*
|
||||
|
|
@ -59,10 +62,10 @@ class Media implements \JsonSerializable
|
|||
/**
|
||||
* Author.
|
||||
*
|
||||
* @var int
|
||||
* @var Account
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $createdBy = 0;
|
||||
protected Account $createdBy;
|
||||
|
||||
/**
|
||||
* Uploaded.
|
||||
|
|
@ -151,6 +154,7 @@ class Media implements \JsonSerializable
|
|||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->createdBy = new NullAccount();
|
||||
$this->createdAt = new \DateTime();
|
||||
}
|
||||
|
||||
|
|
@ -297,11 +301,11 @@ class Media implements \JsonSerializable
|
|||
}
|
||||
|
||||
/**
|
||||
* @return int|\phpOMS\Account\Account
|
||||
* @return Account
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function getCreatedBy()
|
||||
public function getCreatedBy() : Account
|
||||
{
|
||||
return $this->createdBy;
|
||||
}
|
||||
|
|
@ -313,7 +317,7 @@ class Media implements \JsonSerializable
|
|||
*/
|
||||
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
|
||||
*
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public function setCreatedBy($createdBy) : void
|
||||
public function setCreatedBy(Account $createdBy) : void
|
||||
{
|
||||
$this->createdBy = $createdBy;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ class MediaMapper extends DataMapperAbstract
|
|||
'media_password' => ['name' => 'media_password', 'type' => 'string', 'internal' => 'password'],
|
||||
'media_extension' => ['name' => 'media_extension', 'type' => 'string', 'internal' => 'extension'],
|
||||
'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],
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -24,4 +24,15 @@ namespace Modules\Media\Models;
|
|||
*/
|
||||
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
|
||||
{
|
||||
/**
|
||||
* 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