Portions created by the Initial Developer are Copyright (C) 2016-2018 the Initial Developer. All Rights Reserved. Contributor(s): Mark J Crane */ //includes require_once "root.php"; require_once "resources/require.php"; //add multi-lingual support $language = new text; $text = $language->get(); //get media uuid $message_media_uuid = $_GET['id']; $message_media_source = $_GET['src']; $action = $_GET['action']; //get media if (is_uuid($message_media_uuid)) { $sql = "select message_media_type, message_media_url, message_media_content "; $sql .= "from v_message_media "; $sql .= "where message_media_uuid = :message_media_uuid "; if (is_uuid($_SESSION['user_uuid'])) { $sql .= "and user_uuid = :user_uuid "; $parameters['user_uuid'] = $_SESSION['user_uuid']; } $sql .= "and (domain_uuid = :domain_uuid or domain_uuid is null) "; $parameters['message_media_uuid'] = $message_media_uuid; $parameters['domain_uuid'] = $domain_uuid; $database = new database; $media = $database->select($sql, $parameters, 'row'); unset($sql, $parameters); switch (strtolower($media['message_media_type'])) { case 'jpg': case 'jpeg': $content_type = 'image/jpg'; break; case 'png': $content_type = 'image/png'; break; case 'gif': $content_type = 'image/gif'; break; case 'aac': $content_type = 'audio/aac'; break; case 'wav': $content_type = 'audio/wav'; break; case 'mp3': $content_type = 'audio/mpeg'; break; case 'mp2': $content_type = 'video/mpeg'; break; case 'm4v': $content_type = 'video/mp4'; break; case 'pdf': $content_type = 'application/pdf'; break; case 'doc': $content_type = 'application/vnd.ms-word'; break; case 'docx': $content_type = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'; break; case 'xls': $content_type = 'application/vnd.ms-excel'; break; case 'xlsx': $content_type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; break; case 'ppt': $content_type = 'application/vnd.ms-powerpoint'; break; case 'pptx': $content_type = 'application/vnd.openxmlformats-officedocument.presentationml.presentation'; break; case 'zip': $content_tyep = 'application/zip'; break; default: $content_type = 'application/octet-stream'; break; } switch ($action) { case 'download': header("Content-type: ".$content_type."; charset=utf-8"); $filename = $message_media_source != '' ? $message_media_source."_".$message_media_uuid.".".strtolower($media['message_media_type']) : $media['message_media_url']; header("Content-Disposition: attachment; filename=\"".$filename."\""); header("Content-Length: ".strlen(base64_decode($media['message_media_content']))); echo base64_decode($media['message_media_content']); break; case 'display': echo " \n"; echo " \n"; echo " \n"; echo " \n"; echo "
\n"; echo " \n"; echo "
\n"; break; } } ?>