diff options
| author | Marcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de> | 2024-06-18 13:18:06 +0000 |
|---|---|---|
| committer | Marcus Eibrink-Lunzenauer <lunzenauer@elan-ev.de> | 2024-06-18 13:18:06 +0000 |
| commit | 33fd1358507b4a5abb3dcebe78d407d0567717c1 (patch) | |
| tree | 6bd8f6959da4c3fc1b8907c0bbc28eb9e10d4a5a /lib/classes/MultiDimArrayObject.class.php | |
| parent | 42d46671c0309bddb71a91bbfdc5f2fa2e44384e (diff) | |
Deprecate `StudipAutoloader` and use composer's `autoload`
Closes #4282
Merge request studip/studip!3099
Diffstat (limited to 'lib/classes/MultiDimArrayObject.class.php')
| -rw-r--r-- | lib/classes/MultiDimArrayObject.class.php | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/lib/classes/MultiDimArrayObject.class.php b/lib/classes/MultiDimArrayObject.class.php deleted file mode 100644 index b578018..0000000 --- a/lib/classes/MultiDimArrayObject.class.php +++ /dev/null @@ -1,129 +0,0 @@ -<?php -/** - * MultiDimArrayObject - * - * - * @author André Noack <noack@data-quest.de> - * - */ -class MultiDimArrayObject extends StudipArrayObject -{ - /** - * Constructor - * - * @param array $input - * @param int $flags - * @param string $iteratorClass - */ - public function __construct($input = [], $flags = self::STD_PROP_LIST, $iteratorClass = 'ArrayIterator') - { - parent::__construct([], $flags, $iteratorClass); - $this->exchangeArray($input); - } - - /** - * Appends the value - * - * @param mixed $value - * @return void - */ - public function append($value) - { - $this->offsetSet(null, $value); - } - - /** - * Exchange the array for another one. - * - * @param array|ArrayObject $data - * @return array - */ - public function exchangeArray($data) - { - if (!is_array($data) && !is_object($data)) { - throw new InvalidArgumentException('Passed variable is not an array or object'); - } - - if ($data instanceof \StudipArrayObject) { - $data = $data->getArrayCopy(); - } - if (!is_array($data)) { - $data = (array) $data; - } - - $storage = $this->storage; - - $this->storage = $this->recursiveArrayToArrayObjects($data); - - return $storage; - } - - /** - * Creates a copy of the ArrayObject. - * - * @return array - */ - public function getArrayCopy() - { - $ret = []; - foreach($this->storage as $key => $value) { - if ($value instanceOf StudipArrayObject) { - $ret[$key] = $value->getArrayCopy(); - } else { - $ret[$key] = $value; - } - } - return $ret; - } - - /** - * Create a new iterator from an ArrayObject instance - */ - public function getIterator(): Traversable - { - $class = $this->iteratorClass; - - return new $class($this->getArrayCopy()); - } - - /** - * Sets the value at the specified key to value - * - * @param mixed $key - * @param mixed $value - */ - public function offsetSet($key, $value): void - { - $new_value = $this->recursiveArrayToArrayObjects($value); - if (is_array($new_value)) { - $class = get_called_class(); - $new_value = new $class($new_value, $this->getFlags(), $this->getIteratorClass()); - } - if (is_null($key)) { - $this->storage[] = $new_value; - } else { - $this->storage[$key] = $new_value; - } - } - - protected function recursiveArrayToArrayObjects($data) - { - if ($data instanceOf StudipArrayObject) { - $data = $data->getArrayCopy(); - } - if (is_array($data)) { - $new_data = []; - foreach ($data as $key => $value) { - $new_value = $this->recursiveArrayToArrayObjects($value); - if (is_array($new_value)) { - $class = get_called_class(); - $new_data[$key] = new $class($new_value, $this->getFlags(), $this->getIteratorClass()); - } else { - $new_data[$key] = $value; - } - } - return $new_data; - } - return $data; - } -} |
