getFile(); if ($file) { return $file->isAudio(); } $viewable_types = PhabricatorEnv::getEnvConfig('files.viewable-mime-types'); $viewable_types = array_keys($viewable_types); $audio_types = PhabricatorEnv::getEnvConfig('files.audio-mime-types'); $audio_types = array_keys($audio_types); return $ref->hasAnyMimeType($viewable_types) && $ref->hasAnyMimeType($audio_types); } protected function newDocumentContent(PhabricatorDocumentRef $ref) { $file = $ref->getFile(); if ($file) { $source_uri = $file->getViewURI(); } else { throw new PhutilMethodNotImplementedException(); } $mime_type = $ref->getMimeType(); $audio = phutil_tag( 'audio', array( 'controls' => 'controls', ), phutil_tag( 'source', array( 'src' => $source_uri, 'type' => $mime_type, ))); $container = phutil_tag( 'div', array( 'class' => 'document-engine-audio', ), $audio); return $container; } }