mirror of
https://github.com/getgrav/grav.git
synced 2026-06-25 08:01:12 +02:00
Added methods to copy, move and delete all media
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user