<?php
/*
* Jirafeau, your web file repository
- * Copyright (C) 2015 Jerome Jutteau <j.jutteau@gmail.com>
+ * Copyright (C) 2015 Jerome Jutteau <jerome@jutteau.fr>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
-/*
- * This file permits to easyly script file sending, receiving, deleting, ...
- * If you don't want this feature, you can simply delete this file from your
- * web directory.
- */
+/* This file offer a kind of API for jirafeau. */
+
define('JIRAFEAU_ROOT', dirname(__FILE__) . '/');
require(JIRAFEAU_ROOT . 'lib/settings.php');
* Be sure PHP's safe mode is off.
*/
@set_time_limit(0);
-/* Remove errors. */
-@error_reporting(0);
if ($_SERVER['REQUEST_METHOD'] == "GET" && count($_GET) == 0) {
require(JIRAFEAU_ROOT . 'lib/template/header.php');
/* Upload file */
if (isset($_FILES['file']) && is_writable(VAR_FILES)
&& is_writable(VAR_LINKS)) {
- if (isset ($_POST['upload_password'])) {
+ if (isset($_POST['upload_password'])) {
if (!jirafeau_challenge_upload($cfg, get_ip_address($cfg), $_POST['upload_password'])) {
echo 'Error 3: Invalid password';
exit;
exit;
}
- $res = jirafeau_upload($_FILES['file'],
- isset($_POST['one_time_download']),
- $key, $time, get_ip_address($cfg),
- $cfg['enable_crypt'], $cfg['link_name_length'],
- $cfg['file_hash']);
+ if ($cfg['store_uploader_ip']) {
+ $ip = get_ip_address($cfg);
+ } else {
+ $ip = "";
+ }
+
+ $res = jirafeau_upload(
+ $_FILES['file'],
+ isset($_POST['one_time_download']),
+ $key,
+ $time,
+ $ip,
+ $cfg['enable_crypt'],
+ $cfg['link_name_length'],
+ $cfg['file_hash']
+ );
if (empty($res) || $res['error']['has_error']) {
echo 'Error 6 ' . $res['error']['why'];
$r = fopen(VAR_FILES . $p . $link['hash'], 'r');
while (!feof($r)) {
print fread($r, 1024);
- ob_flush();
}
fclose($r);
options="$options -F one_time_download=1"
fi
-f [ -n "$upload_password" ]; then
+if [ -n "$upload_password" ]; then
options="$options -F upload_password=$upload_password"
fi
$curl $proxy "$2"
fi
<?php
-
} else {
echo 'Error 12';
exit;
}
/* Initialize an asynchronous upload. */
elseif (isset($_GET['init_async'])) {
- if (isset($_POST['upload_password'])){
+ if (isset($_POST['upload_password'])) {
if (!jirafeau_challenge_upload($cfg, get_ip_address($cfg), $_POST['upload_password'])) {
echo 'Error 20: Invalid password';
exit;
break;
}
}
- echo jirafeau_async_init($_POST['filename'],
- $type,
- isset($_POST['one_time_download']),
- $key,
- $time,
- get_ip_address($cfg));
+
+ if ($cfg['store_uploader_ip']) {
+ $ip = get_ip_address($cfg);
+ } else {
+ $ip = "";
+ }
+
+ echo jirafeau_async_init(
+ $_POST['filename'],
+ $type,
+ isset($_POST['one_time_download']),
+ $key,
+ $time,
+ $ip
+ );
}
/* Continue an asynchronous upload. */
elseif (isset($_GET['push_async'])) {
|| (!isset($_POST['code']))) {
echo 'Error 23';
} else {
- echo jirafeau_async_push($_POST['ref'],
- $_FILES['data'],
- $_POST['code'],
- $cfg['maximal_upload_size']);
+ echo jirafeau_async_push(
+ $_POST['ref'],
+ $_FILES['data'],
+ $_POST['code'],
+ $cfg['maximal_upload_size']
+ );
}
}
/* Finalize an asynchronous upload. */