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";