Added methods to copy, move and delete all media

This commit is contained in:
Matias Griese
2022-06-10 13:21:48 +03:00
parent 48400920c4
commit e8bc5fac71
3 changed files with 56 additions and 10 deletions

View File

@@ -21,6 +21,14 @@ trait FlexObjectTrait
{
use FlexCommonTrait;
protected $events = [
'onRender' => 'onFlexObjectRender',
'onBeforeSave' => 'onFlexObjectBeforeSave',
'onAfterSave' => 'onFlexObjectAfterSave',
'onBeforeDelete' => 'onFlexObjectBeforeDelete',
'onAfterDelete' => 'onFlexObjectAfterDelete'
];
/**
* @param string $name
* @param object|null $event
@@ -28,14 +36,6 @@ trait FlexObjectTrait
*/
public function triggerEvent(string $name, $event = null)
{
$events = [
'onRender' => 'onFlexObjectRender',
'onBeforeSave' => 'onFlexObjectBeforeSave',
'onAfterSave' => 'onFlexObjectAfterSave',
'onBeforeDelete' => 'onFlexObjectBeforeDelete',
'onAfterDelete' => 'onFlexObjectAfterDelete'
];
if (null === $event) {
$event = new Event([
'type' => 'flex',
@@ -44,8 +44,8 @@ trait FlexObjectTrait
]);
}
if (isset($events['name'])) {
$name = $events['name'];
if (isset(static::$events['name'])) {
$name = static::$events['name'];
} elseif (strpos($name, 'onFlexObject') !== 0 && strpos($name, 'on') === 0) {
$name = 'onFlexObject' . substr($name, 2);
}

View File

@@ -71,4 +71,21 @@ interface MediaUploadInterface
* @phpstan-impure
*/
public function renameFile(string $from, string $to): void;
/**
* @return bool True if media was deleted. Shared media cannot be deleted and will return false.
*/
public function deleteAll(): bool;
/**
* @param string $to
* @return bool True if media was moved. Shared media cannot be deleted and will return false.
*/
public function moveAll(string $to): bool;
/**
* @param string $to
* @return bool True if media was copied. Shared media cannot be deleted and will return false.
*/
public function copyAll(string $to): bool;
}

View File

@@ -116,6 +116,35 @@ abstract class LocalMedia extends AbstractMedia
return MediumFactory::fromArray($items);
}
/**
* @return bool
*/
public function deleteAll(): bool
{
// TODO: Not implemented
return false;
}
/**
* @param string $to
* @return bool
*/
public function moveAll(string $to): bool
{
// TODO: Not implemented
return false;
}
/**
* @param string $to
* @return bool
*/
public function copyAll(string $to): bool
{
// TODO: Not implemented
return false;
}
/**
* @param string $filename
* @return string