function ServiceRequest($host, $request, $bypass_headers = false) { // create request object $req =& new HTTP_Request($host); // use POST method $req->setMethod(HTTP_REQUEST_METHOD_POST); // request well formed HTTP response headers $req->addHeader('cygnus_dotnet_client', ''); // request header processing $req->setBypassHeaders($bypass_headers); // set the request string $req->setBody($request); // send the request $rc = $req->sendRequest(); if (PEAR::isError($rc)) { return ReturnError($request, 'Connection Failure'); } // get the response $result = $req->getResponseBody(); // convert the response string into an XML document set_error_handler('MaskErrors'); $doc = new DOMDocument(); if (!$doc->loadXML($result)) { return ReturnError($request, 'Invalid XML Response'); } restore_error_handler(); // make sure a SERVICE tag exists $nodes = $doc->getElementsByTagName('SERVICE'); if ($nodes->length == 0) { return ReturnError($request, 'Missing return SERVICE tag'); } // make sure a STATUS was returned if (strlen($nodes->item(0)->getAttribute('status')) == 0) { return ReturnError($request, 'Missing retrun STATUS attribute'); } // looks good, return it return $doc; }
<?php ini_set('display_errors', false); set_exception_handler('ReturnError'); $r = ''; $url = isset($_GET['url']) ? $_GET['url'] : null; if ($url) { //fetch webpage $c = curl_init(); curl_setopt_array($c, array(CURLOPT_URL => $url, CURLOPT_HEADER => false, CURLOPT_TIMEOUT => 10, CURLOPT_RETURNTRANSFER => true)); $r = curl_exec($c); curl_close($c); } if ($r) { echo $r; } else { // nothing returned? ReturnError(); } function ReturnError() { echo 'error occured'; }
WriteCommand($socket, 'COMM', NULL, $content); $cmd = ReadCommand($socket); socket_close($socket); } catch (Exception $ex) { // Give the daemon some time to collect error output usleep(500000); try { $socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { throw new Exception("socket_create() failed: reason: " . socket_strerror(socket_last_error())); } $result = @socket_connect($socket, $WEBCONFIG['address'], $WEBCONFIG['port']); if ($result === false) { throw new Exception("socket_connect() failed.\nReason: ({$result}) " . socket_strerror(socket_last_error($socket))); } WriteCommand($socket, 'GETERROR', array('clientid' => $_GET['clientid'])); $cmd = ReadCommand($socket); if ($cmd->found) { ReturnError('php_error', $cmd->data); } else { ReturnError('php_error', 'webfrontend comm: ReadCommand failed'); } } catch (Exception $ex) { ReturnError('unspecified_error', $ex->getMessage()); } } if (substr($cmd->data, -16) != '"EXEC_COMPLETE";') { ReturnError('php_error', $cmd->data); } else { ReturnResult($cmd->data); }
function PostRequired() { if ($_SERVER['REQUEST_METHOD'] != 'POST') { ReturnError('method', 'This operation requires data to be posted'); } }
function GetUsageVideotron() { $data["ISP"] = "Videotron TPIA (unsupported)"; ReturnError($data); }
if (isset($loginResponse['custom_error_text'])) { $errorArgs[] = $loginResponse['custom_error_text']; } if (isset($loginResponse['custom_error_title'])) { $errorArgs[] = $loginResponse['custom_error_title']; } call_user_func_array("ReturnError", $errorArgs); } } catch (Exception $ex) { // Give the daemon some time to collect error output usleep(500000); try { $socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { throw new Exception("socket_create() failed: reason: " . socket_strerror(socket_last_error())); } $result = @socket_connect($socket, $WEBCONFIG['address'], $WEBCONFIG['port']); if ($result === false) { throw new Exception("socket_connect() failed.\nReason: ({$result}) " . socket_strerror(socket_last_error($socket))); } WriteCommand($socket, 'GETERROR', array('clientid' => $_GET['clientid'])); $cmd = ReadCommand($socket); if ($cmd->found) { ReturnError('php_error', $cmd->data); } else { ReturnError('php_error', 'webfrontend login: ReadCommand failed'); } } catch (Exception $ex) { ReturnError('unspecified_error'); } }
break; } if (connection_status() != 0) { break; } usleep(100000); } socket_close($socket); } catch (Exception $ex) { // Give the daemon some time to collect error output usleep(500000); try { $socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { throw new Exception("socket_create() failed: reason: " . socket_strerror(socket_last_error())); } $result = @socket_connect($socket, $WEBCONFIG['address'], $WEBCONFIG['port']); if ($result === false) { throw new Exception("socket_connect() failed.\nReason: ({$result}) " . socket_strerror(socket_last_error($socket))); } WriteCommand($socket, 'GETERROR', array('clientid' => $_GET['clientid'])); $cmd = ReadCommand($socket); if ($cmd->found) { ReturnError('php_error', $cmd->data); } else { ReturnError('php_error', 'webfrontend revcomm: ReadCommand failed'); } } catch (Exception $ex) { ReturnError('unspecified_error', $ex->getMessage()); } }