exit;
}
+/* Operations may take a long time.
+ * Be sure PHP's safe mode is off.
+ */
+ set_time_limit(0);
+
$link_name = $_GET['h'];
-if (!preg_match ('/[0-9a-f]{32}$/', $link_name))
+if (!preg_match ('/[0-9a-zA-Z_-]{22}$/', $link_name))
{
require (JIRAFEAU_ROOT.'lib/template/header.php');
echo '<div class="error"><p>' . t('Sorry, the requested file is not found') . '</p></div>';
if (!isset ($_POST['key']))
{
require (JIRAFEAU_ROOT.'lib/template/header.php');
- echo '<div id = "upload">' .
+ echo '<div>' .
'<form action = "' . $_SERVER['REQUEST_URI'] . '" ' .
'method = "post" id = "submit">'; ?>
<input type = "hidden" name = "jirafeau" value = "<?php echo JIRAFEAU_VERSION ?>"/><?php
if ($cfg['download_page'] && !$password_challenged && !$button_download && !$button_preview)
{
require (JIRAFEAU_ROOT.'lib/template/header.php');
- echo '<div id = "upload">' .
+ echo '<div>' .
'<form action = "' . $_SERVER['REQUEST_URI'] . '" ' .
'method = "post" id = "submit">'; ?>
<input type = "hidden" name = "jirafeau" value = "<?php echo JIRAFEAU_VERSION ?>"/><?php
exit;
}
+header ('HTTP/1.0 200 OK');
header ('Content-Length: ' . $link['file_size']);
-header ('Content-Type: ' . $link['mime_type']);
if (!jirafeau_is_viewable ($link['mime_type']) || !$cfg['preview'] || $button_download)
-{
header ('Content-Disposition: attachment; filename="' .
$link['file_name'] . '"');
+else
+ header ('Content-Type: ' . $link['mime_type']);
+
+/* Read file */
+$r = fopen (VAR_FILES . $p . $link['md5'], 'r');
+while (!feof ($r))
+{
+ print fread ($r, 1024);
+ ob_flush();
}
-readfile (VAR_FILES . $p . $link['md5']);
+fclose ($r);
+
+//readfile (VAR_FILES . $p . $link['md5']);
if ($link['onetime'] == 'O')
jirafeau_delete_link ($link_name);