]> git.p6c8.net - jirafeau.git/blobdiff - lib/functions.js.php
Make one time download optional
[jirafeau.git] / lib / functions.js.php
index 79d7c952dfe549420495c006b4f0a1cdf1520c86..b2580b512b9d3029a508868a290b4b733f768e9b 100644 (file)
  */
 
 header('Content-Type: text/javascript');
-
 define('JIRAFEAU_ROOT', dirname(__FILE__) . '/../');
 
 require(JIRAFEAU_ROOT . 'lib/settings.php');
 require(JIRAFEAU_ROOT . 'lib/functions.php');
 require(JIRAFEAU_ROOT . 'lib/lang.php');
 ?>
+// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
 var web_root = "<?php echo $cfg['web_root']; ?>";
 
-function translate (expr)
-{
-    var lang_array = <?php echo json_lang_generator() ?>;
-    if (lang_array.hasOwnProperty(expr))
-        return lang_array[expr];
-    return expr;
+var lang_array = <?php echo json_lang_generator(null); ?>;
+var lang_array_fallback = <?php echo json_lang_generator("en"); ?>;
+
+function translate (expr) {
+    if (lang_array.hasOwnProperty(expr)) {
+        var e = lang_array[expr];
+        if (!isEmpty(e))
+            return e;
+    }
+    if (lang_array_fallback.hasOwnProperty(expr)) {
+        var e = lang_array_fallback[expr];
+        if (!isEmpty(e))
+            return e;
+    }
+    return "FIXME: " + expr;
 }
 
 function isEmpty(str) {
@@ -136,11 +145,11 @@ function show_link (reference, delete_code, crypt_key, date)
 
     // Email link
     var filename = document.getElementById('file_select').files[0].name;
-    var b = encodeURIComponent("Download file \"" + filename + "\":") + "%0D";
-    b += encodeURIComponent(web_root + download_link_href) + "%0D";
+    var b = encodeURIComponent("<?php echo t("DL"); ?> \"" + filename + "\":") + "%0D" + "%0A";
+    b += encodeURIComponent(web_root + download_link_href) + "%0D" + "%0A";
     if (false == isEmpty(date))
     {
-        b += "%0D" + encodeURIComponent("This file will be available until " + date.format('YYYY-MM-DD hh:mm (GMT O)')) + "%0D";
+        b += "%0D" + "%0A" + encodeURIComponent("<?php echo t("VALID_UNTIL"); ?>: " + date.format('YYYY-MM-DD hh:mm (GMT O)')) + "%0D" + "%0A";
         document.getElementById('upload_link_email').href = "mailto:?body=" + b + "&subject=" + encodeURIComponent(filename);
     }
 
@@ -307,17 +316,17 @@ function add_time_string_to_date(d, time)
     }
     if (time == 'month')
     {
-        d.setSeconds (d.getSeconds() + 2419200);
+               d.setSeconds (d.getSeconds() + 2592000);
         return true;
     }
     if (time == 'quarter')
     {
-        d.setSeconds (d.getSeconds() + 7257600);
+               d.setSeconds (d.getSeconds() + 7776000);
         return true;
     }
     if (time == 'year')
     {
-        d.setSeconds (d.getSeconds() + 29030400);
+               d.setSeconds (d.getSeconds() + 31536000);
         return true;
     }
     return false;
@@ -549,6 +558,8 @@ function async_upload_end (code)
 
 function upload (max_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 ()
         && document.getElementById('file_select').files[0].size >= max_size)
     {
@@ -557,7 +568,7 @@ function upload (max_size)
             document.getElementById('file_select').files[0],
             document.getElementById('select_time').value,
             document.getElementById('input_key').value,
-            document.getElementById('one_time_download').checked,
+            one_time,
             document.getElementById('upload_password').value
             );
     }
@@ -567,7 +578,7 @@ function upload (max_size)
             document.getElementById('file_select').files[0],
             document.getElementById('select_time').value,
             document.getElementById('input_key').value,
-            document.getElementById('one_time_download').checked,
+            one_time,
             document.getElementById('upload_password').value
             );
     }
@@ -632,38 +643,31 @@ function upload_time_estimation_speed_string()
 function milliseconds_to_time_string (milliseconds)
 {
     function numberEnding (number) {
-      var currentLanguage = '<?php echo $cfg['lang']; ?>';
-
-      if(currentLanguage == 'de') {
-        return (number > 1) ? 'n' : '';
-      }
-      else {
-        return (number > 1) ? 's' : '';
-      }
+        return (number > 1) ? translate ('PLURAL_ENDING') : '';
     }
 
     var temp = Math.floor(milliseconds / 1000);
     var years = Math.floor(temp / 31536000);
     if (years) {
-        return years + ' ' + translate ('year') + numberEnding(years);
+        return years + ' ' + translate ('YEAR') + numberEnding(years);
     }
     var days = Math.floor((temp %= 31536000) / 86400);
     if (days) {
-        return days + ' ' + translate ('day') + numberEnding(days);
+        return days + ' ' + translate ('DAY') + numberEnding(days);
     }
     var hours = Math.floor((temp %= 86400) / 3600);
     if (hours) {
-        return hours + ' ' + translate ('hour') + numberEnding(hours);
+        return hours + ' ' + translate ('HOUR') + numberEnding(hours);
     }
     var minutes = Math.floor((temp %= 3600) / 60);
     if (minutes) {
-        return minutes + ' ' + translate ('minute') + numberEnding(minutes);
+        return minutes + ' ' + translate ('MINUTE') + numberEnding(minutes);
     }
     var seconds = temp % 60;
     if (seconds) {
-        return seconds + ' ' + translate ('second') + numberEnding(seconds);
+        return seconds + ' ' + translate ('SECOND') + numberEnding(seconds);
     }
-    return translate ('less than a second');
+    return translate ('LESS_1_SEC');
 }
 
 function upload_time_estimation_time()
@@ -740,7 +744,10 @@ function copyLinkToClipboard(link_id) {
 }
 
 function addCopyListener(button_id, link_id) {
-    document.getElementById(button_id)
+    if(document.getElementById(button_id)){
+        document.getElementById(button_id)
             .addEventListener("click", function() {
                 copyLinkToClipboard(link_id);});
+    }
 }
+// @license-end

patrick-canterino.de