die('This example requires SQlite3 PDO driver for PHP');
}
$db_file = 'messages.db';
if (!file_exists($db_file)) {
    die('Could not find database file ' . $db_file);
}
$db = new PDO("sqlite:" . $db_file);
// Messente API PHP wrapper
if (!file_exists('../messente.php')) {
    die('Could not find messente.php');
}
require_once '../messente.php';
// Initialize Messente API
// No E-mail is sent when debug mode is on. Disable debug mode for live release.
$preferences = array('username' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'password' => 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', 'debug' => true, 'error_email' => getenv("SERVER_ADMIN"));
$Messente = new Messente($preferences);
// Array of messages to send
$messages = array(array('from' => '+37251916062', 'to' => '+37251916062', 'content' => 'Test to first number õ'));
$st_message = $db->prepare("INSERT INTO messages (sender_id, recipient, content, sent, insert_time) VALUES (:from, :to, :content, 1, strftime('%s','now'));");
$st_dlr = $db->prepare("INSERT INTO dlrs (message_id, dlr_id, time_sent) VALUES (:message_id, :dlr_id, strftime('%s','now'));");
// Send messages and show responses
foreach ($messages as $key => $message) {
    $result = $Messente->send_sms($message);
    // Check if we successfully sent the SMS to Messente
    if (!$result['error'] && $result['message_id']) {
        // Successful request
        echo "Successful API call to send SMS:<br/>\n";
        var_dump($result);
        try {
            $db->beginTransaction();
            $st_message->execute(array(':from' => $message['from'], ':to' => $message['to'], ':content' => $message['content']));
$db_file = 'messages.db';
if (!file_exists($db_file)) {
    die('Could not find database file ' . $db_file);
}
$db = new PDO("sqlite:" . $db_file);
// Messente API PHP wrapper
if (!file_exists('../messente.php')) {
    die('Could not find messente.php');
}
require_once '../messente.php';
// Array of message ID's that had temporary error when sending SMS
$retry_queue = array();
// Initialize Messente API
// No E-mail is sent when debug mode is on. Disable debug mode for live release.
$preferences = array('username' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'password' => 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', 'debug' => true, 'error_email' => getenv("SERVER_ADMIN"));
$Messente = new Messente($preferences);
$st_message_sent = $db->prepare("UPDATE messages SET sent = 1 WHERE id = :message_id");
$st_dlr = $db->prepare("INSERT INTO dlrs (message_id, dlr_id, time_sent) VALUES (:message_id, :dlr_id, strftime('%s','now'));");
$st_dlr_failed = $db->prepare("INSERT INTO dlrs (message_id, status, err, time_dlr, time_sent) VALUES (:message_id, :status, :err, strftime('%s','now'), strftime('%s','now'));");
while (true) {
    echo "Selecting messages to send... ";
    $st_messages = $db->prepare("SELECT id, content, recipient, sender_id FROM messages WHERE sent = 0");
    $st_messages->execute();
    echo "found " . $st_messages->rowCount() . " SMS to send<br/>\n";
    // Send messages and show responses
    while ($message = $st_messages->fetch(PDO::FETCH_ASSOC)) {
        $result = $Messente->send_sms(array('from' => $message['sender_id'], 'to' => $message['recipient'], 'content' => $message['content']));
        // Check if we successfully sent the SMS to Messente
        if (!$result['error'] && $result['message_id']) {
            // Successful request
            echo "Successful API call to send SMS:<br/>\n";