Esempio n. 1
0
}
// If the token was not sent, then create new token,
// save data in session variables and send through email or mobile phone
$newtoken = rand(10000, 99999);
// Generate random 5 digits token
$date = new DateTime();
$_SESSION[$USER->sesskey . "smstoken"] = $newtoken;
// Save token in session
$_SESSION[$USER->sesskey . "smsdate"] = $date->getTimestamp();
// Save timestamp to calculate token age
$_SESSION[$USER->sesskey . "examid"] = $examid;
// Save exam id for extra security
if ($CFG->emarking_usesms) {
    // Validate mobile phone number
    if ($CFG->emarking_mobilephoneregex && !preg_match('/^' . $CFG->emarking_mobilephoneregex . '$/', $USER->phone2)) {
        echo json_encode(array("error" => get_string("invalidphonenumber", "mod_emarking") . " " . $USER->phone2));
        die;
    }
    // Send sms
    if (emarking_send_sms(get_string("yourcodeis", "mod_emarking") . ": {$newtoken}", $USER->phone2)) {
        echo json_encode(array("error" => "", "message" => get_string("smssent", "mod_emarking")));
    } else {
        echo json_encode(array("error" => get_string("smsserverproblem", "mod_emarking"), "message" => ""));
    }
} else {
    if (emarking_send_email_code($newtoken, $USER, $course->fullname, $exam->name)) {
        echo json_encode(array("error" => "", "message" => get_string("emailsent", "mod_emarking")));
    } else {
        echo json_encode(array("error" => get_string("errorsendingemail", "mod_emarking"), "message" => ""));
    }
}
Esempio n. 2
0
    echo json_encode(array('error' => 'Invalid token'));
    die;
}
// Create new token, save data in session variables and send through email or mobile phone
$newtoken = rand(10000, 99999);
// Generate random 5 digits token
$date = new DateTime();
$_SESSION[$USER->sesskey . "smstoken"] = $newtoken;
// Save token in session
$_SESSION[$USER->sesskey . "smsdate"] = $date->getTimestamp();
// Save timestamp to calculate token age
$_SESSION[$USER->sesskey . "examid"] = $examid;
// Save exam id for extra security
if ($CFG->emarking_usesms) {
    // Validate mobile phone number
    if (!preg_match('/^\\+569\\d{8}$/', $USER->phone2)) {
        echo json_encode(array('error' => 'Invalid phone number'));
        die;
    }
    if (emarking_send_sms("Su codigo es: {$newtoken}", $USER->phone2)) {
        echo json_encode(array('error' => '', 'message' => 'SMS code sent'));
    } else {
        echo json_encode(array('error' => 'Could not connect to SMS server', 'message' => ''));
    }
} else {
    if (emarking_send_email_code($newtoken, $USER, $course->fullname, $exam->name)) {
        echo json_encode(array('error' => '', 'message' => 'Email security code sent'));
    } else {
        echo json_encode(array('error' => 'Could not connect to email server', 'message' => ''));
    }
}