Craft\EmbeddedAssetsService::parseUrl PHP Method

parseUrl() public method

public parseUrl ( $url )
    public function parseUrl($url)
    {
        $essence = new \Essence\Essence();
        $options = EmbeddedAssetsPlugin::getParameters();
        EmbeddedAssetsPlugin::log("Requesting URL \"{$url}\"");
        $result = $essence->extract($url, $options);
        if ($result && $result->html) {
            EmbeddedAssetsPlugin::log("Embed data found");
            $properties = array();
            foreach ($result as $property => $value) {
                if (empty($value) && isset($this->_ogProperties[$property])) {
                    $properties[] = $property;
                }
            }
            if (!empty($properties)) {
                EmbeddedAssetsPlugin::log("Some data missing - looking for related Open Graph metadata");
                try {
                    $data = $this->_readExternalFile($url);
                    if (!$data) {
                        throw new \Exception("Could not read data");
                    }
                    $reader = new \Opengraph\Reader();
                    $reader->parse($data);
                    foreach ($properties as $property) {
                        $ogProperty = $this->_ogProperties[$property];
                        $result->{$property} = $reader->getMeta($ogProperty);
                    }
                } catch (\Exception $e) {
                    EmbeddedAssetsPlugin::log("Error requesting/parsing Open Graph metadata (\"{$e->getMessage()}\")", LogLevel::Warning);
                }
            }
        }
        return $result;
    }