]> git.p6c8.net - jirafeau.git/blobdiff - admin.php
Fix tmp link name
[jirafeau.git] / admin.php
index e9e5342e20dd0a087c5630491529cbf839920790..5867961ee7041a30b64de7ffd4c58db883739d42 100755 (executable)
--- a/admin.php
+++ b/admin.php
@@ -107,6 +107,11 @@ elseif (!isset ($_SESSION['admin_auth']) || $_SESSION['admin_auth'] != true)
     exit;
 }
 
+/* Operations may take a long time.
+ * Be sure PHP's safe mode is off.
+ */
+ set_time_limit(0);
+
 /* Admin interface. */
 require (JIRAFEAU_ROOT . 'lib/template/header.php');
 ?><h2><?php echo t('Admin interface'); ?></h2><?php
@@ -128,6 +133,38 @@ require (JIRAFEAU_ROOT . 'lib/template/header.php');
             </td>
         </tr>
         </form>
+        <form action = "<?php echo basename(__FILE__); ?>" method = "post">
+        <tr>
+            <input type = "hidden" name = "action" value = "clean_async"/>
+            <td class = "info">
+                <?php echo t('Clean old unfinished transferts'); ?>
+            </td>
+            <td></td>
+            <td>
+                <input type = "submit" value = "<?php echo t('Clean'); ?>" />
+            </td>
+        </tr>
+        </form>
+       <?php
+        if ($cfg['enable_blocks'])
+        {
+        ?>
+        <form action = "<?php echo basename(__FILE__); ?>" method = "post">
+        <tr>
+            <input type = "hidden" name = "action" value = "clean_block"/>
+            <td class = "info">
+                <?php echo t('Clean unused blocks'); ?>
+            </td>
+            <td></td>
+            <td>
+                <input type = "submit" value = "<?php echo t('Clean'); ?>" />
+            </td>
+        </tr>
+        </form>
+        <?php
+        }
+        ?>
+
         <form action = "<?php echo basename(__FILE__); ?>" method = "post">
         <tr>
             <input type = "hidden" name = "action" value = "list"/>
@@ -201,6 +238,22 @@ if (isset ($_POST['action']))
         echo t('Number of cleaned files') . ' : ' . $total;
         echo '</p></div>';
     }
+    elseif (strcmp ($_POST['action'], 'clean_async') == 0)
+    {
+        $total = jirafeau_admin_clean_async ();
+        echo '<div class="message">' . NL;
+        echo '<p>';
+        echo t('Number of cleaned files') . ' : ' . $total;
+        echo '</p></div>';
+    }
+    elseif (strcmp ($_POST['action'], 'clean_block') == 0)
+    {
+        $total = jirafeau_admin_clean_block ();
+        echo '<div class="message">' . NL;
+        echo '<p>';
+        echo t('Number of cleaned files') . ' : ' . $total;
+        echo '</p></div>';
+    }
     elseif (strcmp ($_POST['action'], 'list') == 0)
     {
         jirafeau_admin_list ("", "", "");
@@ -219,7 +272,7 @@ if (isset ($_POST['action']))
     }
     elseif (strcmp ($_POST['action'], 'delete_link') == 0)
     {
-        jirafeau_delete ($_POST['link']);
+        jirafeau_delete_link ($_POST['link']);
         echo '<div class="message">' . NL;
         echo '<p>' . t('Link deleted') . '</p></div>';
     }
@@ -229,8 +282,21 @@ if (isset ($_POST['action']))
         echo '<div class="message">' . NL;
         echo '<p>' . t('Deleted links') . ' : ' . $count . '</p></div>';
     }
+    elseif (strcmp ($_POST['action'], 'download') == 0)
+    {
+        $l = jirafeau_get_link ($_POST['link']);
+        if (!count ($l))
+            return;
+        $p = s2p ($l['md5']);
+        header ('Content-Length: ' . $l['file_size']);
+        header ('Content-Type: ' . $l['mime_type']);
+        header ('Content-Disposition: attachment; filename="' .
+                $l['file_name'] . '"');
+        if (file_exists(VAR_FILES . $p . $l['md5']))
+            readfile (VAR_FILES . $p . $l['md5']);
+    }
 }
 
 require (JIRAFEAU_ROOT.'lib/template/footer.php');
 
-?>
\ No newline at end of file
+?>

patrick-canterino.de