]> git.p6c8.net - jirafeau.git/blobdiff - admin.php
Closes #4 Remove block feature
[jirafeau.git] / admin.php
old mode 100755 (executable)
new mode 100644 (file)
index e9e5342..a91d529
--- a/admin.php
+++ b/admin.php
@@ -19,7 +19,7 @@
  
 define ('JIRAFEAU_ROOT', dirname (__FILE__) . '/');
 
-require (JIRAFEAU_ROOT . 'lib/config.php');
+require (JIRAFEAU_ROOT . 'lib/config.original.php');
 require (JIRAFEAU_ROOT . 'lib/settings.php');
 require (JIRAFEAU_ROOT . 'lib/functions.php');
 require (JIRAFEAU_ROOT . 'lib/lang.php');
@@ -32,19 +32,8 @@ if (file_exists (JIRAFEAU_ROOT . 'install.php')
     exit;
 }
 
-/* Check if the install.php script is still in the directory. */
-if (file_exists (JIRAFEAU_ROOT . 'install.php'))
-{
-    require (JIRAFEAU_ROOT . 'lib/template/header.php');
-    echo '<div class="error"><p>'.
-         t('Installer script still present') .
-         '</p></div>';
-    require (JIRAFEAU_ROOT.'lib/template/footer.php');
-    exit;
-}
-
 /* Disable admin interface if we have a empty admin password. */
-if (!$cfg['admin_password'])
+if (empty($cfg['admin_password']))
 {
     require (JIRAFEAU_ROOT . 'lib/template/header.php');
     echo '<div class="error"><p>'.
@@ -107,6 +96,13 @@ 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);
+/* Remove errors. */
+@error_reporting(0);
+
 /* Admin interface. */
 require (JIRAFEAU_ROOT . 'lib/template/header.php');
 ?><h2><?php echo t('Admin interface'); ?></h2><?php
@@ -129,6 +125,18 @@ require (JIRAFEAU_ROOT . 'lib/template/header.php');
         </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>
+        <form action = "<?php echo basename(__FILE__); ?>" method = "post">
         <tr>
             <input type = "hidden" name = "action" value = "list"/>
             <td class = "info">
@@ -201,6 +209,14 @@ 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'], 'list') == 0)
     {
         jirafeau_admin_list ("", "", "");
@@ -219,7 +235,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 +245,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