<?
 require "include/bittorrent.php";

 dbconn(false);

 loggedinorreturn();

 if ($_SERVER["REQUEST_METHOD"] == "POST")
 {


   $file = $_FILES['file'];
   $url = $_POST["url"];

   if ((!$file || $file["size"] == 0 || $file["name"] == "")&& $url=="")
     stderr("Fehler", "<center><h2>Datei konnte nicht hochgeladen werden, evtentuell ist sie zu groß.</h2></center>");

   if ($file["size"] >= 1 && $url!="")
      stderr("Error", "Es kann nur ein link <b><font color=red>ODER</font></b> ein File angegeben werden.");

   if ((file_exists("database/$file[name]"))&& $url=="")
    stderr("Fehler", "<center><h2>Eine Datei namens <b>$file[name]</b> ist bereits vorhanden!</h2></center>");

   $title = trim($_POST["title"]);

   if ($title == ""&& $url!="")
   stderr("Error", "Es muss ein Titel für einen Link angegeben werden!");

   if ($title == "")
   {
     $title = substr($file["name"], 0, strrpos($file["name"], "."));
     if (!$title)
       $title = $file["name"];
   }

   $r = mysql_query("SELECT id FROM data WHERE title=" . sqlesc($title)) or sqlesc();
   if (mysql_num_rows($r) > 0)
     stderr("Fehler", "<center><h2>Eine Datei mit dem Titel <b>" . htmlspecialchars($title) . "</b> ist bereits vorhanden!</h2></center>");

   $descr = trim($_POST["descr"]);
   if ($descr == "")
   stderr("Fehler", "<center><h2>Du musst eine Beschreibung angeben!</h2></center>");


if ($url != "")
    if (substr($url, 0, 7) != "http://" && substr($url, 0, 6) != "ftp://")
  stderr("Fehler", "<center><h2>Die URL <b>" . htmlspecialchars($url) . "</b> scheint nicht gültig zu sein.</h2></center>");

if ($url == ""){
if (!move_uploaded_file($file["tmp_name"], "database/$file[name]"))
 stderr("Fehler", "<center><h2>Die hochgeladene Datei konnte nicht in den entsprechenden Pfad verschoben werden. Kontaktiere bitte einen SysOp.</h2></center>");
}

   setcookie("databaseurl", $url, 0x7fffffff);

   $title = sqlesc($title);
   $filename = sqlesc($file["name"]);
   $added = sqlesc(get_date_time());
   $uppedby = $CURUSER["id"];
   $size = $file["size"];
   $url = sqlesc($url);
   $descr = sqlesc($descr);

   mysql_query("INSERT INTO data (title, filename, added, uppedby, size, url, description) VALUES($title, $filename, $added, $uppedby, $size, $url, $descr)") or sqlerr();

   header("Location: $BASEURL/database.php");
die;
 }

 if (get_user_class() >= UC_MODERATOR)
 {
   $delete = $_GET["delete"];
   if (is_valid_id($delete))
   {
    $r = mysql_query("SELECT filename,uppedby,url FROM data WHERE id=$delete") or sqlerr(__FILE__, __LINE__);
    if (mysql_num_rows($r) == 1)
    {
         $a = mysql_fetch_assoc($r);
      if (get_user_class() >= UC_MODERATOR || $a["uppedby"] == $CURUSER["id"])
      {
        mysql_query("DELETE FROM data WHERE id=$delete") or sqlerr(__FILE__, __LINE__);
if ($a["url"]==""){
if (!unlink("database/$a[filename]"))
             stderr("Warnung", "<center><h2>Die Datei <b>$a[filename]</b> konnte nicht gelöscht werden. Kontaktiere bitte einen SysOp.</h2></center>");
 }
}
    }
   }
 }

stdhead("Army of Hell");
print("<br>");
begin_frame("Army of Hell", FALSE, "800px");
print("<br>");

 $res = mysql_query("SELECT * FROM data ORDER BY added DESC") or sqlerr();
 if (mysql_num_rows($res) == 0)
   print("<center><h2>Keine Daten vorhanden</h2>");
 else
 {
   print("<center><table class=tableoutborder border=0 cellspacing=1 width=95% cellpadding=5>\n");
   print("<tr><td class=tabletitle align=left><b>Name</b></td><td class=tabletitle><b>Hinzugefügt</b></td><td class=tabletitle><b>Zeit</b></td><td class=tabletitle><b>Beschreibung</b></td>" .
     "<td class=tabletitle><b>Größe</b></td><td class=tabletitle><b>Downloads</b></td><td class=tabletitle><b>Von</b></td></tr>\n");

   $mod = get_user_class() >= UC_MODERATOR;

   while ($arr = mysql_fetch_assoc($res))
   {
    $r = mysql_query("SELECT username FROM users WHERE id=$arr[uppedby]") or sqlerr();
    $a = mysql_fetch_assoc($r);
    if ($arr["size"]==0) {
    $title = "<td class=tablea align=left><a href=" . htmlspecialchars($arr["url"]) . "><b>" . htmlspecialchars($arr["title"]) . "</b></a>" .
      (get_user_class() >= UC_MODERATOR || $arr["uppedby"] == $CURUSER["id"] ? " <font size=1 class=small><a href=?delete=$arr[id]>[Löschen]</a> <a href=editdata.php?id=$arr[id]>[Ändern]</a></font>" : "") ."</td>\n";
    }else{
    $title = "<td class=tablea align=left><a href=getdata.php/$arr[filename]><b>" . htmlspecialchars($arr["title"]) . "</b></a>" .
      (get_user_class() >= UC_MODERATOR || $arr["uppedby"] == $CURUSER["id"] ? " <font size=1 class=small><a href=?delete=$arr[id]>[Löschen]</a> <a href=editdata.php?id=$arr[id]>[Ändern]</a></font>" : "") ."</td>\n";
    }
    $added = "<td class=tablea>" . substr($arr["added"], 0, 10) . "</td><td class=tablea>" . substr($arr["added"], 10) . "</td>\n";
    if ($arr["size"]==0)
    $size = "<td class=tablea>Link</td>\n";
    else
    $size = "<td class=tablea>" . mksize($arr['size']) . "</td>\n";
    $descr = "<td class=tablea>" . $arr["description"] . "</td>\n";
    $hits = "<td class=tablea>" . number_format($arr['hits']) . "</td>\n";
    $uppedby = "<td class=tablea><a href=userdetails.php?id=$arr[uppedby]><b>$a[username]</b></a></td>\n";
     print("<tr>$title$added$descr$size$hits$uppedby</tr>\n");
   }
   $maxfilesize = ini_get("upload_max_filesize");
   print("</table></p><br><b><font color=red>Achtung:</font> User die nicht mindestens Power User sind können nur Dateien bis zu einer Größe von $maxfilesize runterladen.</b><br><br>\n");

 }

 if (get_user_class() >= UC_UPLOADER)
 {
  $url = $_COOKIE["databaseurl"];
   $maxfilesize = ini_get("upload_max_filesize");

begin_frame("Upload", FALSE, "95%");
  print("<form enctype=multipart/form-data method=post action=?>\n");
  print("<table class=tableoutborder border=0 cellspacing=1 cellpadding=5 width=100%>\n");
   print("<tr><td class=tablea>Datei</td><td class=tablea align=left><input type=file name=file size=60><br>(Maximale Dateigröße: $maxfilesize. Es muss eine Beschreibung angegeben werden)</td></tr>\n");
   print("<tr><td class=tablea>Name</td><td class=tablea align=left><input type=text name=title size=60><br>(Optional, falls nicht angegeben, wird Name der Datei genommen.)</td></tr>\n");
   print("<tr><td class=tablea></td><td class=tablea align=left><b><font color=red>ODER</font></b></td></tr>\n");
   print("<tr><td class=tablea>Download URL</td><td class=tablea align=left><input type=text name=url size=60><br>(http://www.deine URL.com/*, Es muss ein Name und eine Beschreibung angegeben werden)</td></tr>\n");
   print("<tr><td class=tablea>Name</td><td class=tablea align=left><input type=text name=title size=60><br>(Muss beim DownloadLink angegeben werden.)</td></tr>\n");
   print("<tr><td class=tablea>Beschreibung</td><td class=tablea align=left><input type=text name=descr size=60></td></tr>\n");
   print("<tr><td class=tablea colspan=2 align=center><input type=submit value='Hochladen' class=btn></td></tr>\n");
   print("</table>\n");
  print("</form></center>\n");
  end_frame();

}

end_frame();

begin_frame("Momentane Speicherplatznutzung", FALSE, "800px");
echo "<br><center>";
begin_table();
?>
<tr><td style='padding: 0px; width: 400px; background-image: url(/pic/loadbarbg.gif); background-repeat: repeat-x'>
<?
    $maxdatasize = 1024 * 1024 * 1024;
       $size = mysql_result(mysql_query("SELECT SUM(size) FROM data WHERE id > 0"),0);
    $percent = min(100,round($size/$maxdatasize*100));
        if ($percent <= 70) $pic = "loadbargreen.gif";
        elseif ($percent <= 90) $pic = "loadbaryellow.gif";
        else $pic = "loadbarred.gif";
        $width = $percent * 4;
        print("<img height=15 width=$width src=\"/pic/$pic\" alt='$percent%'>");

echo "</td></tr>";

end_table();
echo mksize($size), " von ".mksize($maxdatasize)." belegt ($percent%)</center>";
end_frame();

stdfoot();
?>