Seditio Source
Root |
./othercms/xenForo 2.2.8/src/XF/Purchasable/Purchase.php
<?php

namespace XF\Purchasable;

/**
 * @property string $title
 * @property string $description
 * @property float $cost
 * @property string $currency
 * @property bool $recurring
 * @property int $lengthAmount
 * @property string $lengthUnit
 * @property \XF\Entity\User $purchaser
 * @property \XF\Entity\PaymentProfile $paymentProfile
 * @property string $purchasableTypeId
 * @property string $purchasableId
 * @property string $purchasableTitle
 * @property array $extraData
 * @property string $cancelUrl
 * @property string $returnUrl
 * @property string $requestKey
 */
class Purchase implements \ArrayAccess
{
    protected
$title;

    protected
$description;

    protected
$cost;

    protected
$currency;

    protected
$recurring = false;

    protected
$lengthAmount;

    protected
$lengthUnit;

    protected
$purchaser;

    protected
$paymentProfile;

    protected
$purchasableTypeId;

    protected
$purchasableId;

    protected
$purchasableTitle;

    protected
$extraData = [];

    protected
$returnUrl;

    protected
$cancelUrl;

    protected
$requestKey;

    public function
__get($key)
    {
        if (
property_exists($this, $key))
        {
            return
$this->{$key};
        }
        else
        {
            throw new \
InvalidArgumentException("Unknown purchase object field '$key'");
        }
    }

    public function
__set($key, $value)
    {
        if (
property_exists($this, $key))
        {
           
$this->{$key} = $value;
        }
        else
        {
            throw new \
InvalidArgumentException("Unknown purchase field '$key'");
        }
    }

   
#[\ReturnTypeWillChange]
   
public function offsetExists($offset)
    {
        return
property_exists($this, $offset);
    }

   
#[\ReturnTypeWillChange]
   
public function offsetGet($offset)
    {
        return
$this->__get($offset);
    }

   
#[\ReturnTypeWillChange]
   
public function offsetSet($offset, $value)
    {
       
$this->__set($offset, $value);
    }

   
#[\ReturnTypeWillChange]
   
public function offsetUnset($offset)
    {
        throw new \
LogicException('Offsets cannot be unset from the purchase object');
    }
}