]> git.p6c8.net - jirafeau.git/commitdiff
Fixes #15 admins can now choose an availability duration
authorJerome Jutteau <mojo@couak.net>
Wed, 11 Mar 2015 21:16:07 +0000 (22:16 +0100)
committerJerome Jutteau <mojo@couak.net>
Wed, 11 Mar 2015 21:16:07 +0000 (22:16 +0100)
- Add 'year' in list of possible durations
- By default, 'year' and 'none' durations are disabled

index.php
lib/config.original.php
lib/functions.js
lib/lang/fr.php
lib/settings.php
script.php

index dd1a8bcafd22ad1c61505ac6b8d22d143b752cf9..8c2898aad67bcdebe4c87dec5bbbb8c1c6a53386 100644 (file)
--- a/index.php
+++ b/index.php
@@ -167,12 +167,27 @@ if (jirafeau_has_upload_password ($cfg))
         <tr>
         <td><label for="select_time"><?php echo t('Time limit') . ':'; ?></label></td>
         <td><select name="time" id="select_time">
-        <option value="none"><?php echo t('None'); ?></option>
+        <?php if ($cfg['availabilities']['minute']) { ?>
         <option value = "minute"><?php echo t('One minute'); ?></option>
+        <?php } ?>
+        <?php if ($cfg['availabilities']['hour']) { ?>
         <option value = "hour"><?php echo t('One hour'); ?></option>
+        <?php } ?>
+        <?php if ($cfg['availabilities']['day']) { ?>
         <option value = "day"><?php echo t('One day'); ?></option>
+        <?php } ?>
+        <?php if ($cfg['availabilities']['week']) { ?>
         <option value = "week"><?php echo t('One week'); ?></option>
+        <?php } ?>
+        <?php if ($cfg['availabilities']['month']) { ?>
         <option value = "month"><?php echo t('One month');?></option>
+        <?php } ?>
+        <?php if ($cfg['availabilities']['year']) { ?>
+        <option value = "year"><?php echo t('One year');?></option>
+        <?php } ?>
+        <?php if ($cfg['availabilities']['none']) { ?>
+        <option value="none"><?php echo t('None'); ?></option>
+        <?php } ?>
         </select></td>
         </tr>
                <p id="max_file_size" class="config"></p>
index 73238146ed0223a0c1a4db25728ad8df98e11842..fa0f03468baa37c6f8d645cbf1c4937939fea8b6 100644 (file)
@@ -63,6 +63,23 @@ $cfg['admin_password'] = '';
  * If admin_password parameter is also set, admin_password is ignored.
  */
 $cfg['admin_http_auth_user'] = '';
+/* Select different options for availability of uploaded files.
+ * Possible values in array:
+ * 'minute': file is available for one minute
+ * 'hour': file available for one hour
+ * 'day': file available for one day
+ * 'week': file available for one week
+ * 'month': file is available for one month
+ * 'year': file available for one year
+ * 'none': unlimited availability
+ */
+$cfg['availabilities'] = array ('minute' => true,
+                                'hour' => true,
+                                'day' => true,
+                                'week' => true,
+                                'month' => true,
+                                'year' => false,
+                                'none' => false);
 /* Installation is done ? */
 $cfg['installation_done'] = false;
 
index ccd13d353546413d673a94da84e90c231ac16317..e3800158e51241f291d2cb7d678599e6a4e885f2 100644 (file)
@@ -158,6 +158,8 @@ function classic_upload (url, file, time, password, one_time, upload_password)
                     d.setSeconds (d.getSeconds() + 604800);
                 else if (time == 'month')
                     d.setSeconds (d.getSeconds() + 2419200);
+                else if (time == 'year')
+                    d.setSeconds (d.getSeconds() + 29030400);
                 else
                     return;
                 show_link (url, res[0], res[1], res[2], d.toString());
@@ -316,6 +318,8 @@ function async_upload_end (code)
                     d.setSeconds (d.getSeconds() + 604800);
                 else if (async_global_time == 'month')
                     d.setSeconds (d.getSeconds() + 2419200);
+                else if (async_global_time == 'year')
+                    d.setSeconds (d.getSeconds() + 29030400);
                 else
                     return;
                 show_link (async_global_url, res[0], res[1], res[2], d.toString());
index 4efcccb12c7de22cb4551c82e8cc6b603c647b89..6b1472bfabac383782fac4be803c0757712fb9b8 100644 (file)
@@ -31,12 +31,13 @@ $tr = array (
              'Maximum file size' => 'Taille maximale',
              'powered by Open-Source project Jirafeau' => 'Propulsé par le projet Open-Source Jirafeau',
              'Jirafeau Project' => 'Projet Jirafeau',
-             'None' => 'Aucune',
              'One minute' => 'Une minute',
              'One hour' => 'Une heure',
              'One day' => 'Une journée',
              'One week' => 'Une semaine',
              'One month' => 'Un mois',
+             'One year' => 'Une année',
+             'None' => 'Aucune',
              'Upload password' => 'Mot de passe',
              'The file directory is not writable' => 'Le dossier \'file\' ne peut être écrit.',
              'The link directory is not writable' => 'Le dossier \'link\' ne peut être écrit.',
index 74bf771f3dd4fbcf939fc7797af11a97799c6e5b..46f7c51cd1504b96e77a12fd705cc7534e7850c0 100644 (file)
@@ -35,5 +35,6 @@ define ('JIRAFEAU_HOUR', 3600); // JIRAFEAU_MINUTE * 60
 define ('JIRAFEAU_DAY', 86400); // JIRAFEAU_HOUR * 24
 define ('JIRAFEAU_WEEK', 604800); // JIRAFEAU_DAY * 7
 define ('JIRAFEAU_MONTH', 2419200); // JIRAFEAU_WEEK * 4
+define ('JIRAFEAU_MONTH', 29030400); // JIRAFEAU_MONTH * 12
 
 ?>
index 7f802097b74b3c32fdccf17716cdf0eba8a65174..a3568ee961deebd0755b8df424bb265e9723c065 100644 (file)
@@ -89,7 +89,7 @@ if ($_SERVER['REQUEST_METHOD'] == "GET" && count ($_GET) == 0)
     echo '<br />';
     echo t('Parameters') . ':<br />';
     echo "<b>file=</b>C:\\your\\file\\path<i> (" . t('Required') . ")</i> <br />";
-    echo "<b>time=</b>[minute|hour|day|week|month|none]<i> (" . t('Optional') . ', '. t('default: none') . ")</i> <br />";
+    echo "<b>time=</b>[minute|hour|day|week|month|year|none]<i> (" . t('Optional') . ', '. t('default: none') . ")</i> <br />";
     echo "<b>password=</b>your_password<i> (" . t('Optional') . ")</i> <br />";
     echo "<b>one_time_download=</b>1<i> (" . t('Optional') . ")</i> <br />";
     echo "<b>upload_password=</b>your_upload_password<i> (" . t('Optional') . ")</i> <br />";
@@ -155,7 +155,7 @@ if ($_SERVER['REQUEST_METHOD'] == "GET" && count ($_GET) == 0)
     echo t('Parameters') . ':<br />';
     echo "<b>filename=</b>file_name.ext<i> (" . t('Required') . ")</i> <br />";
     echo "<b>type=</b>MIME_TYPE<i> (" . t('Optional') . ")</i> <br />";
-    echo "<b>time=</b>[minute|hour|day|week|month|none]<i> (" . t('Optional') . ', '. t('default: none') . ")</i> <br />";
+    echo "<b>time=</b>[minute|hour|day|week|month|year|none]<i> (" . t('Optional') . ', '. t('default: none') . ")</i> <br />";
     echo "<b>password=</b>your_password<i> (" . t('Optional') . ")</i> <br />";
     echo "<b>one_time_download=</b>1<i> (" . t('Optional') . ")</i> <br />";
     echo "<b>upload_password=</b>your_upload_password<i> (" . t('Optional') . ")</i> <br />";
@@ -218,8 +218,11 @@ if (isset ($_FILES['file']) && is_writable (VAR_FILES)
         $key = $_POST['key'];
 
     $time = time ();
-    if (!isset ($_POST['time']))
-        $time = JIRAFEAU_INFINITY;
+    if (!isset ($_POST['time']) || !$cfg['availabilities'][$_POST['time']])
+    {
+        echo "Error";
+        exit;
+    }
     else
         switch ($_POST['time'])
         {
@@ -238,7 +241,10 @@ if (isset ($_FILES['file']) && is_writable (VAR_FILES)
             case 'month':
                 $time += JIRAFEAU_MONTH;
                 break;
-            default:
+            case 'year':
+                $time += JIRAFEAU_YEAR;
+                break;
+           default:
                 $time = JIRAFEAU_INFINITY;
                 break;
         }
@@ -348,7 +354,7 @@ elseif (isset ($_GET['lang']))
 # Config
 proxy='' # ex: proxy='proxysever.test.com:3128' or set JIRAFEAU_PROXY global variable
 url='<?php echo $cfg['web_root'] . 'script.php'; ?>' # or set JIRAFEAU_URL ex: url='http://mysite/jirafeau/script.php'
-time='none' # minute, hour, day, week, month or none. Or set JIRAFEAU_TIME.
+time='none' # minute, hour, day, week, month, year or none. Or set JIRAFEAU_TIME.
 one_time='' # ex: one_time="1" or set JIRAFEAU_ONE_TIME.
 curl='' # curl path to download or set JIRAFEAU_CURL_PATH.
 # End of config
@@ -399,7 +405,7 @@ if [ -z "$2" ]; then
     echo "Global variables to export:"
     echo "    JIRAFEAU_PROXY : example: proxysever.test.com:3128"
     echo "    JIRAFEAU_URL : example: http://mysite/jirafeau/script.php"
-    echo "    JIRAFEAU_TIME : minute, hour, day, week, month or none"
+    echo "    JIRAFEAU_TIME : minute, hour, day, week, year, month or none"
     echo "    JIRAFEAU_ONE_TIME : set anything or set empty"
     echo "    JIRAFEAU_CURL : path to your curl binary"
 
@@ -496,8 +502,11 @@ elseif (isset ($_GET['init_async']))
         $key = $_POST['key'];
 
     $time = time ();
-    if (!isset ($_POST['time']))
-        $time = JIRAFEAU_INFINITY;
+    if (!isset ($_POST['time']) || !$cfg['availabilities'][$_POST['time']])
+    {
+        echo "Error";
+        exit;
+    }
     else
         switch ($_POST['time'])
         {
@@ -516,6 +525,9 @@ elseif (isset ($_GET['init_async']))
             case 'month':
                 $time += JIRAFEAU_MONTH;
                 break;
+            case 'year':
+                $time += JIRAFEAU_YEAR;
+                break;
             default:
                 $time = JIRAFEAU_INFINITY;
                 break;

patrick-canterino.de