aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/sidebar/AttributesArrayAccessTrait.php
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2023-10-10 07:50:41 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2023-10-10 07:50:41 +0000
commit1460ee5307ad6b1dc4cd2d09a82e8bdc542f2515 (patch)
treebbce034bfa0d15efdd987061a20d59981ba5d563 /lib/classes/sidebar/AttributesArrayAccessTrait.php
parente2f7a32f7cf720b92563deb26bbd9d05bae7bbcf (diff)
introduce interface AdminCourseWidgetPlugin and adjust core admin courses to it, fixes #3084
Closes #3084 Merge request studip/studip!2071
Diffstat (limited to 'lib/classes/sidebar/AttributesArrayAccessTrait.php')
-rw-r--r--lib/classes/sidebar/AttributesArrayAccessTrait.php44
1 files changed, 44 insertions, 0 deletions
diff --git a/lib/classes/sidebar/AttributesArrayAccessTrait.php b/lib/classes/sidebar/AttributesArrayAccessTrait.php
new file mode 100644
index 0000000..7bea834
--- /dev/null
+++ b/lib/classes/sidebar/AttributesArrayAccessTrait.php
@@ -0,0 +1,44 @@
+<?php
+trait AttributesArrayAccessTrait
+{
+ public $attributes = [];
+
+ /**
+ * @todo Add bool return type when Stud.IP requires PHP8 minimal
+ */
+ #[ReturnTypeWillChange]
+ public function offsetExists($offset)
+ {
+ return isset($this->attributes[$offset]);
+ }
+
+ /**
+ * @param $offset
+ * @return mixed
+ *
+ * @todo Add mixed return type when Stud.IP requires PHP8 minimal
+ */
+ #[ReturnTypeWillChange]
+ public function offsetGet($offset)
+ {
+ return $this->attributes[$offset];
+ }
+
+ /**
+ * @todo Add void return type when Stud.IP requires PHP8 minimal
+ */
+ #[ReturnTypeWillChange]
+ public function offsetSet($offset, $value)
+ {
+ $this->attributes[$offset] = $value;
+ }
+
+ /**
+ * @todo Add void return type when Stud.IP requires PHP8 minimal
+ */
+ #[ReturnTypeWillChange]
+ public function offsetUnset($offset)
+ {
+ unset($this->attributes[$offset]);
+ }
+}