eZ\Publish\Core\Limitation\ParentUserGroupLimitationType::acceptValue PHP Method

acceptValue() public method

Makes sure LimitationValue object and ->limitationValues is of correct type.
public acceptValue ( eZ\Publish\API\Repository\Values\User\Limitation $limitationValue )
$limitationValue eZ\Publish\API\Repository\Values\User\Limitation
    public function acceptValue(APILimitationValue $limitationValue)
    {
        if (!$limitationValue instanceof APIParentUserGroupLimitation) {
            throw new InvalidArgumentType('$limitationValue', 'APIParentUserGroupLimitation', $limitationValue);
        } elseif (!is_array($limitationValue->limitationValues)) {
            throw new InvalidArgumentType('$limitationValue->limitationValues', 'array', $limitationValue->limitationValues);
        }
        foreach ($limitationValue->limitationValues as $key => $value) {
            // Accept a true value for b/c with 5.0
            if ($value === true) {
                $limitationValue->limitationValues[$key] = 1;
            } elseif (is_string($value) && ctype_digit($value)) {
                // Cast integers passed as string to int
                $limitationValue->limitationValues[$key] = (int) $value;
            } elseif (!is_int($value)) {
                throw new InvalidArgumentType("\$limitationValue->limitationValues[{$key}]", 'int', $value);
            }
        }
    }