]> git.p6c8.net - jirafeau.git/blobdiff - lib/functions.js
Fixes #17 Add links for preview and direct download after uploading
[jirafeau.git] / lib / functions.js
index ee8c6e8d6aa3fefbc73b95412d3cdaab128c70c5..ccd13d353546413d673a94da84e90c231ac16317 100644 (file)
@@ -18,6 +18,7 @@
 
 function show_link (url, reference, delete_code, crypt_key, date)
 {
+    // Download page if element exists
     var download_link = url + 'f.php?h=' + reference;
     var download_link_href = url + 'f.php?h=' + reference;
     if (crypt_key.length > 0)
@@ -25,14 +26,71 @@ function show_link (url, reference, delete_code, crypt_key, date)
         download_link += '&k=' + crypt_key;
         download_link_href += '&k=' + crypt_key;
     }
+    if (!!document.getElementById('upload_finished_download_page'))
+    {
+        document.getElementById('upload_link').innerHTML = download_link;
+        document.getElementById('upload_link').href = download_link_href;
+    }
+
+    // Is the preview allowed ?
+    if (!!document.getElementById('preview_link'))
+    {
+        document.getElementById('upload_finished_preview').style.display = 'none';
+        var preview_link = url + 'f.php?h=' + reference + '&p=1';
+        var preview_link_href = url + 'f.php?h=' + reference + '&p=1';
+        if (crypt_key.length > 0)
+        {
+            preview_link += '&k=' + crypt_key;
+            preview_link_href += '&k=' + crypt_key;
+        }
+
+        // Test if content can be previewed
+         type = document.getElementById('file_select').files[0].type;
+         if (type.indexOf("image") > -1 ||
+             type.indexOf("audio") > -1 ||
+             type.indexOf("text") > -1 ||
+             type.indexOf("video") > -1)
+         {
+            document.getElementById('preview_link').innerHTML = preview_link;
+            document.getElementById('preview_link').href = preview_link_href;
+            document.getElementById('upload_finished_preview').style.display = '';
+         }
+    }
+
+    // Only show link to password page if password is set
+    document.getElementById('upload_password_page').style.display = 'none';
+    if (document.getElementById('input_key').value.length > 0)
+    {
+        if (!!document.getElementById('upload_finished_download_page'))
+            document.getElementById('upload_finished_download_page').style.display = 'none';
+        document.getElementById('upload_password_page').style.display = '';
+        if (!!document.getElementById('upload_finished_preview'))
+            document.getElementById('upload_finished_preview').style.display = 'none';
+        document.getElementById('upload_direct_download').style.display = 'none';
 
+        document.getElementById('password_link').innerHTML = download_link;
+        document.getElementById('password_link').href = download_link_href;
+    }
+    // Direct download link
+    else
+    {
+        var direct_download_link = url + 'f.php?h=' + reference + '&d=1';
+        var direct_download_link_href = url + 'f.php?h=' + reference + '&d=1';
+        if (crypt_key.length > 0)
+        {
+            direct_download_link += '&k=' + crypt_key;
+            direct_download_link_href += '&k=' + crypt_key;
+        }
+        document.getElementById('direct_link').innerHTML = direct_download_link;
+        document.getElementById('direct_link').href = direct_download_link_href;
+    }
+
+    // Delete link
     var delete_link = url + 'f.php?h=' + reference + '&d=' + delete_code;
     var delete_link_href = url + 'f.php?h=' + reference + '&d=' + delete_code;
-
-    document.getElementById('upload_link').innerHTML = download_link;
-    document.getElementById('upload_link').href = download_link_href;
     document.getElementById('delete_link').innerHTML = delete_link;
     document.getElementById('delete_link').href = delete_link_href;
+
     if (date)
     {
         document.getElementById('date').innerHTML = date;

patrick-canterino.de