public function upload()
 {
     $file = new File();
     if ($this->method == "POST") {
         if ($_FILES['file']['error'] == UPLOAD_ERR_OK) {
             $result = $file->create_from_upload($_FILES['file'], $this->PostData("category"));
             if ($result) {
                 Site::flash("notice", "{$file->filename} has been uploaded");
                 $category = substr($this->PostData("category"), 5);
                 $category = "category" . $category;
                 Redirect("admin/files/" . $category);
             }
         } else {
             $file->add_upload_error($_FILES['file']['error']);
         }
     }
     $base_categories = File::find_all_categories("files", true);
     $form_categories = array();
     foreach ($base_categories as $category) {
         $form_categories[$category] = substr($category, 6);
     }
     $this->assign("categories", $form_categories);
     $this->assign("default_category", "images");
     $this->assign("file", $file);
     $this->assign("maxsize", ini_get("upload_max_filesize"));
     $this->title = "Upload File";
     $this->render("file/upload.tpl");
 }