X-Git-Url: https://git.p6c8.net/jirafeau_project.git/blobdiff_plain/93d7dffa6e851ee8e2c1c0708c78caff3fa35dd7..3d007ac30c40c8262fa259bcc8e8a1cabba1d9ef:/index.php diff --git a/index.php b/index.php index 24565bd..435e059 100644 --- a/index.php +++ b/index.php @@ -1,9 +1,9 @@ <?php /* * Jirafeau, your web file repository - * Copyright (C) 2013 - * Jerome Jutteau <jerome@jutteau.fr> - * Jimmy Beauvois <jimmy.beauvois@gmail.com> + * Copyright (C) 2008 Julien "axolotl" BERNARD <axolotl@magieeternelle.org> + * Copyright (C) 2015 Jerome Jutteau <jerome@jutteau.fr> + * Copyright (C) 2024 Jirafeau project <https://gitlab.com/jirafeau> (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 @@ -25,7 +25,7 @@ require(JIRAFEAU_ROOT . 'lib/settings.php'); require(JIRAFEAU_ROOT . 'lib/functions.php'); require(JIRAFEAU_ROOT . 'lib/lang.php'); -if ($cfg['download_password_requirement'] === "generated"){ +if ($cfg['download_password_requirement'] === "generated") { $download_pass = jirafeau_gen_download_pass($cfg['download_password_gen_len'], $cfg['download_password_gen_chars']); } @@ -50,6 +50,7 @@ if (jirafeau_user_session_logged()) { // Second check: Challenge by IP NO PASSWORD elseif (true === jirafeau_challenge_upload_ip_without_password($cfg, get_ip_address($cfg))) { jirafeau_user_session_start(); + $_SESSION['user_auth_type'] = JIRAFEAU_USER_AUTH_BY_IP_NO_PASSWORD; } // Third check: Challenge by IP elseif (true === jirafeau_challenge_upload_ip($cfg, get_ip_address($cfg))) { @@ -59,6 +60,7 @@ elseif (true === jirafeau_challenge_upload_ip($cfg, get_ip_address($cfg))) { if (isset($_POST['upload_password'])) { if (jirafeau_challenge_upload_password($cfg, $_POST['upload_password'])) { jirafeau_user_session_start(); + $_SESSION['user_auth_type'] = JIRAFEAU_USER_AUTH_BY_PASSWORD; } else { jirafeau_session_end(); jirafeau_fatal_error(t('BAD_PSW'), $cfg); @@ -99,70 +101,8 @@ elseif (true === jirafeau_challenge_upload_ip($cfg, get_ip_address($cfg))) { } ?> -<div id="upload_finished"> - <p><?php echo t('FILE_UP') ?></p> - <div id="upload_finished_download_page"> - <p> - <a id="upload_link" href=""><?php echo t('DL_PAGE') ?></a> - <a id="upload_link_email" href=""><img id="upload_image_email"/></a> - </p><p> - <code id=upload_link_text></code> - <button id="upload_link_button">📋</button> - </p> - </div> - - <?php if ($cfg['download_password_requirement'] === "generated"){ - ?> - <div id="show_password"> - <p><?php echo t('PSW') ?></p> - - <div id="download_password"> - <p> - <?php echo '<input id="output_key" value="' . $download_pass . '"/>'?> - <button id="password_copy_button">📋</button> - </p> - </div> - </div> - <?php - }?> - - <?php if ($cfg['preview'] == true) { - ?> - <div id="upload_finished_preview"> - <p> - <a id="preview_link" href=""><?php echo t('VIEW_LINK') ?></a> - </p><p> - <code id=preview_link_text></code> - <button id="preview_link_button">📋</button> - </p> - </div> - <?php - } ?> - - <div id="upload_direct_download"> - <p> - <a id="direct_link" href=""><?php echo t('DIRECT_DL') ?></a> - </p><p> - <code id=direct_link_text></code> - <button id="direct_link_button">📋</button> - </p> - </div> - - <div id="upload_delete"> - <p> - <a id="delete_link" href=""><?php echo t('DELETE_LINK') ?></a> - </p><p> - <code id=delete_link_text></code> - <button id="delete_link_button">📋</button> - </p> - </div> - - <div id="upload_validity"> - <p><?php echo t('VALID_UNTIL'); ?>:</p> - <p id="date"></p> - </div> -</div> +<?php jirafeau_create_upload_finished_box($cfg['preview']); ?> <div id="uploading"> <p> @@ -190,7 +130,7 @@ elseif (true === jirafeau_challenge_upload_ip($cfg, get_ip_address($cfg))) { <input type="file" id="file_select" size="30" onchange="control_selected_file_size(<?php echo $cfg['maximal_upload_size'] ?>, '<?php if ($cfg['maximal_upload_size'] >= 1024) { - echo t('2_BIG') . ', ' . t('FILE_LIM') . " " . number_format($cfg['maximal_upload_size']/1024, 2) . " GB."; + echo t('2_BIG') . ', ' . t('FILE_LIM') . " " . number_format($cfg['maximal_upload_size'] / 1024, 2) . " GB."; } elseif ($cfg['maximal_upload_size'] > 0) { echo t('2_BIG') . ', ' . t('FILE_LIM') . " " . $cfg['maximal_upload_size'] . " MB."; } @@ -202,72 +142,32 @@ elseif (true === jirafeau_challenge_upload_ip($cfg, get_ip_address($cfg))) { <?php if ($cfg['one_time_download']) { echo '<tr><td>' . t('ONE_TIME_DL') . ':</td>'; - echo '<td><input type="checkbox" id="one_time_download" /></td></tr>'; - } - if ($cfg['download_password_requirement'] === 'generated'){ - echo '<input type="hidden" name="key" id="input_key" value="' . $download_pass .'"/>'; - }else{ - echo '<tr><td><label for="input_key">' . t('PSW') . ':' . '</label></td>'; - echo '<td><input type="password" name="key" id="input_key" autocomplete = "new-password"'; - if ($cfg['download_password_policy'] === 'regex'){ - echo ' pattern="' . substr($cfg['download_password_policy_regex'], 1, strlen($cfg['download_password_policy_regex']) - 2) . '"'; //remove php delimiters - } - if ($cfg['download_password_requirement'] === 'required'){ - echo ' required'; + echo '<td><input type="checkbox" id="one_time_download"'; + + if ($cfg['one_time_download_preselected']) { + echo ' checked'; } - echo '/></td></tr>'; - }?> + + echo ' /></td></tr>'; + } +if ($cfg['download_password_requirement'] === 'generated') { + echo '<input type="hidden" name="key" id="input_key" value="' . $download_pass .'"/>'; +} else { + echo '<tr><td><label for="input_key">' . t('PSW') . ':' . '</label></td>'; + echo '<td><input type="password" name="key" id="input_key" autocomplete = "new-password"'; + if ($cfg['download_password_policy'] === 'regex') { + echo ' pattern="' . substr($cfg['download_password_policy_regex'], 1, strlen($cfg['download_password_policy_regex']) - 2) . '"'; //remove php delimiters + } + if ($cfg['download_password_requirement'] === 'required') { + echo ' required'; + } + echo '/></td></tr>'; +}?> <tr> <td><label for="select_time"><?php echo t('TIME_LIM') . ':'; ?></label></td> - <td><select name="time" id="select_time"> - <?php -$expirationTimeOptions = array( - array( - 'value' => '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' - ) -); -foreach ($expirationTimeOptions as $expirationTimeOption) { - $selected = ($expirationTimeOption['value'] === $cfg['availability_default'])? 'selected="selected"' : ''; - if (true === $cfg['availabilities'][$expirationTimeOption['value']]) { - echo '<option value="' . $expirationTimeOption['value'] . '" ' . - $selected . '>' . t($expirationTimeOption['label']) . '</option>'; - } -} -?> - </select></td> + <td> + <?php jirafeau_create_selection_array($cfg); ?> + </td> </tr> <?php @@ -290,7 +190,7 @@ if ($cfg['maximal_upload_size'] >= 1024) { </div> </fieldset></form> <?php - if (jirafeau_user_session_logged()) { + if (jirafeau_user_session_logged() && $_SESSION['user_auth_type'] == JIRAFEAU_USER_AUTH_BY_PASSWORD) { ?> <form method="post" class="form logout"> <input type = "hidden" name = "action" value = "logout"/>