X-Git-Url: https://git.p6c8.net/jirafeau_project.git/blobdiff_plain/b8d29136e66d51b7ed00d8f34deace7a58c82aaf..2926a9169b0472a19f2c6f781bbe08e3fe56196d:/lib/functions.js.php?ds=sidebyside
diff --git a/lib/functions.js.php b/lib/functions.js.php
index f5f7d54..17c6d0b 100644
--- a/lib/functions.js.php
+++ b/lib/functions.js.php
@@ -18,12 +18,110 @@
* 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 = '';
+ }
+
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
var web_root = "";
@@ -123,6 +221,22 @@ function convertAllDatetimeFields() {
}
}
+// evil copy and paste from show_link - TODO refactor show link
+function show_link_from_php (file_name,file_type, reference, delete_code, crypt_key, date)
+{
+
+
+
+ var filename = file_name;
+
+
+
+ var type = file_type;
+
+}
+
+
+
function show_link (reference, delete_code, crypt_key, date)
{
// Upload finished
@@ -131,78 +245,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)
@@ -344,7 +403,7 @@ function add_time_string_to_date(d, time)
return false;
}
-function classic_upload (file, time, password, one_time, upload_password)
+function classic_upload (file, time, password, one_time)
{
// Delay time estimation init as we can't have file size
upload_time_estimation_init(0);
@@ -397,9 +456,6 @@ function classic_upload (file, time, password, one_time, upload_password)
form.append ("key", password);
if (one_time)
form.append ("one_time_download", '1');
- if (upload_password.length > 0)
- form.append ("upload_password", upload_password);
-
req.send (form);
}
@@ -416,7 +472,7 @@ var async_global_time;
var async_global_transfering = 0;
var async_global_last_code;
-function async_upload_start (max_size, file, time, password, one_time, upload_password)
+function async_upload_start (max_size, file, time, password, one_time)
{
async_global_transfered = 0;
async_global_file = file;
@@ -455,8 +511,6 @@ function async_upload_start (max_size, file, time, password, one_time, upload_pa
form.append ("key", password);
if (one_time)
form.append ("one_time_download", '1');
- if (upload_password.length > 0)
- form.append ("upload_password", upload_password);
// Start time estimation
upload_time_estimation_init(async_global_file.size);
@@ -607,8 +661,7 @@ function upload (max_chunk_size)
document.getElementById('file_select').files[0],
document.getElementById('select_time').value,
document.getElementById('input_key').value,
- one_time,
- document.getElementById('upload_password').value
+ one_time
);
}
else
@@ -617,8 +670,7 @@ function upload (max_chunk_size)
document.getElementById('file_select').files[0],
document.getElementById('select_time').value,
document.getElementById('input_key').value,
- one_time,
- document.getElementById('upload_password').value
+ one_time
);
}
}
@@ -642,9 +694,11 @@ function upload_time_estimation_add(total_transfered_size)
// Let's compute the current speed
var d = new Date();
var speed = upload_time_estimation_moving_average_speed;
- if (d.getTime() - upload_time_estimation_transfered_date != 0)
+ if (d.getTime() - upload_time_estimation_transfered_date != 0) {
speed = (total_transfered_size - upload_time_estimation_transfered_size)
/ (d.getTime() - upload_time_estimation_transfered_date);
+ speed = Math.max(0, speed);
+ }
// Let's compute moving average speed on 30 values
var m = (upload_time_estimation_moving_average_speed * 29 + speed) / 30;
// Update global values
@@ -712,7 +766,7 @@ function milliseconds_to_time_string (milliseconds)
function upload_time_estimation_time()
{
// Estimate remaining time
- if (upload_time_estimation_moving_average_speed == 0)
+ if (upload_time_estimation_moving_average_speed <= 0)
return 0;
return (upload_time_estimation_total_size - upload_time_estimation_transfered_size)
/ upload_time_estimation_moving_average_speed;
@@ -790,22 +844,37 @@ 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() {
-
+
let dark_mode_steel_sheet = ""
if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
set_dark_mode();