From e7a7524100e8ed5ecd66f9c9b8b8738f9c7eef52 Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Thu, 23 Apr 2015 20:17:31 -0500
Subject: [PATCH] Add direct download attribute to inline images hover

---
 include/staff/templates/thread-entries.tmpl.php |  3 ++-
 scp/js/ticket.js                                | 10 ++++------
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/include/staff/templates/thread-entries.tmpl.php b/include/staff/templates/thread-entries.tmpl.php
index 821c1c50c..be49ed35f 100644
--- a/include/staff/templates/thread-entries.tmpl.php
+++ b/include/staff/templates/thread-entries.tmpl.php
@@ -60,7 +60,8 @@ if ($entries) {
                             Format::file_size($A->file->size));
 ?>
             <a class="Icon file no-pjax" href="<?php echo $A->file->getDownloadUrl();
-                ?>" target="_blank"><?php echo Format::htmlchars($A->file->name);
+                ?>" download="<?php echo Format::htmlchars($A->file->name); ?>"
+                target="_blank"><?php echo Format::htmlchars($A->file->name);
             ?></a><?php echo $size;?>&nbsp;
 <?php               } ?>
             </td>
diff --git a/scp/js/ticket.js b/scp/js/ticket.js
index a10591868..c5c8df202 100644
--- a/scp/js/ticket.js
+++ b/scp/js/ticket.js
@@ -328,7 +328,9 @@ $.showImagesInline = function(urls, thread_id) {
                     }
                 ).append($('<div class="caption">')
                     .append('<span class="filename">'+info.filename+'</span>')
-                    .append('<a href="'+info.download_url+'" class="action-button pull-right no-pjax"><i class="icon-download-alt"></i> '+__('Download')+'</a>')
+                    .append($('<a href="'+info.download_url+'" class="action-button pull-right no-pjax"><i class="icon-download-alt"></i> '+__('Download')+'</a>')
+                      .attr('download', info.filename)
+                    )
                 );
             e.data('wrapped', true);
         }
@@ -419,11 +421,7 @@ var ticket_onload = function($) {
         });
     });
 
-    $('.thread-body').each(function() {
-        var urls = $(this).data('urls');
-        if (urls)
-            $.showImagesInline(urls, $(this).data('id'));
-    });
+    $.showImagesInline($('#ticket_thread').data('imageUrls'));
 };
 $(ticket_onload);
 $(document).on('pjax:success', function() { ticket_onload(jQuery); });
-- 
GitLab