• Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/FileUploader/Chunk.php
  • Класс: BitrixUIFileUploaderChunk
  • Вызов: Chunk::validateFileType
private function validateFileType(array $fileTypes): bool
{
	if (count($fileTypes) === 0)
	{
		return true;
	}

	$mimeType = $this->getType();
	$baseMimeType = preg_replace('//.*$/', '', $mimeType);

	foreach ($fileTypes as $type)
	{
		if (!is_string($type) || mb_strlen($type) === 0)
		{
			continue;
		}

		$type = mb_strtolower(trim($type));
		if ($type[0] === '.') // extension case
		{
			$filename = mb_strtolower($this->getName());
			$offset = mb_strlen($filename) - mb_strlen($type);
			if (mb_strpos($filename, $type, $offset) !== false)
			{
				return true;
			}
		}
		elseif (preg_match('//*$/', $type)) // image/* mime type case
		{
			if ($baseMimeType === preg_replace('//.*$/', '', $type))
			{
				return true;
			}
		}
		elseif ($mimeType === $type)
		{
			return true;
		}
	}

	return false;
}