/** * Read Many * @param String - Additional query parameters to include * @param Bool - if you want to append analytics data to each quicklink result * @param Bool - true to wrap the response with pagination data * @returns Array[QuickLink] */ private function getQuicklinksWith($params, $includeAnalytics = false, $wrapPagination = false) { $clientResponse = $this->webClient->get(MediaSiloResourcePaths::QUICKLINK . "?" . $params); $results = json_decode($clientResponse->getBody()); $quicklinks = array(); if ($includeAnalytics) { $quicklinkAnalyticsEvents = $this->getQuicklinkAnalytics($this->getIdsFromQuicklinks($results)); foreach ($results as $result) { $quicklinkEventBucket = $this->getQuicklinkAnalyticsEvents($result->id, $quicklinkAnalyticsEvents); array_push($quicklinks, $this->makeAnalyzedQuicklink($quicklinkEventBucket, $result)); } } else { foreach ($results as $result) { array_push($quicklinks, QuickLink::fromStdClass($result)); } } return $wrapPagination ? $clientResponse->buildPaginatedResponse($quicklinks) : $quicklinks; }
public static function fromJson($json) { $mixed = json_decode($json); return QuickLink::fromStdClass($mixed); }