From 13f8b65e080f17116cbf916db1dbd11a14f46bd9 Mon Sep 17 00:00:00 2001 From: Andy Miller Date: Tue, 9 Feb 2021 13:09:31 -0700 Subject: [PATCH] manually merged new `attribute()` method #3065 --- CHANGELOG.md | 2 ++ .../Media/Interfaces/MediaObjectInterface.php | 9 +++++++++ .../Grav/Common/Media/Traits/MediaObjectTrait.php | 15 +++++++++++++++ 3 files changed, 26 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d0eac5b02..c335f90e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # v1.7.6 ## mm/dd/2021 +1. [](#new) + * Added `Medium::attribute()` to pass arbitrary attributes [#3065](https://github.com/getgrav/grav/pull/3065) 1. [](#improved) * Added abstract `FlexObject`, `FlexCollection` and `FlexIndex` classes to `\Grav\Common\Flex` namespace (extend those instead of Framework or Generic classes) * Updated bundled `composer.phar` binary to latest version `2.0.9` diff --git a/system/src/Grav/Common/Media/Interfaces/MediaObjectInterface.php b/system/src/Grav/Common/Media/Interfaces/MediaObjectInterface.php index 026c6b5a1..64388817a 100644 --- a/system/src/Grav/Common/Media/Interfaces/MediaObjectInterface.php +++ b/system/src/Grav/Common/Media/Interfaces/MediaObjectInterface.php @@ -115,6 +115,15 @@ interface MediaObjectInterface extends \Grav\Framework\Media\Interfaces\MediaObj */ public function reset(); + /** + * Add custom attribute to medium. + * + * @param string $attribute + * @param string $value + * @return $this + */ + public function attribute($attribute = null, $value = ''); + /** * Switch display mode. * diff --git a/system/src/Grav/Common/Media/Traits/MediaObjectTrait.php b/system/src/Grav/Common/Media/Traits/MediaObjectTrait.php index 51920db43..3c2a38baf 100644 --- a/system/src/Grav/Common/Media/Traits/MediaObjectTrait.php +++ b/system/src/Grav/Common/Media/Traits/MediaObjectTrait.php @@ -303,6 +303,21 @@ trait MediaObjectTrait return $this; } + /** + * Add custom attribute to medium. + * + * @param string $attribute + * @param string $value + * @return $this + */ + public function attribute($attribute = null, $value = '') + { + if (!empty($attribute)) { + $this->attributes[$attribute] = $value; + } + return $this; + } + /** * Switch display mode. *