Fixes #15 admins can now choose an availability duration

- Add 'year' in list of possible durations
- By default, 'year' and 'none' durations are disabled
This commit is contained in:
Jerome Jutteau 2015-03-11 22:16:07 +01:00
parent 00b364b18e
commit f58031f406
6 changed files with 61 additions and 11 deletions

View File

@ -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>

View 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;

View 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());

View 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.',

View 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
?>

View 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;