// free memory return; } echo "connected\r\n"; /* Allocate new transaction */ $identifier = M_TransNew($conn); /* User credentials */ M_TransKeyVal($conn, $identifier, "username", $MYUSER); M_TransKeyVal($conn, $identifier, "password", $MYPASS); /* Transaction Type */ M_TransKeyVal($conn, $identifier, "action", "admin"); M_TransKeyVal($conn, $identifier, "admin", "GUT"); echo "Sending Unsettled report request...\r\n"; /* Additional Auditing parameters may be specified * Please consult the Monetra Client Interface Protocol */ if (!M_TransSend($conn, $identifier)) { echo "Communication Error: " . M_ConnectionError($conn) . "\r\n"; /* Free memory associated with conn */ M_DestroyConn($conn); return; } echo "Response received\r\n"; /* We do not have to perform the M_Monitor() loop * because we are in blocking mode */ if (M_ReturnStatus($conn, $identifier) != M_SUCCESS) { echo "Audit failed\r\n"; M_DestroyConn($conn); return; } if (!M_IsCommaDelimited($conn, $identifier)) { echo "Not a comma delimited response!\r\n";
function M_verifyping(&$conn) { $max_ping_time = 5; $blocking = $conn['blocking']; M_SetBlocking($conn, false); $id = M_TransNew($conn); M_TransKeyVal($conn, $id, "action", "ping"); if (!M_TransSend($conn, $id)) { M_DeleteTrans($conn, $id); return false; } $lasttime = time(); while (M_CheckStatus($conn, $id) == M_PENDING && time() - $lasttime <= $max_ping_time) { $wait_time_ms = ($max_ping_time - (time() - $lasttime)) * 1000; if ($wait_time_ms < 0) { $wait_time_ms = 0; } if ($wait_time_ms > $max_ping_time * 1000) { $wait_time_ms = $max_ping_time * 1000; } if (!M_Monitor($conn, $wait_time_ms)) { break; } } M_SetBlocking($conn, $blocking); $status = M_CheckStatus($conn, $id); M_DeleteTrans($conn, $id); if ($status != M_DONE) { return false; } return true; }
function MCVE_Bt(&$conn, $username, $password) { $id = M_TransNew($conn); M_TransKeyVal($conn, $id, "username", $username); M_TransKeyVal($conn, $id, "password", $password); M_TransKeyVal($conn, $id, "action", "admin"); M_TransKeyVal($conn, $id, "admin", "bt"); if (!M_TransSend($conn, $id)) { return -1; } return $id; }
private function executeRequest($identifier) { if (!M_TransSend($this->conn, $identifier)) { throw new MonetraException(__('Transaction improperly structured.')); } if (M_ReturnStatus($this->conn, $identifier) === M_SUCCESS) { if (M_IsCommaDelimited($this->conn, $identifier)) { $csv_string = M_GetCommaDelimited($this->conn, $identifier); if ($csv_string === false) { throw new MonetraException(__('Transaction does not exist or is incomplete.')); } $response = $this->parseCSVResponse($csv_string); } else { $response = $this->parseKeyValueResponse($identifier); } } else { $response = $this->parseKeyValueResponse($identifier); } M_DeleteTrans($this->conn, $identifier); return $response; }