function doUpload() { global $sage_data_dir; $filename = ""; //if ((!isset($_REQUEST["DateiName"])) || (@$_REQUEST["DateiName"] == "")) { if (@$_REQUEST["DateiName"] != "") { $filename = $_REQUEST["DateiName"]; } else { $filename = $_FILES["userfile"]["name"]; } /* $filename = quotemeta($filename); if (strstr($filename, "/") || strstr($filename, "\\")) { fehlerausgabe("Kann $newname nicht anlegen: Ungültiger Name"); return false; } */ // Verzeichniseintrag holen $path = new Path(); if (!$path->selectByName($_SESSION["path"])) { fehlerausgabe("Kann nicht hochladen: Verzeichnis existiert nicht"); return false; } // ACL für das Verzeichnis holen $acl = $_SESSION["user"]->getACLByPath($path->pathname); if ($acl->write_path != "1") { fehlerausgabe("Kann nicht hochladen: Zugriff verweigert"); return false; } $file = new File(); if ($file->selectByPathIDAndName($path->path_id, $filename)) { fehlerausgabe("Kann nicht hochladen: Datei existiert schon"); return false; } $file->path_id = $path->path_id; $file->loginname = $_SESSION["user"]->loginname; $file->filename = $filename; $file->description = @$_REQUEST["Beschreibung"]; $file->insert_at = "NOW()"; $file->modified_at = "NOW()"; if ($file->insert()) { move_uploaded_file($_FILES["userfile"]["tmp_name"], $sage_data_dir . $path->pathname . "/" . $filename); redirectTo($_SERVER["PHP_SELF"] . "?cmd=ls"); } else { fehlerausgabe("Kann nicht hochladen: Einfügen in Datenbank fehlgeschlagen"); return false; } }