]> git.p6c8.net - jirafeau_mojo42.git/blobdiff - f.php
Fixes #7 Jirafeau can now limit file size
[jirafeau_mojo42.git] / f.php
diff --git a/f.php b/f.php
index 2a5a6dad35b68a786ff85540df7af799fc772e52..a5c6228a8bed197be0c3b75c05b72dd66e8bfb71 100644 (file)
--- a/f.php
+++ b/f.php
@@ -2,7 +2,7 @@
 /*
  *  Jirafeau, your web file repository
  *  Copyright (C) 2008  Julien "axolotl" BERNARD <axolotl@magieeternelle.org>
- *  Copyright (C) 2012  Jerome Jutteau <j.jutteau@gmail.com>
+ *  Copyright (C) 2015  Jerome Jutteau <j.jutteau@gmail.com>
  *
  *  This program is free software: you can redistribute it and/or modify
  *  it under the terms of the GNU Affero General Public License as
@@ -33,7 +33,9 @@ if (!isset ($_GET['h']) || empty ($_GET['h']))
 /* Operations may take a long time.
  * Be sure PHP's safe mode is off.
  */
-set_time_limit(0);
+@set_time_limit(0);
+/* Remove errors. */
+@error_reporting(0);
 
 $link_name = $_GET['h'];
 
@@ -63,13 +65,13 @@ $crypt_key = '';
 if (isset ($_GET['k']) && !empty ($_GET['k']))
     $crypt_key = $_GET['k'];
 
-$button_download = false;
-if (isset ($_GET['bd']) && !empty ($_GET['bd']))
-    $button_download = true;
+$do_download = false;
+if (isset ($_GET['d']) && !empty ($_GET['d']))
+    $do_download = true;
 
-$button_preview = false;
-if (isset ($_GET['bp']) && !empty ($_GET['bp']))
-    $button_preview = true;
+$do_preview = false;
+if (isset ($_GET['p']) && !empty ($_GET['p']))
+    $do_preview = true;
 
 $p = s2p ($link['md5']);
 if (!file_exists (VAR_FILES . $p . $link['md5']))
@@ -138,21 +140,21 @@ if (!empty ($link['key']))
             ?><input type="submit" id = "submit_download"  value="<?php echo t('Download'); ?>"
             onclick="document.getElementById('submit').action='
 <?php
-        echo $cfg['web_root'] . '/f.php?h=' . $link_name . '&amp;bd=1';
+        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'])
+        if ($cfg['download_page'] && $cfg['preview'] && jirafeau_is_viewable($link['mime_type']))
         {
             ?><input type="submit" id = "submit_preview"  value="<?php echo t('Preview'); ?>"
             onclick="document.getElementById('submit').action='
-<?php
-        echo $cfg['web_root'] . '/f.php?h=' . $link_name . '&amp;bp=1';
-        if (!empty($crypt_key))
-            echo '&amp;k=' . urlencode($crypt_key);
-?>';
-        document.getElementById('submit_preview').submit ();"/><?php
+            <?php
+            echo $cfg['web_root'] . '/f.php?h=' . $link_name . '&amp;p=1';
+            if (!empty($crypt_key))
+                echo '&amp;k=' . urlencode($crypt_key);
+            ?>';
+            document.getElementById('submit_preview').submit ();"/><?php
         }
         echo '</td></tr></table></fieldset></form></div>';
         require (JIRAFEAU_ROOT.'lib/template/footer.php');
@@ -174,7 +176,7 @@ if (!empty ($link['key']))
     }
 }
 
-if ($cfg['download_page'] && !$password_challenged && !$button_download && !$button_preview)
+if ($cfg['download_page'] && !$password_challenged && !$do_download && !$do_preview)
 {
         require (JIRAFEAU_ROOT.'lib/template/header.php');
         echo '<div>' .
@@ -192,18 +194,18 @@ if ($cfg['download_page'] && !$password_challenged && !$button_download && !$but
             ?></td></tr><tr><td><input type="submit" id = "submit_download"  value="<?php echo t('Download'); ?>"
             onclick="document.getElementById('submit').action='
 <?php
-        echo $cfg['web_root'] . '/f.php?h=' . $link_name . '&amp;bd=1';
+        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'])
+        if ($cfg['download_page'] && $cfg['preview'] && jirafeau_is_viewable($link['mime_type']))
         {
             ?><input type="submit" id = "submit_preview"  value="<?php echo t('Preview'); ?>"
             onclick="document.getElementById('submit').action='
 <?php
-        echo $cfg['web_root'] . '/f.php?h=' . $link_name . '&amp;bp=1';
+        echo $cfg['web_root'] . '/f.php?h=' . $link_name . '&amp;p=1';
         if (!empty($crypt_key))
             echo '&amp;k=' . urlencode($crypt_key);
 ?>';
@@ -217,11 +219,10 @@ if ($cfg['download_page'] && !$password_challenged && !$button_download && !$but
 
 header ('HTTP/1.0 200 OK');
 header ('Content-Length: ' . $link['file_size']);
-if (!jirafeau_is_viewable ($link['mime_type']) || !$cfg['preview'] || $button_download)
+if (!jirafeau_is_viewable ($link['mime_type']) || !$cfg['preview'] || $do_download)
     header ('Content-Disposition: attachment; filename="' .
         $link['file_name'] . '"');
-else
-    header ('Content-Type: ' . $link['mime_type']);
+header ('Content-Type: ' . $link['mime_type']);
 
 /* Read encrypted file. */
 if ($link['crypted'])

patrick-canterino.de