$contType = $ret->getContentType();
} else {
$img_str = '';
- $contType = [];
+ $contType = '';
}
if ($quit_on_error && ($img_str == "")) {
$contType = $curlResult->getContentType();
} else {
$img_str = '';
- $contType = [];
+ $contType = '';
}
$type = Images::getMimeTypeByData($img_str, $photo, $contType);
private $returnCode;
/**
- * @var string[] the content type of the Curl call
+ * @var string the content type of the Curl call
*/
private $contentType;
private function checkInfo()
{
if (isset($this->info['content_type'])) {
- $this->contentType = [$this->info['content_type']];
+ $this->contentType = $this->info['content_type'];
} else {
- $this->contentType = [];
+ $this->contentType = '';
}
}
/** {@inheritDoc} */
public function getContentType()
{
- return $this->getHeader('Content-Type');
+ return implode($this->getHeader('Content-Type'));
}
/** {@inheritDoc} */
/**
* Returns the Content Type
*
- * @return string[] the Content Types
+ * @return string the Content Type
*/
public function getContentType();
}
// If it isn't a HTML file then exit
- if (!in_array('html', $curlResult->getContentType())) {
+ if (($curlResult->getContentType() != '') && !strstr(strtolower($curlResult->getContentType()), 'html')) {
return false;
}
/**
* Fetch image mimetype from the image data or guessing from the file name
*
- * @param string $image_data Image data
- * @param string $filename File name (for guessing the type via the extension)
- * @param string[] $mimeTypes possible mime types
+ * @param string $image_data Image data
+ * @param string $filename File name (for guessing the type via the extension)
+ * @param string $mimeType possible mime type
*
* @return string
* @throws \Exception
*/
- public static function getMimeTypeByData(string $image_data, string $filename = '', array $mimeTypes = [])
+ public static function getMimeTypeByData(string $image_data, string $filename = '', string $mimeType = '')
{
- foreach ($mimeTypes as $mimeType) {
- if (substr($mimeType, 0, 6) == 'image/') {
- Logger::info('Using default mime type', ['filename' => $filename, 'mime' => $mimeTypes]);
- return $mimeType;
- }
+ if (substr($mimeType, 0, 6) == 'image/') {
+ Logger::info('Using default mime type', ['filename' => $filename, 'mime' => $mimeType]);
+ return $mimeType;
}
$image = @getimagesizefromstring($image_data);
if (!empty($image['mime'])) {
- Logger::info('Mime type detected via data', ['filename' => $filename, 'default' => $mimeTypes, 'mime' => $image['mime']]);
+ Logger::info('Mime type detected via data', ['filename' => $filename, 'default' => $mimeType, 'mime' => $image['mime']]);
return $image['mime'];
}
$charset = '';
// Look for a charset, first in headers
// Expected form: Content-Type: text/html; charset=ISO-8859-4
- foreach ($curlResult->getContentType() as $type) {
- if (preg_match('/charset=([a-z0-9-_.\/]+)/i', $type, $matches)) {
- $charset = trim(trim(trim(array_pop($matches)), ';,'));
- }
+ if (preg_match('/charset=([a-z0-9-_.\/]+)/i', $curlResult->getContentType(), $matches)) {
+ $charset = trim(trim(trim(array_pop($matches)), ';,'));
}
// Then in body that gets precedence
self::assertFalse($curlResult->isRedirectUrl());
self::assertSame($headerArray, $curlResult->getHeaders());
self::assertSame($body, $curlResult->getBody());
- self::assertSame(['text/html; charset=utf-8'], $curlResult->getContentType());
+ self::assertSame('text/html; charset=utf-8', $curlResult->getContentType());
self::assertSame('https://test.local', $curlResult->getUrl());
self::assertSame('https://test.local', $curlResult->getRedirectUrl());
}
self::assertTrue($curlResult->isRedirectUrl());
self::assertSame($headerArray, $curlResult->getHeaders());
self::assertSame($body, $curlResult->getBody());
- self::assertSame(['text/html; charset=utf-8'], $curlResult->getContentType());
+ self::assertSame('text/html; charset=utf-8', $curlResult->getContentType());
self::assertSame('https://test.local/test/it', $curlResult->getUrl());
self::assertSame('https://test.other/test/it', $curlResult->getRedirectUrl());
}
self::assertFalse($curlResult->isRedirectUrl());
self::assertSame($headerArray, $curlResult->getHeaders());
self::assertSame($body, $curlResult->getBody());
- self::assertSame(['text/html; charset=utf-8'], $curlResult->getContentType());
+ self::assertSame('text/html; charset=utf-8', $curlResult->getContentType());
self::assertSame('https://test.local/test/it', $curlResult->getRedirectUrl());
self::assertSame('Tested error', $curlResult->getError());
}
self::assertTrue($curlResult->isRedirectUrl());
self::assertSame($headerArray, $curlResult->getHeaders());
self::assertSame($body, $curlResult->getBody());
- self::assertSame(['text/html; charset=utf-8'], $curlResult->getContentType());
+ self::assertSame('text/html; charset=utf-8', $curlResult->getContentType());
self::assertSame('https://test.local/test/it?key=value', $curlResult->getUrl());
self::assertSame('https://test.other/some/?key=value', $curlResult->getRedirectUrl());
}