From: Blackeye <14815724-Blackstareye@users.noreply.gitlab.com> Date: Mon, 26 Aug 2024 11:58:02 +0000 (+0000) Subject: Code Modularization X-Git-Url: https://git.p6c8.net/jirafeau_project.git/commitdiff_plain/85b1ac6414601717c4bb94b12ea724e10b78f2a6?ds=sidebyside Code Modularization --- diff --git a/README.md b/README.md index 4fff851..f343ed9 100644 --- a/README.md +++ b/README.md @@ -311,4 +311,6 @@ Feel free to create an [issue](https://gitlab.com/jirafeau/Jirafeau/-/issues) if ### Can I buy you a coffee? -You can [drop few bucks for Jérôme Jutteau](https://www.paypal.com/paypalme/jeromejutteau). +You can [drop few bucks for Jérôme Jutteau](https://www.paypal.com/paypalme/jeromejutteau) + +Many Thanks <3 \ No newline at end of file diff --git a/index.php b/index.php index b7e2606..43bb81d 100644 --- a/index.php +++ b/index.php @@ -101,70 +101,8 @@ elseif (true === jirafeau_challenge_upload_ip($cfg, get_ip_address($cfg))) { } ?> -
-

-
-

- - -

- - -

-
- - -
-

- -
-

- '?> - -

-
-
- - - -
-

- -

- - -

-
- - -
-

- -

- - -

-
- -
-

- -

- - -

-
- -
-

:

-

-
-
+

@@ -227,55 +165,9 @@ elseif (true === jirafeau_challenge_upload_ip($cfg, get_ip_address($cfg))) { }?> - + + + . */ + 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 +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) diff --git a/lib/functions.php b/lib/functions.php index 4736b7f..4991f23 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -446,25 +446,62 @@ function jirafeau_upload($file, $one_time_download, $key, $time, $ip, $crypt, $l 'link' => '', 'delete_link' => '')); } + jirafeau_add_file($file, $one_time_download, $key, $time, $ip, $crypt, $link_name_length, $file_hash_method); +} - /* array representing no error */ - $noerr = array('has_error' => false, 'why' => ''); - +/** + * + * @param bool $crypt_module_enabled + * @param string $file_path + * @return array [bool, string] + */ +function jirafeau_handle_add_file_encryption($crypt_module_enabled, $file_path) { /* Crypt file if option is enabled. */ $crypted = false; $crypt_key = ''; - if ($crypt == true && !(extension_loaded('sodium') == true)) { + if ($crypt_module_enabled == true && !(extension_loaded('sodium') == true)) { error_log("PHP extension sodium not loaded, won't encrypt in Jirafeau"); } - if ($crypt == true && extension_loaded('sodium') == true) { - $crypt_key = jirafeau_encrypt_file($file['tmp_name'], $file['tmp_name'].'crypt'); + if ($crypt_module_enabled == true && extension_loaded('sodium') == true) { + $crypt_key = jirafeau_encrypt_file($file_path, $file_path.'crypt'); if (strlen($crypt_key) > 0) { - if (rename($file['tmp_name'].'crypt', $file['tmp_name']) === true) { + if (rename($file_path.'crypt', $file_path) === true) { $crypted = true; } } } + return [$crypted, $crypt_key]; +} + +/** + * adds an uploaded or copy/linked local file + * @param $file the file struct given by $_FILE[] + * @param $one_time_download is the file a one time download ? + * @param $key if not empty, protect the file with this key + * @param $time the time of validity of the file + * @param $ip uploader's ip + * @param $crypt boolean asking to crypt or not + * @param $link_name_length size of the link name + * @param $is_upload, determines if the file is uploaded or local - it controls which file-functions are used + * @return array an array containing some information + * 'error' => information on possible errors + * 'link' => the link name of the uploaded file + * 'delete_link' => the link code to delete file + */ +function jirafeau_add_file($file, $one_time_download, $key, $time, $ip, $crypt, $link_name_length, $file_hash_method, $is_upload = true) +{ + // TODO needs to be adapted + $move_operation = $is_upload ? 'move_uploaded_file' : 'symlink'; + + /* array representing no error */ + $noerr = array('has_error' => false, 'why' => ''); + + $crypted = false; + $crypt_key = ''; + list($crypted, $crypt_key) = jirafeau_handle_add_file_encryption($crypt, $file['tmp_name']); + + /* file information */ $hash = jirafeau_hash_file($file_hash_method, $file['tmp_name']); $name = str_replace(NL, '', trim($file['name'])); @@ -477,7 +514,11 @@ function jirafeau_upload($file, $one_time_download, $key, $time, $ip, $crypt, $l if (file_exists(VAR_FILES . $p . $hash)) { $rc = unlink($file['tmp_name']); } elseif ((file_exists(VAR_FILES . $p) || @mkdir(VAR_FILES . $p, 0755, true)) - && move_uploaded_file($file['tmp_name'], VAR_FILES . $p . $hash)) { + && + //move_uploaded_file($file['tmp_name'], VAR_FILES . $p . $hash)) + $move_operation($file['tmp_name'], VAR_FILES . $p . $hash)) + { + $rc = true; } if (!$rc) { @@ -516,7 +557,7 @@ function jirafeau_upload($file, $one_time_download, $key, $time, $ip, $crypt, $l $handle, $name . NL. $mime_type . NL. $size . NL. $password . NL. $time . NL . $hash. NL . ($one_time_download ? 'O' : 'R') . NL . time() . - NL . $ip . NL. $delete_link_code . NL . ($crypted ? 'C2' : 'O') + NL . $ip . NL. $delete_link_code . NL . ($crypted ? 'C' : 'O') ); fclose($handle); $hash_link = substr(base_16_to_64(md5_file($link_tmp_name)), 0, $link_name_length); @@ -548,6 +589,37 @@ function jirafeau_upload($file, $one_time_download, $key, $time, $ip, $crypt, $l 'crypt_key' => $crypt_key); } + +function jirafeau_admin_list_table ($name, $file_hash, $link_hash, $visitor_function = null) { + echo '

'; + if (!empty($name)) { + echo t('FILENAME') . ": " . jirafeau_escape($name); + } + if (!empty($file_hash)) { + echo t('FILE') . ": " . jirafeau_escape($file_hash); + } + if (!empty($link_hash)) { + echo t('LINK') . ": " . jirafeau_escape($link_hash); + } + if (empty($name) && empty($file_hash) && empty($link_hash)) { + echo t('LS_FILES'); + } + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + echo ''; + if ($visitor_function != null) { + $visitor_function($name, $file_hash, $link_hash); + } + echo '
' . t('ACTION') . '
'; +} + + + + + /** * Tells if a mime-type is viewable in a browser * @param $mime the mime type @@ -672,103 +744,79 @@ function jirafeau_get_link($hash) } /** - * List files in admin interface. + * List files ii folder in admin interface. */ function jirafeau_admin_list($name, $file_hash, $link_hash) { - echo '
'; - if (!empty($name)) { - echo t('FILENAME') . ": " . jirafeau_escape($name); - } - if (!empty($file_hash)) { - echo t('FILE') . ": " . jirafeau_escape($file_hash); - } - if (!empty($link_hash)) { - echo t('LINK') . ": " . jirafeau_escape($link_hash); - } - if (empty($name) && empty($file_hash) && empty($link_hash)) { - echo t('LS_FILES'); - } - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - echo ''; - - /* Get all links files. */ - $stack = array(VAR_LINKS); - while (($d = array_shift($stack)) && $d != null) { - $dir = scandir($d); - foreach ($dir as $node) { - if (strcmp($node, '.') == 0 || strcmp($node, '..') == 0 || - preg_match('/\.tmp/i', "$node")) { - continue; - } - if (is_dir($d . $node)) { - /* Push new found directory. */ - $stack[] = $d . $node . '/'; - } elseif (is_file($d . $node)) { - /* Read link information. */ - $l = jirafeau_get_link($node); - if (!count($l)) { + $function = function($name, $file_hash, $link_hash) { + /* Get all links files. */ + $stack = array(VAR_LINKS); + while (($d = array_shift($stack)) && $d != null) { + $dir = scandir($d); + foreach ($dir as $node) { + if (strcmp($node, '.') == 0 || strcmp($node, '..') == 0 || + preg_match('/\.tmp/i', "$node")) { continue; } - $ld = jirafeau_get_download_stats($node); - - /* Filter. */ - if (!empty($name) && !@preg_match("/$name/i", jirafeau_escape($l['file_name']))) { - continue; + if (is_dir($d . $node)) { + /* Push new found directory. */ + $stack[] = $d . $node . '/'; + } elseif (is_file($d . $node)) { + /* Read link information. */ + $l = jirafeau_get_link($node); + if (!count($l)) { + continue; + } + + /* Filter. */ + if (!empty($name) && !@preg_match("/$name/i", jirafeau_escape($l['file_name']))) { + continue; + } + if (!empty($file_hash) && $file_hash != $l['hash']) { + continue; + } + if (!empty($link_hash) && $link_hash != $node) { + continue; + } + /* Print link information. */ + echo ''; + echo ''; + echo ''; } - if (!empty($file_hash) && $file_hash != $l['hash']) { - continue; - } - if (!empty($link_hash) && $link_hash != $node) { - continue; - } - /* Print link information. */ - echo ''; - echo ''; - echo ''; } } - } - echo '
' . t('ACTION') . '
' . + '' . jirafeau_escape($l['file_name']) . '
'; + echo t('TYPE') . ': ' . jirafeau_escape($l['mime_type']) . '
'; + echo t('SIZE') . ': ' . jirafeau_human_size($l['file_size']) . '
'; + echo t('EXPIRE') . ': ' . ($l['time'] == -1 ? '∞' : jirafeau_get_datetimefield($l['time'])) . '
'; + echo t('ONETIME') . ': ' . ($l['onetime'] == 'O' ? 'Yes' : 'No') . '
'; + echo t('UPLOAD_DATE') . ': ' . jirafeau_get_datetimefield($l['upload_date']) . '
'; + if (strlen($l['ip']) > 0) { + echo t('ORIGIN') . ': ' . $l['ip'] . '
'; + } + echo '
'; + echo '
' . + '' . + '' . + jirafeau_admin_csrf_field() . + '' . + '
' . + '
' . + '' . + '' . + jirafeau_admin_csrf_field() . + '' . + '
' . + '
' . + '' . + '' . + jirafeau_admin_csrf_field() . + '' . + '
' . + '
' . - '' . jirafeau_escape($l['file_name']) . '
'; - echo t('TYPE') . ': ' . jirafeau_escape($l['mime_type']) . '
'; - echo t('SIZE') . ': ' . jirafeau_human_size($l['file_size']) . '
'; - echo t('EXPIRE') . ': ' . ($l['time'] == -1 ? '∞' : jirafeau_get_datetimefield($l['time'])) . '
'; - echo t('ONETIME') . ': ' . ($l['onetime'] == 'O' ? 'Yes' : 'No') . '
'; - echo t('UPLOAD_DATE') . ': ' . jirafeau_get_datetimefield($l['upload_date']) . '
'; - if (strlen($l['ip']) > 0) { - echo t('ORIGIN') . ': ' . $l['ip'] . '
'; - } - echo t('DOWNLOAD_COUNT') . ': ' . $ld['count'] . '
'; - if ($ld['count'] > 0) { - echo t('DOWNLOAD_DATE') . ': ' . jirafeau_get_datetimefield($ld['date']) . '
'; - echo t('DOWNLOAD_IP') . ': ' . $ld['ip'] . '
'; - } - echo '
'; - echo '
' . - '' . - '' . - jirafeau_admin_csrf_field() . - '' . - '
' . - '
' . - '' . - '' . - jirafeau_admin_csrf_field() . - '' . - '
' . - '
' . - '' . - '' . - jirafeau_admin_csrf_field() . - '' . - '
' . - '
'; + }; + jirafeau_admin_list_table($name, $file_hash, $link_hash, $function); } /** @@ -1009,8 +1057,8 @@ function jirafeau_async_delete($ref) function jirafeau_async_init($filename, $type, $one_time, $key, $time, $ip) { /* Create temporary folder. */ - $ref; - $p; + $ref = ''; + $p = ''; $code = jirafeau_gen_random(4); do { $ref = jirafeau_gen_random(32); @@ -1719,3 +1767,229 @@ function jirafeau_write_download_stats($hash, $ip) fwrite($handle, $count . NL . time() . NL . $ip); fclose($handle); } + +function jirafeau_create_upload_finished_box($preview = true) { + ?> + +
+

+ +
+

+ + +

+ + +

+
+ + +
+

+ +

+ + +

+
+ + +
+

+ +

+ + +

+
+ +
+

+ +

+ + +

+
+ +
+

:

+

+
+
+ 'minute', + 'label' => '1_MIN' + ), + array( + 'value' => 'hour', + 'label' => '1_H' + ), + array( + 'value' => 'day', + 'label' => '1_D' + ), + array( + 'value' => 'week', + 'label' => '1_W' + ), + array( + 'value' => 'fortnight', + 'label' => '2_W' + ), + array( + 'value' => 'month', + 'label' => '1_M' + ), + array( + 'value' => 'quarter', + 'label' => '1_Q' + ), + array( + 'value' => 'year', + 'label' => '1_Y' + ), + array( + 'value' => 'none', + 'label' => 'NONE' + ) + ); +} + + + + /** + * + * creates the time selection field + * @param mixed $cfg + * @return void + */ + function jirafeau_create_selection_array($cfg) { + echo + ''; + } + + function jirafeau_datestr_to_int ($time_str) { + $time = time(); + switch ($time_str) { + case 'minute': + $time += JIRAFEAU_MINUTE; + break; + case 'hour': + $time += JIRAFEAU_HOUR; + break; + case 'day': + $time += JIRAFEAU_DAY; + break; + case 'week': + $time += JIRAFEAU_WEEK; + break; + case 'fortnight': + $time += JIRAFEAU_FORTNIGHT; + break; + case 'month': + $time += JIRAFEAU_MONTH; + break; + case 'quarter': + $time += JIRAFEAU_QUARTER; + break; + case 'year': + $time += JIRAFEAU_YEAR; + break; + default: + $time = JIRAFEAU_INFINITY; + break; + } + return $time; +} + + + + +/** + * links or copy a local file + * TODO: boolean in config for linking + * @param string $filepath + * @param $one_time_download is the file a one time download ? + * @param $key if not empty, protect the file with this key + * @param $time the time of validity of the file + * @param $ip uploader's ip + * @param $crypt boolean asking to crypt or not + * @param $link_name_length size of the link name + * @returns an array containing some information + * 'error' => information on possible errors + * 'link' => the link name of the uploaded file + * 'delete_link' => the link code to delete file + */ +function jirafeau_copy_local_file($local_file_path, $one_time_download, $key, $time, $ip, $crypt, $link_name_length, $file_hash_method) { + + if (!file_exists($local_file_path)) { + return (array( + 'error' => + array('has_error' => true, + 'why' => t('INTERNAL_ERROR_FILE_NOT_EXIST')), + 'link' =>'', + 'delete_link' => '')); + } + if( + // sanity check if file can be opened + $file = fopen($local_file_path, "r") + ) + { + // close file pointer - it's not needed here + fclose($file); + $time_in_int = jirafeau_datestr_to_int($time); + return jirafeau_add_file( + jirafeau_create_file_array($local_file_path), + $one_time_download, + $key, + $time_in_int, + $ip, + $crypt, + $link_name_length, + $file_hash_method, + false + ); + } + else { + return (array( + 'error' => + array('has_error' => true, + 'why' => t('INTERNAL_ERROR_FP_OPEN_LOCAL')), + 'link' =>'', + 'delete_link' => '')); + } + +} + + +function jirafeau_create_file_array($file_path) { + return + [ + 'type' => mime_content_type($file_path), + 'tmp_name' => $file_path, + 'name' => basename($file_path), + 'size' => filesize($file_path), + ]; +} diff --git a/lib/locales/ar.json b/lib/locales/ar.json index a048c2b..f8a9ad6 100644 --- a/lib/locales/ar.json +++ b/lib/locales/ar.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/be.json b/lib/locales/be.json index 7f38ca9..1fa1e6f 100644 --- a/lib/locales/be.json +++ b/lib/locales/be.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/bn_IN.json b/lib/locales/bn_IN.json index 796ceaa..4c86aef 100644 --- a/lib/locales/bn_IN.json +++ b/lib/locales/bn_IN.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/bo.json b/lib/locales/bo.json index 0a94967..353cbd5 100644 --- a/lib/locales/bo.json +++ b/lib/locales/bo.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/ca.json b/lib/locales/ca.json index 9fa8499..900d618 100644 --- a/lib/locales/ca.json +++ b/lib/locales/ca.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "Una quincena", diff --git a/lib/locales/ckb.json b/lib/locales/ckb.json index 6277346..f4f30fe 100644 --- a/lib/locales/ckb.json +++ b/lib/locales/ckb.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/cs.json b/lib/locales/cs.json index 8aee626..a310461 100644 --- a/lib/locales/cs.json +++ b/lib/locales/cs.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/da.json b/lib/locales/da.json index a08c46f..645bcef 100644 --- a/lib/locales/da.json +++ b/lib/locales/da.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/de.json b/lib/locales/de.json index ea3c290..76062b5 100644 --- a/lib/locales/de.json +++ b/lib/locales/de.json @@ -1,5 +1,12 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "Verschlüsselung ist in der Konfiguration aktiviert, aber das PHP-Modul \"Sodium\" ist nicht verfügbar! Verschlüsselung ist nicht verfügbar!", + "ADMIN_FOLDER_INFO": "(Datei muss im Ordner %s liegen)", + "ADMIN_FILE_SELECT": "Dateiname:", + "INTERNAL_ERROR_FILE_NOT_EXIST": "Die zu verlinkende Datei konnte nicht gefunden werden", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "Internal Error - Die zu verlinkende Datei konnte nicht geöffnet werden", "INSTALL_FILE_NOT_FOUND_TITLE": "Installationsprogramm nicht gefunden", "INSTALL_FILE_NOT_FOUND_DESC": "Installation wurde nicht erfolgreich abgeschlossen und install.php scheint nicht zu existieren", "2_W": "Zwei Wochen", @@ -54,6 +61,7 @@ "LOGIN": "Anmelden", "LOGOUT": "Abmelden", "MADE_WITH": "Erstellt mit", + "DESIGNED": "", "MAX_FILE_SIZE": "Maximale Dateigröße", "NEXT_STEP": "Nächster Schritt", "NONE": "Nie", diff --git a/lib/locales/el.json b/lib/locales/el.json index a0da96f..d9ea2f5 100644 --- a/lib/locales/el.json +++ b/lib/locales/el.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/en.json b/lib/locales/en.json index 092980a..aa7559d 100644 --- a/lib/locales/en.json +++ b/lib/locales/en.json @@ -1,5 +1,9 @@ { "SODIUM_UNAVAILABLE": "Encryption is enabled in configuration, but the Sodium PHP module is not loaded! Encryption is not available!", + "ADMIN_FOLDER_INFO": "(File must be in Folder %s)", + "ADMIN_FILE_SELECT": "Filename", + "INTERNAL_ERROR_FILE_NOT_EXIST": "Requested File not found.", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "Internal Error - Requested File could not be opened", "INSTALL_FILE_NOT_FOUND_TITLE": "Installation file not found", "INSTALL_FILE_NOT_FOUND_DESC": "Installation is not complete and install.php file does not seem to exist", "REPORTING_AN_ISSUE": "Reporting an issue", @@ -17,6 +21,7 @@ "MAX_FILE_SIZE": "Maximum file size", "POWERED_BY": "powered by the copyleft, libre software project Jirafeau", "MADE_WITH": "Made with", + "DESIGNED": "Designed and hosted by", "JI_PROJECT": "Jirafeau Project", "1_MIN": "One minute", "1_H": "One hour", diff --git a/lib/locales/es.json b/lib/locales/es.json index 5053041..339c468 100644 --- a/lib/locales/es.json +++ b/lib/locales/es.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "Una quincena", diff --git a/lib/locales/et.json b/lib/locales/et.json index 6277346..f4f30fe 100644 --- a/lib/locales/et.json +++ b/lib/locales/et.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/fi.json b/lib/locales/fi.json index db7eecf..21c28d1 100644 --- a/lib/locales/fi.json +++ b/lib/locales/fi.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/fr.json b/lib/locales/fr.json index a9162ab..9850683 100644 --- a/lib/locales/fr.json +++ b/lib/locales/fr.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "Fichier d'installation non-trouvé", "INSTALL_FILE_NOT_FOUND_DESC": "L'installation est incomplète et le ficher install.php est introuvable", "2_W": "Deux semaines", diff --git a/lib/locales/he.json b/lib/locales/he.json index 3e40020..f5c72b6 100644 --- a/lib/locales/he.json +++ b/lib/locales/he.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/hi.json b/lib/locales/hi.json index 5c19acc..9349097 100644 --- a/lib/locales/hi.json +++ b/lib/locales/hi.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/hr.json b/lib/locales/hr.json index 788ce9e..fb75482 100644 --- a/lib/locales/hr.json +++ b/lib/locales/hr.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/hu.json b/lib/locales/hu.json index 4d3b8e0..a381b82 100644 --- a/lib/locales/hu.json +++ b/lib/locales/hu.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/id.json b/lib/locales/id.json index 74fc276..4ed9761 100644 --- a/lib/locales/id.json +++ b/lib/locales/id.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/it.json b/lib/locales/it.json index c4e53b5..2b8600b 100644 --- a/lib/locales/it.json +++ b/lib/locales/it.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "Due settimane", diff --git a/lib/locales/ja.json b/lib/locales/ja.json index ee6a2e8..0a39a65 100644 --- a/lib/locales/ja.json +++ b/lib/locales/ja.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/ko.json b/lib/locales/ko.json index 5c19acc..9349097 100644 --- a/lib/locales/ko.json +++ b/lib/locales/ko.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/la.json b/lib/locales/la.json index 45aeaaa..e1b1bce 100644 --- a/lib/locales/la.json +++ b/lib/locales/la.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/mfe.json b/lib/locales/mfe.json index 6277346..f4f30fe 100644 --- a/lib/locales/mfe.json +++ b/lib/locales/mfe.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/ms.json b/lib/locales/ms.json index c01c93d..e97fa01 100644 --- a/lib/locales/ms.json +++ b/lib/locales/ms.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/nb_NO.json b/lib/locales/nb_NO.json index ce80c40..c5a6297 100644 --- a/lib/locales/nb_NO.json +++ b/lib/locales/nb_NO.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "To uker", diff --git a/lib/locales/nl.json b/lib/locales/nl.json index 1855d0b..ca4aa74 100644 --- a/lib/locales/nl.json +++ b/lib/locales/nl.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "Twee weken", diff --git a/lib/locales/pl.json b/lib/locales/pl.json index 07a814a..6a1fa9a 100644 --- a/lib/locales/pl.json +++ b/lib/locales/pl.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/ps.json b/lib/locales/ps.json index 6277346..f4f30fe 100644 --- a/lib/locales/ps.json +++ b/lib/locales/ps.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/pt.json b/lib/locales/pt.json index 9ec79a9..f326529 100644 --- a/lib/locales/pt.json +++ b/lib/locales/pt.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "Uma quinzena", diff --git a/lib/locales/pt_BR.json b/lib/locales/pt_BR.json index c902a9c..638dc08 100644 --- a/lib/locales/pt_BR.json +++ b/lib/locales/pt_BR.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "Uma quinzena", diff --git a/lib/locales/ro.json b/lib/locales/ro.json index dbe2046..fe03dec 100644 --- a/lib/locales/ro.json +++ b/lib/locales/ro.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/ru.json b/lib/locales/ru.json index 6452559..e9dc7f1 100644 --- a/lib/locales/ru.json +++ b/lib/locales/ru.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/sh.json b/lib/locales/sh.json index 6277346..f4f30fe 100644 --- a/lib/locales/sh.json +++ b/lib/locales/sh.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/si.json b/lib/locales/si.json index 54401df..eb4a94d 100644 --- a/lib/locales/si.json +++ b/lib/locales/si.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "REPORTING_AN_ISSUE": "", "SIZE_DATA": "", "INCOMPATIBLE_OPTIONS_W": "", diff --git a/lib/locales/sk.json b/lib/locales/sk.json index e40d2b9..a69e18d 100644 --- a/lib/locales/sk.json +++ b/lib/locales/sk.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/sl.json b/lib/locales/sl.json index 7f06388..bb4c65d 100644 --- a/lib/locales/sl.json +++ b/lib/locales/sl.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/sq.json b/lib/locales/sq.json index 6277346..f4f30fe 100644 --- a/lib/locales/sq.json +++ b/lib/locales/sq.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/sr.json b/lib/locales/sr.json index 53f23a2..7755688 100644 --- a/lib/locales/sr.json +++ b/lib/locales/sr.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/sv.json b/lib/locales/sv.json index 0145206..8399753 100644 --- a/lib/locales/sv.json +++ b/lib/locales/sv.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "Två veckor", diff --git a/lib/locales/ta.json b/lib/locales/ta.json index d6e0c1d..58c4f51 100644 --- a/lib/locales/ta.json +++ b/lib/locales/ta.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/template.json b/lib/locales/template.json index cfaefff..ee38ca9 100644 --- a/lib/locales/template.json +++ b/lib/locales/template.json @@ -1,5 +1,10 @@ { "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", @@ -110,6 +115,9 @@ "ONETIME": "", "UPLOAD_DATE": "", "ORIGIN": "", + "DOWNLOAD_COUNT": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_IP": "", "ACTION": "", "DEL_LINK": "", "DEL_FILE_LINKS": "", diff --git a/lib/locales/th.json b/lib/locales/th.json index 6277346..f4f30fe 100644 --- a/lib/locales/th.json +++ b/lib/locales/th.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/tr.json b/lib/locales/tr.json index 239a432..c29255e 100644 --- a/lib/locales/tr.json +++ b/lib/locales/tr.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "İki hafta", diff --git a/lib/locales/uk.json b/lib/locales/uk.json index 6b9e17e..f609ac8 100644 --- a/lib/locales/uk.json +++ b/lib/locales/uk.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/vi.json b/lib/locales/vi.json index bcfad0a..4dfcf33 100644 --- a/lib/locales/vi.json +++ b/lib/locales/vi.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/zh.json b/lib/locales/zh.json index cf65cc5..43495b1 100644 --- a/lib/locales/zh.json +++ b/lib/locales/zh.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/locales/zh_TW.json b/lib/locales/zh_TW.json index a571dcb..2e8bbf7 100644 --- a/lib/locales/zh_TW.json +++ b/lib/locales/zh_TW.json @@ -1,5 +1,13 @@ { + "DOWNLOAD_IP": "", + "DOWNLOAD_DATE": "", + "DOWNLOAD_COUNT": "", "SODIUM_UNAVAILABLE": "", + "ADMIN_FOLDER_INFO": "", + "ADMIN_FILE_SELECT": "", + "INTERNAL_ERROR_FILE_NOT_EXIST": "", + "INTERNAL_ERROR_FP_OPEN_LOCAL": "", + "DESIGNED": "", "INSTALL_FILE_NOT_FOUND_TITLE": "", "INSTALL_FILE_NOT_FOUND_DESC": "", "2_W": "", diff --git a/lib/template/footer.php b/lib/template/footer.php index efe238f..637ce42 100644 --- a/lib/template/footer.php +++ b/lib/template/footer.php @@ -4,6 +4,7 @@ ' . t('JI_PROJECT') . '' . + '

' . t('DESIGNED') . ' ' . $cfg['contactperson'] . '

' . ' (AGPL-3.0)'; ?> diff --git a/script.php b/script.php index 8ebcce3..6ef117e 100644 --- a/script.php +++ b/script.php @@ -92,40 +92,11 @@ if (isset($_FILES['file']) && is_writable(VAR_FILES) exit; } - $time = time(); if (!isset($_POST['time']) || !$cfg['availabilities'][$_POST['time']]) { echo 'Error 4: The parameter time is invalid.'; exit; } else { - switch ($_POST['time']) { - case 'minute': - $time += JIRAFEAU_MINUTE; - break; - case 'hour': - $time += JIRAFEAU_HOUR; - break; - case 'day': - $time += JIRAFEAU_DAY; - break; - case 'week': - $time += JIRAFEAU_WEEK; - break; - case 'fortnight': - $time += JIRAFEAU_FORTNIGHT; - break; - case 'month': - $time += JIRAFEAU_MONTH; - break; - case 'quarter': - $time += JIRAFEAU_QUARTER; - break; - case 'year': - $time += JIRAFEAU_YEAR; - break; - default: - $time = JIRAFEAU_INFINITY; - break; - } + $time = jirafeau_datestr_to_int($_POST['time']); } // Check file size @@ -468,40 +439,11 @@ elseif (isset($_GET['init_async'])) { exit; } - $time = time(); if (!isset($_POST['time']) || !$cfg['availabilities'][$_POST['time']]) { echo 'Error 22'; exit; } else { - switch ($_POST['time']) { - case 'minute': - $time += JIRAFEAU_MINUTE; - break; - case 'hour': - $time += JIRAFEAU_HOUR; - break; - case 'day': - $time += JIRAFEAU_DAY; - break; - case 'week': - $time += JIRAFEAU_WEEK; - break; - case 'fortnight': - $time += JIRAFEAU_FORTNIGHT; - break; - case 'month': - $time += JIRAFEAU_MONTH; - break; - case 'quarter': - $time += JIRAFEAU_QUARTER; - break; - case 'year': - $time += JIRAFEAU_YEAR; - break; - default: - $time = JIRAFEAU_INFINITY; - break; - } + $time = jirafeau_datestr_to_int($_POST['time']); } if ($cfg['store_uploader_ip']) {