From 1eab928d963935425463b16424ee64442324d9a0 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Sun, 2 Nov 2003 05:35:11 +0000 Subject: [PATCH] * who.php: added * ctdlprotocol.php: worked out a tentative data API using this function. --- ctdlphp/ChangeLog | 5 +++- ctdlphp/ctdlprotocol.php | 55 +++++++++++++++++++++++++++++++++++----- ctdlphp/do_login.php | 3 ++- ctdlphp/login.php | 3 +-- ctdlphp/page2.php | 1 + ctdlphp/welcome.php | 1 + ctdlphp/who.php | 32 +++++++++++++++++++++++ 7 files changed, 90 insertions(+), 10 deletions(-) create mode 100644 ctdlphp/who.php diff --git a/ctdlphp/ChangeLog b/ctdlphp/ChangeLog index 7e0a956b4..03e0c9552 100644 --- a/ctdlphp/ChangeLog +++ b/ctdlphp/ChangeLog @@ -1,4 +1,8 @@ $Log$ + Revision 1.10 2003/11/02 05:35:11 ajc + * who.php: added + * ctdlprotocol.php: worked out a tentative data API using this function. + Revision 1.9 2003/11/02 04:26:11 ajc * Cleaned up the pages in preparation for handing it off to the extremely talented developers and webmasters who will soon be working on it. @@ -41,4 +45,3 @@ Revision 1.1 2003/10/31 03:47:13 ajc * Initial CVS import - diff --git a/ctdlphp/ctdlprotocol.php b/ctdlphp/ctdlprotocol.php index 2fd38d4f3..32d003045 100644 --- a/ctdlphp/ctdlprotocol.php +++ b/ctdlphp/ctdlprotocol.php @@ -145,12 +145,9 @@ function ctdl_mesg($msgname) { if (substr($response, 0, 1) == "1") { echo "
\n"; - do { - $buf = serv_gets(); - if (strcasecmp($buf, "000")) { - echo "", $buf, "
\n" ; - } - } while (strcasecmp($buf, "000")); + while (strcmp($buf = serv_gets(), "000")) { + echo "", $buf, "
\n" ; + } echo "
\n"; } else { @@ -159,4 +156,50 @@ function ctdl_mesg($msgname) { } +// +// Fetch the list of users currently logged in. +// +function ctdl_rwho() { + global $clientsocket; + + serv_puts("RWHO"); + $response = serv_gets(); + + if (substr($response, 0, 1) != "1") { + return array(0, NULL); + } + + $all_lines = array(); + $num_lines = 0; + + while (strcmp($buf = serv_gets(), "000")) { + + $thisline = array(); + + $tok = strtok($buf, "|"); + if ($tok) $thisline["session"] = $tok; + + $tok = strtok("|"); + if ($tok) $thisline["user"] = $tok; + + $tok = strtok("|"); + if ($tok) $thisline["room"] = $tok; + + $tok = strtok("|"); + if ($tok) $thisline["host"] = $tok; + + $tok = strtok("|"); + if ($tok) $thisline["client"] = $tok; + + // IGnore the rest of the fields for now. + + $num_lines = array_push($all_lines, $thisline); + } + + return array($num_lines, $all_lines); + +} + + + ?> diff --git a/ctdlphp/do_login.php b/ctdlphp/do_login.php index 6e0943293..cc1429ded 100644 --- a/ctdlphp/do_login.php +++ b/ctdlphp/do_login.php @@ -31,7 +31,8 @@ if ($retval == FALSE) { echo "Log out
\n" ; } else { - echo "Logged in. Click to continue.
"; + echo "Logged in. "; + echo "Click to continue if your browser does not refresh.
"; echo "\n"; } diff --git a/ctdlphp/login.php b/ctdlphp/login.php index 00f25254e..1a084aae8 100644 --- a/ctdlphp/login.php +++ b/ctdlphp/login.php @@ -19,7 +19,7 @@ - + @@ -36,4 +36,3 @@ - diff --git a/ctdlphp/page2.php b/ctdlphp/page2.php index 3c93e0939..7d690b515 100644 --- a/ctdlphp/page2.php +++ b/ctdlphp/page2.php @@ -24,6 +24,7 @@ faucibus sit amet, magna. In pretium lacus eget mi.

Page One
Page Three
+Who is online?
Page Two
+Who is online?
Page Three
"; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + + list($num_users, $wholist) = ctdl_rwho(); + + if ($num_users > 0) foreach ($wholist as $x) { + echo ""; + echo ""; + echo ""; + echo ""; + echo "\n"; + } + + echo "
User name:
Password:
UserRoomHost
", htmlspecialchars($x["user"]), "", htmlspecialchars($x["room"]), "", htmlspecialchars($x["host"]), "
\n"; + +?> + +Page One
+Page Three
+ + -- 2.30.2