From f9d403039d205ca78839769d1cd835cded811fbd Mon Sep 17 00:00:00 2001
From: Spoike
Date: Wed, 11 Oct 2006 23:17:55 +0000
Subject: [PATCH] Added available demos webpage. Works like current streams. No
info is currently provided other than filename. A link is provided from
/nowplaying.html.
git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@2406 fc73d0e0-1445-4013-8a0c-d673dee63da5
---
fteqtv/forward.c | 104 +++++++++++++++++++++++++++++++++++++++++++----
1 file changed, 95 insertions(+), 9 deletions(-)
diff --git a/fteqtv/forward.c b/fteqtv/forward.c
index 0e3b3ebbc..d8358c60e 100644
--- a/fteqtv/forward.c
+++ b/fteqtv/forward.c
@@ -472,10 +472,13 @@ void SV_GenerateNowPlayingHTTP(cluster_t *cluster, oproxy_t *dest)
if (!cluster->servers)
{
- s = "No streams are currently being played";
+ s = "No streams are currently being played
";
Net_ProxySend(cluster, dest, s, strlen(s));
}
+ s = "
Available Demos";
+ Net_ProxySend(cluster, dest, s, strlen(s));
+
sprintf(buffer, "
";
+
+ Net_ProxySend(cluster, dest, s, strlen(s));
+ s = "FTEQTV Admin: ";
+ Net_ProxySend(cluster, dest, s, strlen(s));
+ s = cluster->hostname;
+ Net_ProxySend(cluster, dest, s, strlen(s));
+ s = "
";
Net_ProxySend(cluster, dest, s, strlen(s));
s =
@@ -734,6 +751,46 @@ void SV_GenerateAdminHTTP(cluster_t *cluster, oproxy_t *dest, int streamid, char
Net_ProxySend(cluster, dest, s, strlen(s));
}
+void SV_GenerateQTVDemoListing(cluster_t *cluster, oproxy_t *dest)
+{
+ int numdemos = 0;
+ char link[256];
+ char *s;
+ s = "HTTP/1.1 200 OK\n"
+ "Content-Type: text/html\n"
+ "Connection: close\n"
+ "\n"
+ "QuakeTV Demos";
+ Net_ProxySend(cluster, dest, s, strlen(s));
+
+ s = "QTV Demo listing
";
+ Net_ProxySend(cluster, dest, s, strlen(s));
+
+#ifdef _WIN32
+ {
+ WIN32_FIND_DATA ffd;
+ HANDLE h;
+ h = FindFirstFile("*.mvd", &ffd);
+ do
+ {
+ numdemos++;
+ snprintf(link, sizeof(link), "%s
", ffd.cFileName, ffd.cFileName);
+ Net_ProxySend(cluster, dest, link, strlen(link));
+ } while(FindNextFile(h, &ffd));
+ FindClose(h);
+ }
+#else
+ s = "QTV Proxy is running on a platform for which file system listing is not coded.
Demo listing is not available.";
+ Net_ProxySend(cluster, dest, s, strlen(s));
+#endif
+
+ sprintf(link, "Total: %i demos
", numdemos);
+ Net_ProxySend(cluster, dest, link, strlen(link));
+
+ s = ""
+ "