From d359d0cd0b5683a5b0c7f1793eeb9d71f82faf1d Mon Sep 17 00:00:00 2001 From: Nate Date: Thu, 20 Dec 2018 22:53:00 -0700 Subject: [PATCH] Messages display image media, prompt to download other media types. --- app/messages/message_media.php | 24 +++++++++++++++++++----- app/messages/messages.php | 21 +++++++++++++++++++++ app/messages/messages_thread.php | 10 +++++++--- 3 files changed, 47 insertions(+), 8 deletions(-) diff --git a/app/messages/message_media.php b/app/messages/message_media.php index e4409e0033..b012e6c09d 100644 --- a/app/messages/message_media.php +++ b/app/messages/message_media.php @@ -42,6 +42,7 @@ //get media uuid $message_media_uuid = $_GET['id']; $message_media_source = $_GET['src']; + $action = $_GET['action']; //get media if (is_uuid($message_media_uuid)) { @@ -57,7 +58,7 @@ switch (strtolower($media['message_media_type'])) { case 'jpg': - case 'jpeg': $content_type = 'image/jpg'; break; + case 'jpeg': $content_type = 'image/jpg'; $displaybreak; case 'png': $content_type = 'image/png'; break; case 'gif': $content_type = 'image/gif'; break; case 'aac': $content_type = 'audio/aac'; break; @@ -76,10 +77,23 @@ default: $content_type = 'application/octet-stream'; break; } - header("Content-type: ".$content_type); - header("Content-Length: ".strlen($media['message_media_content'])); - header("Content-Disposition: attachment; filename=\"".$message_media_source."_".$message_media_uuid.".".strtolower($media['message_media_type'])."\""); - echo base64_decode($media['message_media_content']); + switch ($action) { + case 'download': + header("Content-type: ".$content_type); + header("Content-Length: ".strlen($media['message_media_content'])); + header("Content-Disposition: attachment; filename=\"".$message_media_source."_".$message_media_uuid.".".strtolower($media['message_media_type'])."\""); + 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; + } } diff --git a/app/messages/messages.php b/app/messages/messages.php index a6a298d792..6e101968a7 100644 --- a/app/messages/messages.php +++ b/app/messages/messages.php @@ -83,6 +83,17 @@ echo " box-shadow: 0px 1px 20px #888;\n"; echo " }\n"; + echo " #message_media_layer {\n"; + echo " z-index: 999999;\n"; + echo " position: absolute;\n"; + echo " left: 0px;\n"; + echo " top: 0px;\n"; + echo " right: 0px;\n"; + echo " bottom: 0px;\n"; + echo " text-align: center;\n"; + echo " vertical-align: middle;\n"; + echo " }\n"; + echo "\n"; //new message layer @@ -143,6 +154,9 @@ echo " \n"; echo "\n"; +//message media layer + echo "\n"; + //show the content echo "\n"; echo " \n"; @@ -264,6 +278,13 @@ echo " });\n"; echo " });\n"; + //open message media in layer + echo " function display_media(id, src) {\n"; + echo " $('#message_media_layer').load('message_media.php?id=' + id + '&src=' + src + '&action=display', function(){\n"; + echo " $('#message_media_layer').fadeIn(200);\n"; + echo " });\n"; + echo " }\n"; + echo " refresh_contacts();\n"; echo "\n"; diff --git a/app/messages/messages_thread.php b/app/messages/messages_thread.php index 133f1ee103..a43f5d3683 100644 --- a/app/messages/messages_thread.php +++ b/app/messages/messages_thread.php @@ -59,7 +59,7 @@ unset ($prep_statement, $sql); //get media (if any) - $sql = "select message_uuid, message_media_uuid, message_media_type, message_media_url, length(message_media_content) as message_media_size from v_message_media "; + $sql = "select message_uuid, message_media_uuid, message_media_type, length(message_media_content) as message_media_size from v_message_media "; $sql .= "where user_uuid = '".$_SESSION['user_uuid']."' "; $sql .= "and (domain_uuid = '".$domain_uuid."' or domain_uuid is null) "; $sql .= "and message_uuid in ( "; @@ -80,7 +80,6 @@ foreach ($rows as $row) { $message_media[$row['message_uuid']][$x]['uuid'] = $row['message_media_uuid']; $message_media[$row['message_uuid']][$x]['type'] = $row['message_media_type']; - //$message_media[$row['message_uuid']][$x]['url'] = $row['message_media_url']; $message_media[$row['message_uuid']][$x]['size'] = $row['message_media_size']; $x++; } @@ -161,7 +160,12 @@ foreach ($message_media[$message['message_uuid']] as $media) { if ($media['type'] != 'txt') { - echo ""; + if ($media['type'] == 'jpg' || $media['type'] == 'jpeg' || $media['type'] == 'gif' || $media['type'] == 'png') { + echo ""; + } + else { + echo ""; + } echo ""; echo "".strtoupper($media['type']).' · '.strtoupper(byte_convert($media['size'])).""; echo "\n";