⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
id
/
public_html
/
vendor
/
cartalyst
/
stripe
/
src
/
View File Name :
Pager.php
<?php /** * Part of the Stripe package. * * NOTICE OF LICENSE * * Licensed under the 3-clause BSD License. * * This source file is subject to the 3-clause BSD License that is * bundled with this package in the LICENSE file. * * @package Stripe * @version 2.4.6 * @author Cartalyst LLC * @license BSD License (3-clause) * @copyright (c) 2011-2021, Cartalyst LLC * @link https://cartalyst.com */ namespace Cartalyst\Stripe; use Cartalyst\Stripe\Api\ApiInterface; class Pager { /** * The Api instance. * * @var \Cartalyst\Stripe\Api\ApiInterface $api */ protected $api; /** * The next request token. * * @var array */ protected $nextToken; /** * Constructor. * * @param \Cartalyst\Stripe\Api\ApiInterface $api * @return void */ public function __construct(ApiInterface $api) { $this->api = $api; } /** * Fetches all the objects of the given api. * * @param array $parameters * @return array */ public function fetch(array $parameters = []) { $this->api->setPerPage(100); $results = $this->processRequest($parameters); while ($this->nextToken) { $results = array_merge($results, $this->processRequest($parameters)); } return $results; } /** * Processes the api request. * * @param array $parameters * @return array */ protected function processRequest(array $parameters = []) { if ($this->nextToken) { $parameters['starting_after'] = $this->nextToken; } if (array_key_exists(0, $parameters)) { $id = $parameters[0]; unset($parameters[0]); if (isset($parameters[1])) { $parameters = $parameters[1]; } $parameters = [ $id, $parameters ]; } else { $parameters = [ $parameters ]; } $result = call_user_func_array([ $this->api, 'all' ], $parameters); $this->nextToken = $result['has_more'] ? end($result['data'])['id'] : false; return $result['data']; } }