public function getFromQuery(Provider $provider, Query $query) { $queryString = $query->getQuery(); $url = $this->buildUrl($queryString); $data = json_decode($this->getUrl($url)); $gifData = $data->data; $gif = new Gif(); $gif->setUrl($gifData->image_original_url); return $gif; }
public function getFromQuery(Provider $provider, Query $query) { if (!$provider instanceof RedditProvider) { throw new \InvalidArgumentException("The RedditGrabber requires a RedditProvider to be passed"); } $url = $this->buildUrl($provider); $data = json_decode($this->getUrl($url)); $gif = new Gif(); $gif->setUrl(null); return $gif; }
/** * @Route("/{id}/nextgif", name="slideshow_next_gif") * @param Slideshow $slideshow * @return Response * @throws \Exception */ public function nextGifAction(Slideshow $slideshow) { $gif = new Gif(); $gif->setUrl("#"); $gif->setCaption(rand(1, 10000000)); return new JsonResponse($gif); /** @var Provider $provider */ $provider = $this->get('app_weightable_randomizer')->getRandom($slideshow->getAllProviders()); /** @var Grabber $grabber */ $grabber = $this->get($provider->getServiceName()); $gif = $grabber->getFromProvider($provider); return new JsonResponse($gif); }