]> git.p6c8.net - jirafeau.git/blobdiff - f.php
Escape filenames to not break HTML views
[jirafeau.git] / f.php
diff --git a/f.php b/f.php
index 9bbe4d9abddf57db07a5577b92cb8ff1ba72bad8..75d77d768a5f9fafc98eec91db189067076a8a85 100644 (file)
--- a/f.php
+++ b/f.php
@@ -135,17 +135,24 @@ if (!empty ($link['key']))
              '</td></tr>' .
              '<tr><td>' .
              t('By using our services, you accept our'). ' <a href="' . $cfg['web_root'] . '/tos.php' . '">' . t('Term Of Service') . '</a>' .
-             '</td></tr>' .
-             '<tr><td>';
-            ?><input type="submit" id = "submit_download"  value="<?php echo t('Download'); ?>"
-            onclick="document.getElementById('submit_post').action='
+             '</td></tr>';
+
+        if ($link['onetime'] == 'O')
+        {
+            echo '<tr><td id="self_destruct">' .
+                 t('Warning, this file will self-destruct after being read') .
+                 '</td></tr>';
+        }
+
+        ?><tr><td><input type="submit" id = "submit_download"  value="<?php echo t('Download'); ?>"
+        onclick="document.getElementById('submit_post').action='
 <?php
         echo $cfg['web_root'] . '/f.php?h=' . $link_name . '&amp;d=1';
         if (!empty($crypt_key))
             echo '&amp;k=' . urlencode($crypt_key);
 ?>';
         document.getElementById('submit_download').submit ();"/><?php
-        if ($cfg['download_page'] && $cfg['preview'] && jirafeau_is_viewable($link['mime_type']))
+        if ($cfg['preview'] && jirafeau_is_viewable($link['mime_type']))
         {
             ?><input type="submit" id = "submit_preview"  value="<?php echo t('Preview'); ?>"
             onclick="document.getElementById('submit_post').action='
@@ -166,7 +173,6 @@ if (!empty ($link['key']))
             $password_challenged = true;
        else
         {
-            header ("Access denied");
             require (JIRAFEAU_ROOT.'lib/template/header.php');
             echo '<div class="error"><p>' . t('Access denied') .
             '</p></div>';
@@ -176,7 +182,7 @@ if (!empty ($link['key']))
     }
 }
 
-if ($cfg['download_page'] && !$password_challenged && !$do_download && !$do_preview)
+if (!$password_challenged && !$do_download && !$do_preview)
 {
         require (JIRAFEAU_ROOT.'lib/template/header.php');
         echo '<div>' .
@@ -185,22 +191,32 @@ if ($cfg['download_page'] && !$password_challenged && !$do_download && !$do_prev
         echo '" ' .
              'method = "post" id = "submit_post">'; ?>
              <input type = "hidden" name = "jirafeau" value = "<?php echo JIRAFEAU_VERSION ?>"/><?php
-        echo '<fieldset><legend>' . $link['file_name'] . '</legend><table>' .
+        echo '<fieldset><legend>' . htmlspecialchars($link['file_name']) . '</legend><table>' .
              '<tr><td>' .
-             t('You are about to download') . ' "' . $link['file_name'] . '" (' . jirafeau_human_size($link['file_size']) . ')' .
+             t('You are about to download') . ' "' . htmlspecialchars($link['file_name']) . '" (' . jirafeau_human_size($link['file_size']) . ')' .
              '</td></tr>' .
              '<tr><td>' .
-             t('By using our services, you accept our'). ' <a href="' . $cfg['web_root'] . '/tos.php' . '">' . t('Term Of Service') . '</a>';
-            ?></td></tr><tr><td><input type="submit" id = "submit_download"  value="<?php echo t('Download'); ?>"
-            onclick="document.getElementById('submit_post').action='
+             t('By using our services, you accept our'). ' <a href="' . $cfg['web_root'] . '/tos.php' . '">' . t('Term Of Service') . '</a>' .
+             '</td></tr>';
+
+        if ($link['onetime'] == 'O')
+        {
+            echo '<tr><td id="self_destruct">' .
+                 t('Warning, this file will self-destruct after being read') .
+                 '</td></tr>';
+        }
+
+        ?>
+        <tr><td><input type="submit" id = "submit_download"  value="<?php echo t('Download'); ?>"
+        onclick="document.getElementById('submit_post').action='
 <?php
         echo $cfg['web_root'] . '/f.php?h=' . $link_name . '&amp;d=1';
         if (!empty($crypt_key))
             echo '&amp;k=' . urlencode($crypt_key);
 ?>';
-        document.getElementById('submit_download').submit ();"/><?php
+        document.getElementById('submit_post').submit ();"/><?php
 
-        if ($cfg['download_page'] && $cfg['preview'] && jirafeau_is_viewable($link['mime_type']))
+        if ($cfg['preview'] && jirafeau_is_viewable($link['mime_type']))
         {
             ?><input type="submit" id = "submit_preview"  value="<?php echo t('Preview'); ?>"
             onclick="document.getElementById('submit_post').action='
@@ -209,7 +225,7 @@ if ($cfg['download_page'] && !$password_challenged && !$do_download && !$do_prev
         if (!empty($crypt_key))
             echo '&amp;k=' . urlencode($crypt_key);
 ?>';
-        document.getElementById('submit_preview').submit ();"/><?php
+        document.getElementById('submit_post').submit ();"/><?php
         }
         echo '</td></tr>';
         echo '</table></fieldset></form></div>';
@@ -224,6 +240,7 @@ if (!jirafeau_is_viewable ($link['mime_type']) || !$cfg['preview'] || $do_downlo
 else
     header ('Content-Disposition: filename="' . $link['file_name'] . '"');
 header ('Content-Type: ' . $link['mime_type']);
+header ('Content-MD5: ' . hex_to_base64($link['md5']));
 
 /* Read encrypted file. */
 if ($link['crypted'])

patrick-canterino.de