Пример #1
0
    // 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";
Пример #2
0
 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;
 }
Пример #3
0
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;
}
Пример #4
0
 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;
 }