function content_get_fontawesome_icon_for_mimetype

6.x content.module content_get_fontawesome_icon_for_mimetype($mime_type, $ext = "")

Find by mime type OR file extension.

1 call to content_get_fontawesome_icon_for_mimetype()
engagements_display_main in modules/engagements/engagements.module
displays the main Engagements tab, which shows the history of past engagements.

File

modules/content/content.module, line 1353

Code

function content_get_fontawesome_icon_for_mimetype($mime_type, $ext = "") {
  // List of official MIME Types: http://www.iana.org/assignments/media-types/media-types.xhtml
  $icon_classes = array(
    // Media
    'image' => 'fa-file-image-o',
    'audio' => 'fa-file-audio-o',
    'video' => 'fa-file-video-o',
    // Documents
    'application/pdf' => 'fa-file-pdf-o',
    'application/msword' => 'fa-file-word-o',
    'application/vnd.ms-word' => 'fa-file-word-o',
    'application/vnd.oasis.opendocument.text' => 'fa-file-word-o',
    'application/vnd.openxmlformats-officedocument.wordprocessingml' => 'fa-file-word-o',
    'application/vnd.ms-excel' => 'fa-file-excel-o',
    'application/vnd.openxmlformats-officedocument.spreadsheetml' => 'fa-file-excel-o',
    'application/vnd.oasis.opendocument.spreadsheet' => 'fa-file-excel-o',
    'application/vnd.ms-powerpoint' => 'fa-file-powerpoint-o',
    'application/vnd.openxmlformats-officedocument.presentationml' => 'fa-file-powerpoint-o',
    'application/vnd.oasis.opendocument.presentation' => 'fa-file-powerpoint-o',
    'text/plain' => 'fa-file-text-o',
    'text/html' => 'fa-file-code-o',
    'application/json' => 'fa-file-code-o',
    // Archives
    'application/gzip' => 'fa-file-archive-o',
    'application/zip' => 'fa-file-archive-o',
  );

  $rtn = "";

  foreach ($icon_classes as $text => $icon) {
    if (strpos($mime_type, $text) === 0) {
      $rtn = $icon;
    }
  }

  if ($rtn) {
    return $rtn;
  }

  // else, we search by file extension now....
  $ext_array = array(
    'png' => 'fa-file-image-o',
    'jpg' => 'fa-file-image-o',
    'jpeg' => 'fa-file-image-o',
    'gif' => 'fa-file-image-o',
    "mp3" => "fa-file-audio-o",
    "mpg" => "fa-file-video-o",
    "mpeg" => "fa-file-video-o",
    "mp4" => "fa-file-video-o",
    'pdf' => 'fa-file-pdf-o',
    'doc' => 'fa-file-word-o',
    'pages' => 'fa-file-word-o',
    'docx' => 'fa-file-word-o',
    'rtf' => 'fa-file-word-o',
    'odt' => 'fa-file-word-o',
    'xls' => 'fa-file-excel-o',
    'xlsx' => 'fa-file-excel-o',
    'numbers' => 'fa-file-excel-o',
    'csv' => 'fa-file-excel-o',
    'ppt' => 'fa-file-powerpoint-o',
    'pptx' => 'fa-file-powerpoint-o',
    'odp' => 'fa-file-powerpoint-o',
    'txt' => 'fa-file-text-o',
    'html' => 'fa-file-code-o',
    'htm' => 'fa-file-code-o',
    'json' => 'fa-file-code-o',
    // Archives
    'gzip' => 'fa-file-archive-o',
    'zip' => 'fa-file-archive-o',
  );

  foreach ($ext_array as $text => $icon) {
    if (strpos($ext, $text) === 0) {
      $rtn = $icon;
    }
  }

  if ($rtn) {
    return $rtn;
  }


  return 'fa-file-o';

}