X-Git-Url: https://git.p6c8.net/jirafeau_mojo42.git/blobdiff_plain/65a2f5a4f5d109f6292dbcac49026fe21e98b571..e5cee2437ca82dfbe96fa696a4a775689ceae10f:/script.php diff --git a/script.php b/script.php index b9a6e92..c5adf95 100644 --- a/script.php +++ b/script.php @@ -55,6 +55,7 @@ if ($_SERVER['REQUEST_METHOD'] == "GET" && count ($_GET) == 0) <h2>Scripting interface</h2> <p>This interface permits to script your uploads and downloads.</p> <p>See <a href="https://gitlab.com/mojo42/Jirafeau/blob/master/script.php">source code</a> of this interface to get available calls :)</p> + <p>Alternatively, go to <a href="<?php echo $cfg['web_root'] . 'script.php?lang=bash'; ?>">this page</a> to download a bash script.</p> </div> <br /> <?php @@ -68,7 +69,7 @@ header('Content-Type: text; charset=utf-8'); check_errors ($cfg); if (has_error ()) { - echo 'Error'; + echo 'Error 1'; exit; } @@ -78,7 +79,7 @@ if (isset ($_FILES['file']) && is_writable (VAR_FILES) { if (!jirafeau_challenge_upload_ip ($cfg, get_ip_address($cfg))) { - echo 'Error'; + echo 'Error 2'; exit; } @@ -86,7 +87,7 @@ if (isset ($_FILES['file']) && is_writable (VAR_FILES) (!isset ($_POST['upload_password']) || !jirafeau_challenge_upload_password ($cfg, $_POST['upload_password']))) { - echo 'Error'; + echo 'Error 3'; exit; } @@ -97,7 +98,7 @@ if (isset ($_FILES['file']) && is_writable (VAR_FILES) $time = time (); if (!isset ($_POST['time']) || !$cfg['availabilities'][$_POST['time']]) { - echo 'Error'; + echo 'Error 4: The parameter time is invalid.'; exit; } else @@ -118,6 +119,9 @@ if (isset ($_FILES['file']) && is_writable (VAR_FILES) case 'month': $time += JIRAFEAU_MONTH; break; + case 'quarter': + $time += JIRAFEAU_QUARTER; + break; case 'year': $time += JIRAFEAU_YEAR; break; @@ -130,7 +134,7 @@ if (isset ($_FILES['file']) && is_writable (VAR_FILES) if ($cfg['maximal_upload_size'] > 0 && $_FILES['file']['size'] > $cfg['maximal_upload_size'] * 1024 * 1024) { - echo 'Error'; + echo 'Error 5: Your file exceeds the maximum authorized file size.'; exit; } @@ -138,10 +142,10 @@ if (isset ($_FILES['file']) && is_writable (VAR_FILES) isset ($_POST['one_time_download']), $key, $time, get_ip_address($cfg), $cfg['enable_crypt'], $cfg['link_name_length']); - + if (empty($res) || $res['error']['has_error']) { - echo 'Error'; + echo 'Error 6 ' . $res['error']['why']; exit; } /* Print direct link. */ @@ -162,17 +166,17 @@ elseif (isset ($_GET['h'])) $d = ''; if (isset ($_GET['d'])) $d = $_GET['d']; - + if (!preg_match ('/[0-9a-zA-Z_-]+$/', $link_name)) { - echo 'Error'; + echo 'Error 7'; exit; } - + $link = jirafeau_get_link ($link_name); if (count ($link) == 0) { - echo 'Error'; + echo 'Error 8'; exit; } if (strlen ($d) > 0 && $d == $link['link_code']) @@ -184,19 +188,19 @@ elseif (isset ($_GET['h'])) if ($link['time'] != JIRAFEAU_INFINITY && time () > $link['time']) { jirafeau_delete_link ($link_name); - echo 'Error'; + echo 'Error 9'; exit; } if (strlen ($link['key']) > 0 && md5 ($key) != $link['key']) { sleep (2); - echo 'Error'; + echo 'Error 10'; exit; } $p = s2p ($link['md5']); if (!file_exists (VAR_FILES . $p . $link['md5'])) { - echo 'Error'; + echo 'Error 11'; exit; } @@ -239,13 +243,13 @@ elseif (isset ($_GET['lang'])) ?> #!/bin/bash -# This script has been auto-generated by Jirafeau but you can still edit +# This script has been auto-generated by Jirafeau but you can still edit # options below. # 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, year or none. Or set JIRAFEAU_TIME. +time='<?php echo $cfg['availability_default']; ?>' # minute, hour, day, week, month, quarted, 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 @@ -296,7 +300,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, year, month or none" + echo " JIRAFEAU_TIME : minute, hour, day, week, quarter, year, month or none" echo " JIRAFEAU_ONE_TIME : set anything or set empty" echo " JIRAFEAU_CURL : path to your curl binary" @@ -330,8 +334,9 @@ if [ "$1" == "send" ]; then -F "file=@$2" \ $url) - if [[ "$res" == "Error" ]]; then + if [[ "$res" == Error* ]]; then echo "Error while uploading." + echo $res exit fi @@ -348,7 +353,11 @@ if [ "$1" == "send" ]; then fi cnt=$(( cnt + 1 )) done) + echo "Download link:" echo "${url}?h=$code" + echo "Direct download link:" + echo "${url}?h=$code&d=1" + echo "Delete link:" echo "${url}?h=$code&d=$del_code" elif [ "$1" == "get" ]; then if [ -z "$password" ]; then @@ -363,7 +372,7 @@ fi } else { - echo 'Error'; + echo 'Error 12'; exit; } } @@ -373,7 +382,7 @@ elseif (isset ($_GET['alias_create'])) $ip = get_ip_address($cfg); if (!jirafeau_challenge_upload_ip ($cfg, $ip)) { - echo 'Error'; + echo 'Error 13'; exit; } @@ -381,7 +390,7 @@ elseif (isset ($_GET['alias_create'])) (!isset ($_POST['upload_password']) || !jirafeau_challenge_upload_password ($cfg, $_POST['upload_password']))) { - echo 'Error'; + echo 'Error 14'; exit; } @@ -389,7 +398,7 @@ elseif (isset ($_GET['alias_create'])) !isset ($_POST['destination']) || !isset ($_POST['password'])) { - echo 'Error'; + echo 'Error 15'; exit; } @@ -403,7 +412,7 @@ elseif (isset ($_GET['alias_get'])) { if (!isset ($_POST['alias'])) { - echo 'Error'; + echo 'Error 16'; exit; } @@ -416,7 +425,7 @@ elseif (isset ($_GET['alias_update'])) !isset ($_POST['destination']) || !isset ($_POST['password'])) { - echo 'Error'; + echo 'Error 17'; exit; } @@ -436,7 +445,7 @@ elseif (isset ($_GET['alias_delete'])) if (!isset ($_POST['alias']) || !isset ($_POST['password'])) { - echo 'Error'; + echo 'Error 18'; exit; } @@ -448,7 +457,7 @@ elseif (isset ($_GET['init_async'])) { if (!jirafeau_challenge_upload_ip ($cfg, get_ip_address($cfg))) { - echo 'Error'; + echo 'Error 19'; exit; } @@ -456,20 +465,20 @@ elseif (isset ($_GET['init_async'])) (!isset ($_POST['upload_password']) || !jirafeau_challenge_upload_password ($cfg, $_POST['upload_password']))) { - echo 'Error'; + echo 'Error 20'; exit; } if (!isset ($_POST['filename'])) { - echo 'Error'; + echo 'Error 21'; exit; } $type = ''; if (isset ($_POST['type'])) $type = $_POST['type']; - + $key = ''; if (isset ($_POST['key'])) $key = $_POST['key']; @@ -477,7 +486,7 @@ elseif (isset ($_GET['init_async'])) $time = time (); if (!isset ($_POST['time']) || !$cfg['availabilities'][$_POST['time']]) { - echo 'Error'; + echo 'Error 22'; exit; } else @@ -498,6 +507,9 @@ elseif (isset ($_GET['init_async'])) case 'month': $time += JIRAFEAU_MONTH; break; + case 'quarter': + $time += JIRAFEAU_QUARTER; + break; case 'year': $time += JIRAFEAU_YEAR; break; @@ -518,7 +530,7 @@ elseif (isset ($_GET['push_async'])) if ((!isset ($_POST['ref'])) || (!isset ($_FILES['data'])) || (!isset ($_POST['code']))) - echo 'Error'; + echo 'Error 23'; else { echo jirafeau_async_push ($_POST['ref'], @@ -532,11 +544,11 @@ elseif (isset ($_GET['end_async'])) { if (!isset ($_POST['ref']) || !isset ($_POST['code'])) - echo 'Error'; + echo 'Error 24'; else echo jirafeau_async_end ($_POST['ref'], $_POST['code'], $cfg['enable_crypt'], $cfg['link_name_length']); } else - echo 'Error'; + echo 'Error 25'; exit; ?>