Exemplo n.º 1
0
 /**
  * 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;
 }
Exemplo n.º 2
0
 public static function fromJson($json)
 {
     $mixed = json_decode($json);
     return QuickLink::fromStdClass($mixed);
 }