public function setNonce($TokenKey, $Nonce, $Timestamp = null)
{
$InsertArray = array('Token' => $TokenKey, 'Nonce' => $Nonce, 'Timestamp' => date('Y-m-d H:i:s', is_null($Timestamp) ? time() : $Timestamp));
try {
$NumAffected = Gdn::database()->sql()->update('UserAuthenticationNonce')->set('Nonce', $InsertArray['Nonce'])->set('Timestamp', $InsertArray['Timestamp'])->where('Token', $InsertArray['Token'])->put();
if (!$NumAffected || !$NumAffected->pdoStatement() || !$NumAffected->pdoStatement()->rowCount()) {
throw new Exception("Nothing to update.");
}
} catch (Exception $e) {
$Inserted = Gdn::database()->sql()->insert('UserAuthenticationNonce', $InsertArray);
}
return true;
}