<?php /** * odbc.php - This is the ODBC Socket Server class PHP client class * with sample usage at bottom. * * Released into the public domain for version 0.90 of ODBC Socket Server * {@link http://odbc.linuxbox.com/} * @author Team FXML * @copyright Copyright (c) 1999 Team FXML * @license http://odbc.linuxbox.com/ public domain * @package moodlecore */ /** * ODBC Socket Server class */ class ODBCSocketServer { /** * Name of the host to connect to * @var string $sHostName */ var $sHostName; /** * Port to connect to * @var int $nPort */ var $nPort; /** * Connection string to use * @var string $sConnectionString */ var $sConnectionString; // /** * Function to parse the SQL * * @param string $sSQL The SQL statement to parse * @return string */ 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 ?>