Skip to content
Snippets Groups Projects
Commit fd4fe78b authored by André Noack's avatar André Noack
Browse files

Resolve "Courseware: EmbedBlock ignoriert Proxy Einstellungen"

parent 4d1e4495
No related branches found
No related tags found
No related merge requests found
...@@ -53,19 +53,19 @@ class Embed extends BlockType ...@@ -53,19 +53,19 @@ class Embed extends BlockType
$oembedRequest = $this->buildOembedRequest($payload['source'], $payload['url']); $oembedRequest = $this->buildOembedRequest($payload['source'], $payload['url']);
$payload['oembed_request'] = $oembedRequest; $payload['oembed_request'] = $oembedRequest;
$request = $this->curlGet($oembedRequest);
$payload['oembed-unauthorized'] = false; $payload['oembed-unauthorized'] = false;
$payload['oembed-not-found'] = false; $payload['oembed-not-found'] = false;
$payload['oembed'] = '';
if ('Unauthorized' == $request) { $payload['request'] = '';
$request = \FileManager::fetchURLMetadata($oembedRequest);
if ($request['response_code'] === 200) {
$payload['request'] = file_get_contents($oembedRequest, false, get_default_http_stream_context($oembedRequest));
$payload['oembed'] = json_decode($payload['request']);
} elseif ($request['response_code'] === 401) {
$payload['oembed_unauthorized'] = true; $payload['oembed_unauthorized'] = true;
} } else {
if ('Not Found' == $request) {
$payload['oembed_not_found'] = true; $payload['oembed_not_found'] = true;
} }
$payload['oembed'] = json_decode($request);
$payload['request'] = $request;
return $payload; return $payload;
} }
...@@ -95,18 +95,6 @@ class Embed extends BlockType ...@@ -95,18 +95,6 @@ class Embed extends BlockType
return $endPoints[$source].'?url='.rawurlencode($url).'&format=json'; return $endPoints[$source].'?url='.rawurlencode($url).'&format=json';
} }
private function curlGet($url)
{
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
$return = curl_exec($curl);
curl_close($curl);
return $return;
}
public static function getCategories(): array public static function getCategories(): array
{ {
return ['external']; return ['external'];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment