addAssign("status", "innerHTML", "Notice: Ephemeris has already been sent to the mount."); error_reporting($errno); return $objResponse->getXML(); } $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if(!$socket) { $objResponse->addAssign("status", "innerHTML", "Socket Error: " . socket_strerror(socket_last_error($socket))); error_reporting($errno); return $objResponse->getXML(); } $connection = socket_connect($socket, MOUNT_HOST, MOUNT_PORT); if(!$connection) { $objResponse->addAssign("status", "innerHTML", "Socket Error: " . socket_strerror(socket_last_error($socket))); error_reporting($errno); return $objResponse->getXML(); } $ephem = $_SESSION['ephemeris']; if ( isset($_SESSION['ephemeris_object']) ) { $object = preg_replace("/\s+/", "_", $_SESSION['ephemeris_object']); socket_write($socket, "table " . "ephemeris_GUI_" . $object . "\n" ); } else { socket_write($socket, "table ephemeris_GUI_unknown\n"); } socket_write($socket, SOE . "\n"); foreach($ephem as $item) { socket_write($socket, $item->jdut . " " . $item->ra . " " . $item->dec . "\n"); } socket_write($socket, EOE . "\n"); socket_write($socket, ".EOF\n"); $objResponse->addAssign("ephResult", "innerHTML", "Status: Tracking..."); $objResponse->addAssign("status", "innerHTML", ""); $objResponse->addAssign("debugData", "innerHTML", ""); socket_close($socket); error_reporting($errno); /* Turn PHP error reporting back on */ // session_unset(); return $objResponse->getXML(); } function stopMount() { $errno = error_reporting(1); /* Disable warning errors temporarily -- messes up ajax return xml */ $objResponse = new xajaxResponse(); $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if(!$socket) { $objResponse->addAssign("status", "innerHTML", "Socket Error: " . socket_strerror(socket_last_error($socket))); error_reporting($errno); return $objResponse->getXML(); } $connection = socket_connect($socket, MOUNT_HOST, MOUNT_PORT); if(!$connection) { $objResponse->addAssign("status", "innerHTML", "Socket Error: " . socket_strerror(socket_last_error($socket))); error_reporting($errno); return $objResponse->getXML(); } socket_write($socket, "cancel\n"); $objResponse->addAssign("status", "innerHTML", "Sent the cancel command to the mount"); $objResponse->addAssign("ephResult", "innerHTML", ""); $objResponse->addAssign("debugData", "innerHTML", ""); socket_close($socket); error_reporting($errno); /* Turn PHP error reporting back on */ return $objResponse->getXML(); } /*************************************************************** * Display the data that will be sent for debugging ****************************************************************/ function showData() { $objResponse = new xajaxResponse(); if ( !isset($_SESSION['ephemeris']) ) { $objResponse->addAssign("debugData", "innerHTML","no ephemeris defined."); return $objResponse->getXML(); } $ephem = $_SESSION['ephemeris']; $outstr = "table "; if(isset($_SESSION['ephemeris_object'])) { $object = preg_replace ( "/\s+/", "_", $_SESSION['ephemeris_object'] ); $outstr .= "ephemeris_GUI_" . $object . "\n"; } else { $outstr .= "ephemeris_GUI_unknown\n"; } $outstr .= SOE . "\n"; foreach($ephem as $item) { $outstr .= $item->jdut . " " . $item->ra . " " . $item->dec . "\n"; } $outstr .= EOE . "\n"; $outstr .= ".EOF\n"; /* save to file, one time hack for Tom 3-2-2009 */ $tfh = fopen ( "/home/tom/php/nasa_dallan.out", "w" ); fwrite ( $tfh, $outstr ); fclose ( $tfh ); /* end of hack */ $objResponse->addAssign("debugData", "innerHTML", $outstr); return $objResponse->getXML(); } /* Register all of these function with xajax */ $xajax = new xajax(); $xajax->registerFunction("stopMount"); $xajax->registerFunction("sendToMount"); $xajax->registerFunction("showData"); $xajax->processRequests(); ?>