X-Git-Url: https://git.p6c8.net/jirafeau.git/blobdiff_plain/6d6c111b80ad13201b7acd7c2f5b8fd6d160e11b..20ff18d1ba1ea22682278b92dcff01e468f42628:/lib/functions.js.php diff --git a/lib/functions.js.php b/lib/functions.js.php index 14fad1d..e7bc339 100644 --- a/lib/functions.js.php +++ b/lib/functions.js.php @@ -321,6 +321,11 @@ function add_time_string_to_date(d, time) d.setSeconds (d.getSeconds() + 604800); return true; } + if (time == 'fortnight') + { + d.setSeconds (d.getSeconds() + 1209600); + return true; + } if (time == 'month') { d.setSeconds (d.getSeconds() + 2592000); @@ -524,11 +529,11 @@ function async_upload_push (code) } else { - if (req.status == 413) // Request Entity Too Large - { - // lower async_global_max_size and retry - async_global_max_size = Math.max(1, parseInt (async_global_max_size * 0.8)); - } + // lower async_global_max_size and retry + // This can occurs in several cases: + // - Request Entity Too Large (413) due to server bad configuration relative to PHP configuration + // - Server Error (500) which can happen when PHP's `max_execution_time` is too low comparared to sent size + async_global_max_size = Math.max(1, parseInt (async_global_max_size * 0.5)); async_upload_push (async_global_last_code); return; } @@ -591,14 +596,14 @@ function async_upload_end (code) req.send (form); } -function upload (max_size) +function upload (max_chunk_size) { var one_time_checkbox = document.getElementById('one_time_download'); var one_time = one_time_checkbox !== null ? one_time_checkbox.checked : false; if (check_html5_file_api ()) { async_upload_start ( - max_size, + max_chunk_size, document.getElementById('file_select').files[0], document.getElementById('select_time').value, document.getElementById('input_key').value, @@ -637,9 +642,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 @@ -707,7 +714,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; @@ -784,4 +791,34 @@ function addCopyListener(button_id, link_id) { copyLinkToClipboard(link_id);}); } } + +function set_dark_mode() { + let steel_sheet = ""; + let shortcut_icon = ""; + document.getElementById('stylesheet').href = steel_sheet; + document.getElementById('shortcut_icon').href = steel_sheet; +} + +function set_light_mode() { + let steel_sheet = ""; + let shortcut_icon = ""; + document.getElementById('stylesheet').href = steel_sheet; + document.getElementById('shortcut_icon').href = steel_sheet; +} + +function color_scheme_preferences() { + + let dark_mode_steel_sheet = "" + if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { + set_dark_mode(); + } else { + set_light_mode(); + } + + // When user change its preference + window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', lightMode => { + lightMode.matches ? set_dark_mode() : set_light_mode(); + }); +} + // @license-end