X-Git-Url: https://git.p6c8.net/jirafeau.git/blobdiff_plain/bfbbf72959faa385b97d250484be1d25e4fd22aa..refs/heads/next-release:/lib/functions.js.php diff --git a/lib/functions.js.php b/lib/functions.js.php index 50aa2f0..b8888a6 100644 --- a/lib/functions.js.php +++ b/lib/functions.js.php @@ -1,8 +1,9 @@ * Copyright (C) 2015 Jerome Jutteau - * Copyright (C) 2015 Nicola Spanti (RyDroid) + * Copyright (C) 2024 Jirafeau project (see AUTHORS.md) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -18,6 +19,109 @@ * along with this program. If not, see . */ +function template_js_preview_link() +{ + ?> + if (!!document.getElementById('preview_link')) + { + document.getElementById('upload_finished_preview').style.display = 'none'; + var preview_link_href = 'f.php?h=' + reference + '&p=1'; + if (crypt_key.length > 0) + { + preview_link_href += '&k=' + crypt_key; + } + + // Test if content can be previewed + type = document.getElementById('file_select').files[0].type; + if ((type.startsWith('image/') + || type.startsWith('audio') + || type.startsWith('text/plain') + || type.startsWith('video/')) + && !type.includes('image/svg+xml')) + { + document.getElementById('preview_link').href = preview_link_href; + document.getElementById('preview_link_text').innerHTML = web_root + preview_link_href; + document.getElementById('upload_finished_preview').style.display = ''; + } + } + + // Download page + var download_link_href = 'f.php?h=' + reference; + if (crypt_key.length > 0) + { + download_link_href += '&k=' + crypt_key; + } + if (!!document.getElementById('upload_finished_download_page')) + { + document.getElementById('upload_link').href = download_link_href; + document.getElementById('upload_link_text').innerHTML = web_root + download_link_href; + } + + // Email link + var b = encodeURIComponent(" \"" + filename + "\":") + "%0D" + "%0A"; + b += encodeURIComponent(web_root + download_link_href) + "%0D" + "%0A"; + if (false == isEmpty(date)) + { + b += "%0D" + "%0A" + encodeURIComponent(": " + date.format('YYYY-MM-DD hh:mm (GMT O)')) + "%0D" + "%0A"; + document.getElementById('upload_link_email').href = "mailto:?body=" + b + "&subject=" + encodeURIComponent(filename); + } + + // Delete link + var delete_link_href = 'f.php?h=' + reference + '&d=' + delete_code; + document.getElementById('delete_link').href = delete_link_href; + document.getElementById('delete_link_text').innerHTML = web_root + delete_link_href; + + // Direct download link + var direct_download_link_href = 'f.php?h=' + reference + '&d=1'; + if (crypt_key.length > 0) + { + direct_download_link_href += '&k=' + crypt_key; + } + document.getElementById('direct_link').href = direct_download_link_href; + document.getElementById('direct_link_text').innerHTML = web_root + direct_download_link_href; + + // Validity date + if (isEmpty(date)) + { + document.getElementById('date').style.display = 'none'; + } + else { + document.getElementById('date').innerHTML = + '' + + date.format('YYYY-MM-DD hh:mm (GMT O)') + + ''; + document.getElementById('date').style.display = ''; + } + + + + var filename = file_name; + + + + var type = file_type; + +} + + + function show_link (reference, delete_code, crypt_key, date) { // Upload finished @@ -132,78 +252,23 @@ function show_link (reference, delete_code, crypt_key, date) document.getElementById('upload_finished').style.display = ''; document.title = "100% - "; - // Download page - var download_link_href = 'f.php?h=' + reference; - if (crypt_key.length > 0) - { - download_link_href += '&k=' + crypt_key; - } - if (!!document.getElementById('upload_finished_download_page')) - { - document.getElementById('upload_link').href = download_link_href; - document.getElementById('upload_link_text').innerHTML = web_root + download_link_href; - } - + // Email link var filename = document.getElementById('file_select').files[0].name; - var b = encodeURIComponent(" \"" + filename + "\":") + "%0D" + "%0A"; - b += encodeURIComponent(web_root + download_link_href) + "%0D" + "%0A"; - if (false == isEmpty(date)) - { - b += "%0D" + "%0A" + encodeURIComponent(": " + date.format('YYYY-MM-DD hh:mm (GMT O)')) + "%0D" + "%0A"; - document.getElementById('upload_link_email').href = "mailto:?body=" + b + "&subject=" + encodeURIComponent(filename); - } - // Delete link - var delete_link_href = 'f.php?h=' + reference + '&d=' + delete_code; - document.getElementById('delete_link').href = delete_link_href; - document.getElementById('delete_link_text').innerHTML = web_root + delete_link_href; + + + + - // Validity date - if (isEmpty(date)) - { - document.getElementById('date').style.display = 'none'; - } - else { - document.getElementById('date').innerHTML = '' - + date.format('YYYY-MM-DD hh:mm (GMT O)') - + ''; - document.getElementById('date').style.display = ''; - } // Preview link (if allowed) - if (!!document.getElementById('preview_link')) - { - document.getElementById('upload_finished_preview').style.display = 'none'; - var preview_link_href = 'f.php?h=' + reference + '&p=1'; - if (crypt_key.length > 0) - { - preview_link_href += '&k=' + crypt_key; - } + + var type = document.getElementById('file_select').files[0].type; + - // Test if content can be previewed - type = document.getElementById('file_select').files[0].type; - if ((type.startsWith('image/') - || type.startsWith('audio') - || type.startsWith('text/plain') - || type.startsWith('video/')) - && !type.includes('image/svg+xml')) - { - document.getElementById('preview_link').href = preview_link_href; - document.getElementById('preview_link_text').innerHTML = web_root + preview_link_href; - document.getElementById('upload_finished_preview').style.display = ''; - } - } + - // Direct download link - var direct_download_link_href = 'f.php?h=' + reference + '&d=1'; - if (crypt_key.length > 0) - { - direct_download_link_href += '&k=' + crypt_key; - } - document.getElementById('direct_link').href = direct_download_link_href; - document.getElementById('direct_link_text').innerHTML = web_root + direct_download_link_href; // Hide preview and direct download link if password is set if (document.getElementById('input_key').value.length > 0) @@ -786,18 +851,33 @@ function addCopyListener(button_id, link_id) { } } +function copyTextToClipboard(text_id){ + var copyText = document.getElementById(text_id); + copyText.select(); + copyText.setSelectionRange(0, 99999); + navigator.clipboard.writeText(copyText.value); +} + +function addTextCopyListener(button_id, text_id) { + if(document.getElementById(button_id)){ + document.getElementById(button_id) + .addEventListener("click", function() { + copyTextToClipboard(text_id);}); + } +} + function set_dark_mode() { let steel_sheet = ""; let shortcut_icon = ""; document.getElementById('stylesheet').href = steel_sheet; - document.getElementById('shortcut_icon').href = steel_sheet; + document.getElementById('shortcut_icon').href = shortcut_icon; } function set_light_mode() { let steel_sheet = ""; let shortcut_icon = ""; document.getElementById('stylesheet').href = steel_sheet; - document.getElementById('shortcut_icon').href = steel_sheet; + document.getElementById('shortcut_icon').href = shortcut_icon; } function color_scheme_preferences() {