Messages display image media, prompt to download other media types.
This commit is contained in:
parent
e671586638
commit
d359d0cd0b
|
|
@ -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 " <table cellpadding='0' cellspacing='0' border='0' width='100%' height='100%'>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td align='center' valign='middle'>\n";
|
||||
echo " <img src=\"data:".$content_type.";base64, ".$media['message_media_content']."\" style='width: auto; max-width: 95%; height: auto; max-height: 800px; box-shadow: 0px 1px 20px #888; cursor: pointer;' onclick=\"$('#message_media_layer').fadeOut(200);\" oncontextmenu=\"document.location.href='message_media.php?id=".$message_media_uuid."&src=".$message_media_source."&action=download'; return false;\" title=\"Click to Close, Right-Click to Save\">\n";
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo " </table>\n";
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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 "</style>\n";
|
||||
|
||||
//new message layer
|
||||
|
|
@ -143,6 +154,9 @@
|
|||
echo " </table>\n";
|
||||
echo "</div>\n";
|
||||
|
||||
//message media layer
|
||||
echo "<div id='message_media_layer' style='display: none;'></div>\n";
|
||||
|
||||
//show the content
|
||||
echo "<table width='100%' border='0'>\n";
|
||||
echo " <tr>\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 "</script>\n";
|
||||
|
|
|
|||
|
|
@ -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 "<a href='message_media.php?id=".$media['uuid']."&src=".$media_source."' class='message-media-link-".($message['message_direction'] == 'inbound' ? 'em' : 'me')."'>";
|
||||
if ($media['type'] == 'jpg' || $media['type'] == 'jpeg' || $media['type'] == 'gif' || $media['type'] == 'png') {
|
||||
echo "<a href='#' onclick=\"display_media('".$media['uuid']."','".$media_source."');\" class='message-media-link-".($message['message_direction'] == 'inbound' ? 'em' : 'me')."'>";
|
||||
}
|
||||
else {
|
||||
echo "<a href='message_media.php?id=".$media['uuid']."&src=".$media_source."&action=download' class='message-media-link-".($message['message_direction'] == 'inbound' ? 'em' : 'me')."'>";
|
||||
}
|
||||
echo "<img src='resources/images/attachment.png' style='width: 16px; height: 16px; border: none; margin-right: 10px;'>";
|
||||
echo "<span style='font-size: 85%;'>".strtoupper($media['type']).' · '.strtoupper(byte_convert($media['size']))."</span>";
|
||||
echo "</a>\n";
|
||||
|
|
|
|||
Loading…
Reference in New Issue