Skip to content
Snippets Groups Projects
Commit 3271f73e authored by Ron Lucke's avatar Ron Lucke Committed by Marcus Eibrink-Lunzenauer
Browse files

Fix PHP 8 Warning Issues

Closes #4395 and #4408

Merge request studip/studip!3215
parent 132e6c6b
No related branches found
No related tags found
No related merge requests found
......@@ -1484,7 +1484,7 @@ class FileManager
$url_parts = @parse_url($url);
// filter out localhost and reserved or private IPs
if (mb_stripos($url_parts['host'], 'localhost') !== false
if (array_key_exists('host', $url_parts) && (mb_stripos($url_parts['host'], 'localhost') !== false
|| mb_stripos($url_parts['host'], 'loopback') !== false
|| (filter_var($url_parts['host'], FILTER_VALIDATE_IP) !== false
&& (mb_strpos($url_parts['host'], '127') === 0
......@@ -1495,13 +1495,13 @@ class FileManager
| FILTER_FLAG_NO_PRIV_RANGE
| FILTER_FLAG_NO_RES_RANGE
) === false)
)
))
) {
return ['response' => 'HTTP/1.0 400 Bad Request', 'response_code' => 400];
}
// URL links to an ftp server
if ($url_parts['scheme'] === 'ftp') {
if (array_key_exists('scheme', $url_parts) && $url_parts['scheme'] === 'ftp') {
if (preg_match('/[^a-z0-9_.-]/i', $url_parts['host'])) { // exists umlauts ?
$IDN = new Algo26\IdnaConvert\ToIdn();
$out = $IDN->convert($url_parts['host']); // false by error
......@@ -1545,9 +1545,9 @@ class FileManager
if (!empty($url_parts['query'])) {
$documentpath .= '?' . $url_parts['query'];
}
$host = $url_parts['host'];
$host = $url_parts['host'] ?? null;
$port = $url_parts['port'] ?? null;
$scheme = mb_strtolower($url_parts['scheme']);
$scheme = array_key_exists('scheme',$url_parts) ? mb_strtolower($url_parts['scheme']) : null;
if (!in_array($scheme, ['http', 'https']) || !$host) {
return ['response' => 'HTTP/1.0 400 Bad Request', 'response_code' => 400];
}
......
......@@ -49,20 +49,26 @@ class Embed extends BlockType
$payload = $this->decodePayloadString($this->block['payload']);
$oembedRequest = $this->buildOembedRequest($payload['source'], $payload['url']);
$payload['oembed_request'] = $oembedRequest;
$payload['oembed-request'] = $oembedRequest;
$payload['oembed-unauthorized'] = false;
$payload['oembed-not-found'] = false;
$payload['oembed'] = '';
$payload['request'] = '';
$payload['oembed-not-found'] = true;
$payload['oembed'] = null;
$payload['request'] = null;
if ($oembedRequest) {
$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;
} else {
$payload['oembed_not_found'] = true;
$payload['oembed-not-found'] = false;
}
if ($request['response_code'] === 401) {
$payload['oembed-unauthorized'] = true;
$payload['oembed-not-found'] = false;
}
}
return $payload;
}
......@@ -89,7 +95,7 @@ class Embed extends BlockType
'youtube' => 'https://www.youtube.com/oembed',
];
return $endPoints[$source].'?url='.rawurlencode($url).'&format=json';
return array_key_exists($source, $endPoints) ? $endPoints[$source].'?url='.rawurlencode($url).'&format=json' : null;
}
public static function getCategories(): array
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment