// SPDX-FileCopyrightText: 2004-2023 Ryan Parman, Sam Sneddon, Ryan McCue
// SPDX-License-Identifier: BSD-3-Clause
* Handles `<media:restriction>` as defined in Media RSS
* Used by {@see \SimplePie\Enclosure::get_restriction()} and {@see \SimplePie\Enclosure::get_restrictions()}
* This class can be overloaded with {@see \SimplePie\SimplePie::set_restriction_class()}
public const RELATIONSHIP_ALLOW = 'allow';
public const RELATIONSHIP_DENY = 'deny';
* Relationship ('allow'/'deny')
* @var self::RELATIONSHIP_*|null
* @see get_relationship()
* Constructor, used to input the data
* For documentation on all the parameters, see the corresponding
* properties and their accessors
* @param ?self::RELATIONSHIP_* $relationship
public function __construct(?string $relationship = null, ?string $type = null, ?string $value = null)
$this->relationship = $relationship;
public function __toString()
// There is no $this->data here
return md5(serialize($this));
* @return ?self::RELATIONSHIP_*
public function get_relationship()
if ($this->relationship !== null) {
return $this->relationship;
public function get_type()
if ($this->type !== null) {
* Get the list of restricted things
public function get_value()
if ($this->value !== null) {
class_alias('SimplePie\Restriction', 'SimplePie_Restriction');