1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php
- /**
- * SPDX-FileCopyrightText: 2023-2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-FileCopyrightText: 2019-2022 ownCloud GmbH
- * SPDX-License-Identifier: AGPL-3.0-only
- */
- namespace OC\Share20;
- use OCP\Share\IAttributes;
- class ShareAttributes implements IAttributes {
- /** @var array */
- private $attributes;
- public function __construct() {
- $this->attributes = [];
- }
- /**
- * @inheritdoc
- */
- public function setAttribute($scope, $key, $enabled) {
- if (!\array_key_exists($scope, $this->attributes)) {
- $this->attributes[$scope] = [];
- }
- $this->attributes[$scope][$key] = $enabled;
- return $this;
- }
- /**
- * @inheritdoc
- */
- public function getAttribute($scope, $key) {
- if (\array_key_exists($scope, $this->attributes) &&
- \array_key_exists($key, $this->attributes[$scope])) {
- return $this->attributes[$scope][$key];
- }
- return null;
- }
- /**
- * @inheritdoc
- */
- public function toArray() {
- $result = [];
- foreach ($this->attributes as $scope => $keys) {
- foreach ($keys as $key => $enabled) {
- $result[] = [
- "scope" => $scope,
- "key" => $key,
- "enabled" => $enabled
- ];
- }
- }
- return $result;
- }
- }
|