]> code.citadel.org Git - citadel.git/blobdiff - webcit/downloads.c
* permit access to images without login
[citadel.git] / webcit / downloads.c
index ea6ad4d9b218c5befe7c4233b394106bef2f51c2..0c03ea0a95e4602d260b91955005aa8ce91beedd 100644 (file)
@@ -210,8 +210,8 @@ HashList* LoadFileList(StrBuf *Target, WCTemplputParams *TP)
                }
                Put(Files, SKEY(Entry->Filename), Entry, FreeFiles);
        }
-       SubTP.ContextType = CTX_FILELIST;
-       SortIt = RetrieveSort(&SubTP, NULL, HKEY("fileunsorted"), 0);
+       SubTP.Filter.ContextType = CTX_FILELIST;
+       SortIt = RetrieveSort(&SubTP, NULL, 0, HKEY("fileunsorted"), 0);
        if (SortIt != NULL)
                SortByPayload(Files, SortIt);
        else 
@@ -278,6 +278,27 @@ void download_file(void)
 
 
 
+void delete_file(void)
+{
+       StrBuf *Buf;
+       char buf[256];
+       
+       safestrncpy(buf, bstr("file"), sizeof buf);
+       unescape_input(buf);
+       serv_printf("DELF %s", buf);
+       Buf = NewStrBuf();
+       StrBuf_ServGetln(Buf);
+       GetServerStatus(Buf, NULL);
+       StrBufCutLeft(Buf, 4);
+       strcpy(WC->ImportantMessage, ChrPtr(Buf));
+       do_template("files", CTX_NONE);
+       output_headers(0, 0, 0, 0, 0, 0);
+       end_burst();
+       FreeStrBuf(&Buf);
+}
+
+
+
 void upload_file(void)
 {
        const char *MimeType;
@@ -293,6 +314,8 @@ void upload_file(void)
        {
                strcpy(WCC->ImportantMessage, &buf[4]);
                do_template("files", NULL);
+               output_headers(0, 0, 0, 0, 0, 0);
+               end_burst();
                return;
        }
 
@@ -317,6 +340,8 @@ void upload_file(void)
        serv_getln(buf, sizeof buf);
        strcpy(WCC->ImportantMessage, &buf[4]);
        do_template("files", CTX_NONE);
+       output_headers(0, 0, 0, 0, 0, 0);
+       end_burst();
 }
 
 
@@ -411,8 +436,9 @@ InitModule_DOWNLOAD
 
        RegisterConditional(HKEY("COND:FILE:ISPIC"), 0, Conditional_FILE_ISPIC, CTX_FILELIST);
 
-       WebcitAddUrlHandler(HKEY("image"), output_image, 0);
-       WebcitAddUrlHandler(HKEY("display_mime_icon"), display_mime_icon , 0);
+       WebcitAddUrlHandler(HKEY("image"), output_image, ANONYMOUS);
+       WebcitAddUrlHandler(HKEY("display_mime_icon"), display_mime_icon , ANONYMOUS);
        WebcitAddUrlHandler(HKEY("download_file"), download_file, NEED_URL);
+       WebcitAddUrlHandler(HKEY("delete_file"), delete_file, NEED_URL);
        WebcitAddUrlHandler(HKEY("upload_file"), upload_file, 0);
 }