]> git.p6c8.net - jirafeau_project.git/blobdiff - file.php
add delete link added to each upload
[jirafeau_project.git] / file.php
index 31c16da33b85d7d8a1c3c8381612e84cc3df1d1a..7916fb81f44dc9a0aa8041117b4eba3e4b6c4188 100644 (file)
--- a/file.php
+++ b/file.php
@@ -27,6 +27,10 @@ require(JIRAFEAU_ROOT . 'lib/functions.php');
 if(isset($_GET['h']) && !empty($_GET['h'])) {
   $link_name = $_GET['h'];
 
+  $delete_code = '';
+  if(isset($_GET['d']) && !empty($_GET['d']))
+    $delete_code = $_GET['d'];
+
   if(!ereg('[0-9a-f]{32}$', $link_name)) {
     header("HTTP/1.0 404 Not Found");
 
@@ -46,50 +50,35 @@ if(isset($_GET['h']) && !empty($_GET['h'])) {
     $time = trim($content[4]);
     $md5 = trim($content[5]);
     $onetime = trim($content[6]);
-  
-  if(!file_exists(VAR_FILES . $md5)) {
-    if (file_exists(VAR_FILES . $md5 . '_count')) {
-      unlink(VAR_FILES . $md5 . '_count');
-    }
-    unlink($link_file);
-    require(JIRAFEAU_ROOT . 'lib/template/header.php');
-    echo '<div class="error"><p>' . _('File not available.') . '</p></div>';
-    require(JIRAFEAU_ROOT . 'lib/template/footer.php');
-    exit;
-  }
+    $link_code = trim($content[9]);
 
-  $counter = 1;
-  if (file_exists(VAR_FILES . $md5 . '_count')) {
-    $content = file(VAR_FILES . $md5 . '_count');
-    $counter = trim($content[0], NL);
-  }
 
-  if($time != JIRAFEAU_INFINITY) {
-    if(time() > $time) {
-      unlink($link_file);
+  
+    if(!file_exists(VAR_FILES . $md5)) {
+      jirafeau_delete($link_name);
+      require(JIRAFEAU_ROOT . 'lib/template/header.php');
+      echo '<div class="error"><p>' . _('File not available.') . '</p></div>';
+      require(JIRAFEAU_ROOT . 'lib/template/footer.php');
+      exit;
+    }
 
-      $counter--;
-      if ($counter >= 1) {
-        $handle = fopen(VAR_FILES . $md5 . '_count', 'w');
-        fwrite($handle, $counter);
-        fclose($handle);
-      }
-      elseif ($counter == 0) {
-        if (file_exists(VAR_FILES . $md5 . '_count')) {
-          unlink(VAR_FILES . $md5 . '_count');
-        }
-        $new_name = jirafeau_detect_collision($md5 . '_' . $file_name, VAR_TRASH);
-        rename(VAR_FILES . $md5, VAR_TRASH . $new_name);
-      }
+    if(!empty($delete_code) && $delete_code == $link_code) {
+      jirafeau_delete($link_name);
+      require(JIRAFEAU_ROOT . 'lib/template/header.php');
+      echo '<div class="message"><p>' . _('File has been deleted.') . '</p></div>';
+      require(JIRAFEAU_ROOT . 'lib/template/footer.php');
+      exit;
+    }
 
+    if($time != JIRAFEAU_INFINITY && time() > $time) {
+      jirafeau_delete($link_name);
       require(JIRAFEAU_ROOT . 'lib/template/header.php');
       echo '<div class="error"><p>' . _('The time limit of this file has expired. It has been deleted.') . '</p></div>';
       require(JIRAFEAU_ROOT . 'lib/template/footer.php');
       exit;
     }
-  }
 
-  if(!empty($key)) {
+    if(!empty($key)) {
     if(!isset($_POST['key'])) {
       require(JIRAFEAU_ROOT . 'lib/template/header.php');
 ?>
@@ -132,21 +121,7 @@ if(isset($_GET['h']) && !empty($_GET['h'])) {
     readfile(VAR_FILES . $md5);
 
     if($onetime == 'O') {
-      unlink($link_file);
-
-      $counter--;
-      if ($counter >= 1) {
-        $handle = fopen(VAR_FILES . $md5 . '_count', 'w');
-        fwrite($handle, $counter);
-        fclose($handle);
-      }
-      elseif ($counter == 0) {
-        if (file_exists(VAR_FILES . $md5 . '_count')) {
-          unlink(VAR_FILES . $md5 . '_count');
-        }
-        $new_name = jirafeau_detect_collision($md5 . '_' . $file_name, VAR_TRASH);
-        rename(VAR_FILES . $md5, VAR_TRASH . $new_name);
-      }
+      jirafeau_delete($link_name);
     }
     exit;
   } else {

patrick-canterino.de