} // 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" => "")); } }
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' => '')); } }