]> code.citadel.org Git - citadel.git/blobdiff - ctdlphp/ctdlprotocol.php
* Identify our message format preference (HTML followed by plain text)
[citadel.git] / ctdlphp / ctdlprotocol.php
index 0ab08bdf276ee59de104465e52f6de876327d750..b3ebe337998a89de63eaf8adea68cbcfa45d40bc 100644 (file)
@@ -6,7 +6,6 @@
 //
 // Copyright (c) 2003 by Art Cancro <ajc@uncensored.citadel.org>
 // This program is released under the terms of the GNU General Public License.
-//
 
 
 //
@@ -33,13 +32,18 @@ function serv_puts($buf) {
 
 
 //
-// Identify this client, and the hostname where the user is, to Citadel.
+// Identify ourselves to the Citadel server (do this once after connection)
 //
 function ctdl_iden() {
        global $clientsocket;
 
+       // Identify client and hostname
        serv_puts("IDEN 0|8|001|PHP web client|" . $_SERVER['REMOTE_ADDR'] );
        $buf = serv_gets();
+
+       // Also express our message format preferences
+       serv_puts("MSGP text/html|text/plain");
+       $buf = serv_gets();
 }
 
 
@@ -306,5 +310,29 @@ function ctdl_knrooms() {
 }
 
 
+//
+// Fetch the list of messages in this room.
+// Returns: count, response, message array
+//
+function ctdl_msgs($mode, $count) {
+       global $clientsocket;
+
+       serv_puts("MSGS " . $mode . "|" . $count);
+       $response = serv_gets();
+
+       if (substr($response, 0, 1) != "1") {
+               return array(0, substr($response, 4), NULL);
+       }
+       
+       $msgs = array();
+       $num_msgs = 0;
+
+       while (strcmp($buf = serv_gets(), "000")) {
+               $num_msgs = array_push($msgs, $buf);
+       }
+
+       return array($num_msgs, substr($response, 4), $msgs);
+}
+
 
 ?>