From 72c751da80110c87b3cec3f27c7054db25cded6a Mon Sep 17 00:00:00 2001
From: moodler <moodler>
Date: Wed, 15 Oct 2003 08:49:12 +0000
Subject: [PATCH] New class for handling ODBC socket server

---
 lib/odbc.php | 40 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100755 lib/odbc.php

diff --git a/lib/odbc.php b/lib/odbc.php
new file mode 100755
index 0000000000..d241322555
--- /dev/null
+++ b/lib/odbc.php
@@ -0,0 +1,40 @@
+<?php
+ //This is the ODBC Socket Server class PHP client class with sample usage
+ // at bottom.
+ // (c) 1999 Team FXML
+ // Released into the public domain for version 0.90 of ODBC Socket Server
+ // http://odbc.linuxbox.com/
+
+class ODBCSocketServer {
+    var $sHostName; //name of the host to connect to
+    var $nPort; //port to connect to
+    var $sConnectionString; //connection string to use
+
+    //function to parse the SQL 
+    function ExecSQL($sSQL) {
+
+        $fToOpen = fsockopen($this->sHostName, $this->nPort, &$errno, &$errstr, 30);
+        if (!$fToOpen)
+        {
+            //contruct error string to return
+            $sReturn = "<?xml version=\"1.0\"?>\r\n<result state=\"failure\">\r\n<error>$errstr</error>\r\n</result>\r\n";
+        }
+        else
+        {
+            //construct XML to send
+            //search and replace HTML chars in SQL first
+            $sSQL = HTMLSpecialChars($sSQL);
+            $sSend = "<?xml version=\"1.0\"?>\r\n<request>\r\n<connectionstring>$this->sConnectionString</connectionstring>\r\n<sql>$sSQL</sql>\r\n</request>\r\n";
+            //write request			
+            fputs($fToOpen, $sSend);
+            //now read response
+            while (!feof($fToOpen))
+            {
+                $sReturn = $sReturn . fgets($fToOpen, 128);
+            }
+            fclose($fToOpen);
+        }
+        return $sReturn;
+    }
+}//class
+?>
-- 
2.39.5