%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/libs/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/libs/MimeHelper.php |
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2018 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*/
namespace humhub\libs;
use humhub\modules\file\libs\FileHelper;
use humhub\modules\file\models\File;
/**
* MimeHelper
*
* @author luke
*/
class MimeHelper
{
/** IconClass */
const ICON_WORD = 'mime-word';
const ICON_EXCEL = 'mime-excel';
const ICON_POWERPOINT = 'mime-powerpoint';
const ICON_PDF = 'mime-pdf';
const ICON_ZIP = 'mime-zip';
const ICON_IMAGE = 'mime-image';
const ICON_AUDIO = 'mime-audio';
const ICON_VIDEO = 'mime-video';
const ICON_PHOTOSHOP = 'mime-photoshop';
const ICON_ILLUSTRATOR = 'mime-illustrator';
const ICON_FILE = 'mime-file';
/** @var array Map for Extension to IconClass */
private static $extensionToIconClass = [
// Word
'doc' => self::ICON_WORD,
'docx' => self::ICON_WORD,
'docm' => self::ICON_WORD,
'odt' => self::ICON_WORD,
// Excel
'xls' => self::ICON_EXCEL,
'xlsx' => self::ICON_EXCEL,
'xlsb' => self::ICON_EXCEL,
'xlsm' => self::ICON_EXCEL,
'ods' => self::ICON_EXCEL,
// Powerpoint
'ppt' => self::ICON_POWERPOINT,
'pptx' => self::ICON_POWERPOINT,
'pps' => self::ICON_POWERPOINT,
'ppsx' => self::ICON_POWERPOINT,
'odp' => self::ICON_POWERPOINT,
// PDF
'pdf' => self::ICON_PDF,
// Archive
'zip' => self::ICON_ZIP,
'gzip' => self::ICON_ZIP,
'rar' => self::ICON_ZIP,
'tar' => self::ICON_ZIP,
'7z' => self::ICON_ZIP,
// Image
'jpg' => self::ICON_IMAGE,
'jpeg' => self::ICON_IMAGE,
'png' => self::ICON_IMAGE,
'gif' => self::ICON_IMAGE,
'webp' => self::ICON_IMAGE,
'tiff' => self::ICON_IMAGE,
// Audio
'mp3' => self::ICON_AUDIO,
'aiff' => self::ICON_AUDIO,
'wav' => self::ICON_AUDIO,
'ogg' => self::ICON_AUDIO,
// Video
'avi' => self::ICON_VIDEO,
'mp4' => self::ICON_VIDEO,
'mov' => self::ICON_VIDEO,
'mpeg' => self::ICON_VIDEO,
'wma' => self::ICON_VIDEO,
'webm' => self::ICON_VIDEO,
'mkv' => self::ICON_VIDEO,
// Adobe Photoshop
'psd' => self::ICON_PHOTOSHOP,
// Adobe Illustrator
'ai' => self::ICON_ILLUSTRATOR
];
/**
* Returns Stylesheet Classname based on file extension
*
* @param string|File $ext The file extension or file object
* @return string the CSS Class
*/
public static function getMimeIconClassByExtension($ext)
{
if ($ext instanceof File) {
$ext = FileHelper::getExtension($ext);
}
// lowercase string
$ext = strtolower($ext);
if (isset(self::$extensionToIconClass[$ext])) {
return self::$extensionToIconClass[$ext];
}
return self::ICON_FILE;
}
}