Example #1
0
 protected function _parseMedia($type, $url, $refresh)
 {
     $urlHash = md5($type . '|' . $url);
     $mediaParseExisting = $this->getMediaParseDao()->findMediaParseByHash($urlHash);
     if ($mediaParseExisting && !$refresh) {
         return json_decode($mediaParseExisting['media'], true);
     }
     $proxy = new ParserProxy();
     if ($type == 'album') {
         $media = $proxy->parseAlbum($url);
     } else {
         $media = $proxy->parseItem($url);
     }
     if ($mediaParseExisting) {
         $mediaParse = array('uuid' => $media['uuid'], 'media' => json_encode($media), 'updatedTime' => time());
         $this->getMediaParseDao()->updateMediaParse($mediaParseExisting['id'], $mediaParse);
     } else {
         $mediaParseExisting = $this->getMediaParseDao()->findMediaParseByUuid($media['uuid']);
         if ($mediaParseExisting) {
             $mediaParse = array('hash' => md5($media['url']), 'media' => json_encode($media), 'updatedTime' => time());
             $this->getMediaParseDao()->updateMediaParse($mediaParseExisting['id'], $mediaParse);
         } else {
             $mediaParse = array('uuid' => $media['uuid'], 'hash' => $urlHash, 'media' => json_encode($media), 'createdTime' => time(), 'updatedTime' => time());
             $this->getMediaParseDao()->addMediaParse($mediaParse);
         }
     }
     return $media;
 }
 public function importAction(Request $request, $id)
 {
     $url = $request->query->get('url');
     $proxy = new ParserProxy();
     $item = $proxy->parseItem($url);
     return $this->createJsonResponse($item);
 }