$61 GRAYBYTE WORDPRESS FILE MANAGER $44

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.23
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/home/bravrvjk/itiministry.org/wp-content/plugins/give/vendor/stripe/stripe-php/lib/

HOME
Current File : /home/bravrvjk/itiministry.org/wp-content/plugins/give/vendor/stripe/stripe-php/lib//Collection.php
<?php

namespace Stripe;

/**
 * Class Collection.
 *
 * @template TStripeObject of StripeObject
 * @template-implements \IteratorAggregate<TStripeObject>
 *
 * @property string $object
 * @property string $url
 * @property bool $has_more
 * @property TStripeObject[] $data
 */
class Collection extends StripeObject implements \Countable, \IteratorAggregate
{
    const OBJECT_NAME = 'list';

    use ApiOperations\Request;

    /** @var array */
    protected $filters = [];

    /**
     * @return string the base URL for the given class
     */
    public static function baseUrl()
    {
        return Stripe::$apiBase;
    }

    /**
     * Returns the filters.
     *
     * @return array the filters
     */
    public function getFilters()
    {
        return $this->filters;
    }

    /**
     * Sets the filters, removing paging options.
     *
     * @param array $filters the filters
     */
    public function setFilters($filters)
    {
        $this->filters = $filters;
    }

    #[\ReturnTypeWillChange]
    public function offsetGet($k)
    {
        if (\is_string($k)) {
            return parent::offsetGet($k);
        }
        $msg = "You tried to access the {$k} index, but Collection " .
                   'types only support string keys. (HINT: List calls ' .
                   'return an object with a `data` (which is the data ' .
                   "array). You likely want to call ->data[{$k}])";

        throw new Exception\InvalidArgumentException($msg);
    }

    /**
     * @param null|array $params
     * @param null|array|string $opts
     *
     * @throws Exception\ApiErrorException
     *
     * @return Collection<TStripeObject>
     */
    public function all($params = null, $opts = null)
    {
        self::_validateParams($params);
        list($url, $params) = $this->extractPathAndUpdateParams($params);

        list($response, $opts) = $this->_request('get', $url, $params, $opts);
        $obj = Util\Util::convertToStripeObject($response, $opts);
        if (!($obj instanceof \Stripe\Collection)) {
            throw new \Stripe\Exception\UnexpectedValueException(
                'Expected type ' . \Stripe\Collection::class . ', got "' . \get_class($obj) . '" instead.'
            );
        }
        $obj->setFilters($params);

        return $obj;
    }

    /**
     * @param null|array $params
     * @param null|array|string $opts
     *
     * @throws Exception\ApiErrorException
     *
     * @return TStripeObject
     */
    public function create($params = null, $opts = null)
    {
        self::_validateParams($params);
        list($url, $params) = $this->extractPathAndUpdateParams($params);

        list($response, $opts) = $this->_request('post', $url, $params, $opts);

        return Util\Util::convertToStripeObject($response, $opts);
    }

    /**
     * @param string $id
     * @param null|array $params
     * @param null|array|string $opts
     *
     * @throws Exception\ApiErrorException
     *
     * @return TStripeObject
     */
    public function retrieve($id, $params = null, $opts = null)
    {
        self::_validateParams($params);
        list($url, $params) = $this->extractPathAndUpdateParams($params);

        $id = Util\Util::utf8($id);
        $extn = \urlencode($id);
        list($response, $opts) = $this->_request(
            'get',
            "{$url}/{$extn}",
            $params,
            $opts
        );

        return Util\Util::convertToStripeObject($response, $opts);
    }

    /**
     * @return int the number of objects in the current page
     */
    #[\ReturnTypeWillChange]
    public function count()
    {
        return \count($this->data);
    }

    /**
     * @return \ArrayIterator an iterator that can be used to iterate
     *    across objects in the current page
     */
    #[\ReturnTypeWillChange]
    public function getIterator()
    {
        return new \ArrayIterator($this->data);
    }

    /**
     * @return \ArrayIterator an iterator that can be used to iterate
     *    backwards across objects in the current page
     */
    public function getReverseIterator()
    {
        return new \ArrayIterator(\array_reverse($this->data));
    }

    /**
     * @return \Generator|TStripeObject[] A generator that can be used to
     *    iterate across all objects across all pages. As page boundaries are
     *    encountered, the next page will be fetched automatically for
     *    continued iteration.
     */
    public function autoPagingIterator()
    {
        $page = $this;

        while (true) {
            $filters = $this->filters ?: [];
            if (\array_key_exists('ending_before', $filters)
                && !\array_key_exists('starting_after', $filters)) {
                foreach ($page->getReverseIterator() as $item) {
                    yield $item;
                }
                $page = $page->previousPage();
            } else {
                foreach ($page as $item) {
                    yield $item;
                }
                $page = $page->nextPage();
            }

            if ($page->isEmpty()) {
                break;
            }
        }
    }

    /**
     * Returns an empty collection. This is returned from {@see nextPage()}
     * when we know that there isn't a next page in order to replicate the
     * behavior of the API when it attempts to return a page beyond the last.
     *
     * @param null|array|string $opts
     *
     * @return Collection
     */
    public static function emptyCollection($opts = null)
    {
        return Collection::constructFrom(['data' => []], $opts);
    }

    /**
     * Returns true if the page object contains no element.
     *
     * @return bool
     */
    public function isEmpty()
    {
        return empty($this->data);
    }

    /**
     * Fetches the next page in the resource list (if there is one).
     *
     * This method will try to respect the limit of the current page. If none
     * was given, the default limit will be fetched again.
     *
     * @param null|array $params
     * @param null|array|string $opts
     *
     * @return Collection<TStripeObject>
     */
    public function nextPage($params = null, $opts = null)
    {
        if (!$this->has_more) {
            return static::emptyCollection($opts);
        }

        $lastId = \end($this->data)->id;

        $params = \array_merge(
            $this->filters ?: [],
            ['starting_after' => $lastId],
            $params ?: []
        );

        return $this->all($params, $opts);
    }

    /**
     * Fetches the previous page in the resource list (if there is one).
     *
     * This method will try to respect the limit of the current page. If none
     * was given, the default limit will be fetched again.
     *
     * @param null|array $params
     * @param null|array|string $opts
     *
     * @return Collection<TStripeObject>
     */
    public function previousPage($params = null, $opts = null)
    {
        if (!$this->has_more) {
            return static::emptyCollection($opts);
        }

        $firstId = $this->data[0]->id;

        $params = \array_merge(
            $this->filters ?: [],
            ['ending_before' => $firstId],
            $params ?: []
        );

        return $this->all($params, $opts);
    }

    /**
     * Gets the first item from the current page. Returns `null` if the current page is empty.
     *
     * @return null|TStripeObject
     */
    public function first()
    {
        return \count($this->data) > 0 ? $this->data[0] : null;
    }

    /**
     * Gets the last item from the current page. Returns `null` if the current page is empty.
     *
     * @return null|TStripeObject
     */
    public function last()
    {
        return \count($this->data) > 0 ? $this->data[\count($this->data) - 1] : null;
    }

    private function extractPathAndUpdateParams($params)
    {
        $url = \parse_url($this->url);
        if (!isset($url['path'])) {
            throw new Exception\UnexpectedValueException("Could not parse list url into parts: {$url}");
        }

        if (isset($url['query'])) {
            // If the URL contains a query param, parse it out into $params so they
            // don't interact weirdly with each other.
            $query = [];
            \parse_str($url['query'], $query);
            $params = \array_merge($params ?: [], $query);
        }

        return [$url['path'], $params];
    }
}


Current_dir [ WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
ApiOperations
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
BillingPortal
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Checkout
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Exception
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
FinancialConnections
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
HttpClient
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Identity
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Issuing
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Radar
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Reporting
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Service
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Sigma
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Terminal
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
TestHelpers
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Util
--
4 Apr 2026 1.57 AM
bravrvjk / bravrvjk
0755
Account.php
16.626 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
AccountLink.php
0.811 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
AlipayAccount.php
2.33 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
ApiRequestor.php
18.692 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
ApiResource.php
3.408 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
ApiResponse.php
0.695 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
ApplePayDomain.php
0.992 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
ApplicationFee.php
4.155 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
ApplicationFeeRefund.php
2.444 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Balance.php
2.307 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
BalanceTransaction.php
5.541 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
BankAccount.php
7.127 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
BaseStripeClient.php
11.168 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
BaseStripeClientInterface.php
0.967 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
BitcoinReceiver.php
4.163 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
BitcoinTransaction.php
0.864 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Capability.php
2.922 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Card.php
8.549 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
CashBalance.php
2.303 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Charge.php
12.91 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Collection.php
8.271 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
CountrySpec.php
1.742 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Coupon.php
2.921 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
CreditNote.php
5.7 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
CreditNoteLineItem.php
1.853 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Customer.php
15.521 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
CustomerBalanceTransaction.php
5.211 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Discount.php
1.533 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Dispute.php
5.073 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
EphemeralKey.php
1.549 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
ErrorObject.php
8.584 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Event.php
15.116 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
ExchangeRate.php
1.412 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
File.php
3.806 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
FileLink.php
1.451 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
FundingInstructions.php
1.38 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Invoice.php
20.131 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
InvoiceItem.php
3.785 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
InvoiceLineItem.php
2.94 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
LineItem.php
1.164 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
LoginLink.php
0.416 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Mandate.php
1.078 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
OAuth.php
3.313 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
OAuthErrorObject.php
0.841 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Order.php
5.137 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
OrderItem.php
0.325 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
OrderReturn.php
1.649 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
PaymentIntent.php
13.671 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
PaymentLink.php
4.341 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
PaymentMethod.php
3.952 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Payout.php
6.687 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Person.php
5.695 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Plan.php
5.556 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Price.php
5.605 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Product.php
4.646 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
PromotionCode.php
2.2 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Quote.php
8.794 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Recipient.php
2.708 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
RecipientTransfer.php
0.896 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Refund.php
4.739 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
RequestTelemetry.php
0.526 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Review.php
3.345 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
SKU.php
2.721 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
SearchResult.php
6.362 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
SetupAttempt.php
2.392 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
SetupIntent.php
7.548 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
ShippingRate.php
2.335 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
SingletonApiResource.php
0.937 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
Source.php
8.372 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
SourceTransaction.php
0.398 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Stripe.php
7.052 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
StripeClient.php
3.964 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
StripeClientInterface.php
0.572 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
StripeObject.php
18.583 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
StripeStreamingClientInterface.php
0.232 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Subscription.php
11.869 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
SubscriptionItem.php
5.509 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
SubscriptionSchedule.php
4.068 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
TaxCode.php
0.652 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
TaxId.php
5.174 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
TaxRate.php
2.938 KB
20 Jan 2022 11.45 AM
bravrvjk / bravrvjk
0644
ThreeDSecure.php
2.545 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Token.php
3.544 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Topup.php
3.909 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Transfer.php
6.231 KB
16 Oct 2023 9.55 PM
bravrvjk / bravrvjk
0644
TransferReversal.php
3.245 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
UsageRecord.php
0.957 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
UsageRecordSummary.php
0.793 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
Webhook.php
1.479 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
WebhookEndpoint.php
2.257 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644
WebhookSignature.php
4.274 KB
27 Sep 2021 4.30 PM
bravrvjk / bravrvjk
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF