int HavePic;
WCTemplputParams SubTP;
- memset(&TP, 0, sizeof(WCTemplputParams));
+ memset(&SubTP, 0, sizeof(WCTemplputParams));
serv_puts("RDIR");
serv_getln(buf, sizeof buf);
if (buf[0] != '1') return NULL;
snprintf (FileBuf, SIZ, "%s%s", static_dirs[0], "/diskette_24x.gif");
else
snprintf (FileBuf, SIZ, "%s%s", static_dirs[3], FileName);
- //// TODO! output_static(FileBuf);
+ output_static(FileBuf);
}
void download_file(void)
int force_download = 1;
Buf = NewStrBuf();
- StrBufExtract_token(Buf, WCC->Hdr->ReqLine, 2, '/');
+ StrBufExtract_token(Buf, WCC->Hdr->HR.ReqLine, 0, '/');
StrBufUnescape(Buf, 1);
serv_printf("OPEN %s", ChrPtr(Buf));
StrBuf_ServGetln(Buf);
hprintf("HTTP/1.1 404 %s\n", ChrPtr(Buf));
output_headers(0, 0, 0, 0, 0, 0);
hprintf("Content-Type: text/plain\r\n");
- wprintf(_("An error occurred while retrieving this file: %s\n"),
+ wc_printf(_("An error occurred while retrieving this file: %s\n"),
ChrPtr(Buf));
end_burst();
}
void delete_file(void)
{
+ const StrBuf *MimeType;
StrBuf *Buf;
char buf[256];
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();
+ MimeType = DoTemplate(HKEY("files"), NULL, &NoCtx);
+ http_transmit_thing(ChrPtr(MimeType), 0);
FreeStrBuf(&Buf);
}
void upload_file(void)
{
+ const StrBuf *RetMimeType;
const char *MimeType;
char buf[1024];
long bytes_transmitted = 0;
long blocksize;
wcsession *WCC = WC; /* stack this for faster access (WC is a function) */
- MimeType = GuessMimeType(WCC->upload, WCC->upload_length);
+ MimeType = GuessMimeType(ChrPtr(WCC->upload), WCC->upload_length);
serv_printf("UOPN %s|%s|%s", WCC->upload_filename, MimeType, bstr("description"));
serv_getln(buf, sizeof buf);
if (buf[0] != '2')
{
strcpy(WCC->ImportantMessage, &buf[4]);
- do_template("files", NULL);
- output_headers(0, 0, 0, 0, 0, 0);
- end_burst();
+ RetMimeType = DoTemplate(HKEY("files"), NULL, &NoCtx);
+ http_transmit_thing(ChrPtr(RetMimeType), 0);
return;
}
if (buf[0] == '7')
{
blocksize = atoi(&buf[4]);
- serv_write(&WCC->upload[bytes_transmitted], blocksize);
+ serv_write(&ChrPtr(WCC->upload)[bytes_transmitted], blocksize);
bytes_transmitted += blocksize;
}
}
serv_puts("UCLS 1");
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();
+ RetMimeType = DoTemplate(HKEY("files"), NULL, &NoCtx);
+ http_transmit_thing(ChrPtr(RetMimeType), 0);
}
if (!IsEmptyStr(MimeType))
{
http_transmit_thing(MimeType, 0);
+ FreeStrBuf(&Buf);
return;
}
}
* when there's no such image on the server.
*/
StrBufPrintf (Buf, "%s%s", static_dirs[0], "/blank.gif");
- //// TDODO output_static(ChrPtr(Buf));
+ output_static(ChrPtr(Buf));
FreeStrBuf(&Buf);
}
GroupchangeFilelistBySequence,
CTX_FILELIST);
- RegisterNamespace("FILE:NAME", 0, 2, tmplput_FILE_NAME, CTX_FILELIST);
- RegisterNamespace("FILE:SIZE", 0, 1, tmplput_FILE_SIZE, CTX_FILELIST);
- RegisterNamespace("FILE:MIMETYPE", 0, 2, tmplput_FILEMIMETYPE, CTX_FILELIST);
- RegisterNamespace("FILE:COMMENT", 0, 2, tmplput_FILE_COMMENT, CTX_FILELIST);
+ RegisterNamespace("FILE:NAME", 0, 2, tmplput_FILE_NAME, NULL, CTX_FILELIST);
+ RegisterNamespace("FILE:SIZE", 0, 1, tmplput_FILE_SIZE, NULL, CTX_FILELIST);
+ RegisterNamespace("FILE:MIMETYPE", 0, 2, tmplput_FILEMIMETYPE, NULL, CTX_FILELIST);
+ RegisterNamespace("FILE:COMMENT", 0, 2, tmplput_FILE_COMMENT, NULL, CTX_FILELIST);
RegisterConditional(HKEY("COND:FILE:ISPIC"), 0, Conditional_FILE_ISPIC, CTX_FILELIST);
- 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);
+ WebcitAddUrlHandler(HKEY("image"), "", 0, output_image, ANONYMOUS);
+ WebcitAddUrlHandler(HKEY("display_mime_icon"), "", 0, display_mime_icon , ANONYMOUS);
+ WebcitAddUrlHandler(HKEY("download_file"), "", 0, download_file, NEED_URL);
+ WebcitAddUrlHandler(HKEY("delete_file"), "", 0, delete_file, NEED_URL);
+ WebcitAddUrlHandler(HKEY("upload_file"), "", 0, upload_file, 0);
}