Example #1
0
 /**
  * Loads OEmbed Data from a given URL and writes them to the database
  *
  * @param type $url
  * @return string
  */
 public static function loadUrl($url)
 {
     $urlOembed = new UrlOembed();
     $urlOembed->url = $url;
     $html = "";
     if ($urlOembed->getProviderUrl() != "") {
         // Build OEmbed Preview
         $jsonOut = UrlOembed::fetchUrl($urlOembed->getProviderUrl());
         if ($jsonOut != "") {
             try {
                 $data = \yii\helpers\Json::decode($jsonOut);
                 if (isset($data['type']) && ($data['type'] === "video" || $data['type'] === 'rich' || $data['type'] === 'photo')) {
                     $html = "<div class='oembed_snippet'>" . $data['html'] . "</div>";
                 }
             } catch (\yii\base\InvalidParamException $ex) {
                 Yii::warning($ex->getMessage());
             }
         }
     }
     if ($html != "") {
         $urlOembed->preview = $html;
         $urlOembed->save();
     }
     return $html;
 }