/** * Loop through a set of API results that are available in pages, returning the full resultset as one array * @param ModifyableRequest $request * @param string $rootElement * @param array $params * @return array */ public function processPaged(ModifyableRequest $request, $rootElement, array $params = array()) { if (empty($params['page'])) { $params['page'] = 1; } if (empty($params['limit'])) { $params['limit'] = 250; } $allResults = array(); do { $pagedRequest = clone $request; $requestUrl = $request->getUrl(); $paramDelim = strstr($requestUrl, '?') ? '&' : '?'; $pagedRequest->setUrl($requestUrl . $paramDelim . http_build_query($params)); $response = $this->process($pagedRequest); $root = $response->get($rootElement); if ($pageResults = empty($root) ? false : $root) { $allResults = array_merge($allResults, $pageResults); } $params['page']++; } while ($pageResults); return $allResults; }
/** * @param ModifyableRequest $request */ public function modify(ModifyableRequest $request) { $url = $request->getUrl(); $url = 'https://' . $this->shopName . $url; $request->setUrl($url); }
/** * @param ModifyableRequest $request */ public function modify(ModifyableRequest $request) { $request->addHeader('X-Shopify-Access-Token', $this->accessToken); }