package org.cacert.gigi.dbObjects;
import java.io.IOException;
+import java.util.Locale;
import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.database.DatabaseConnection;
import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.util.RandomToken;
-public class EmailAddress implements IdCachable {
+public class EmailAddress implements IdCachable, Verifyable {
private String address;
private String hash = null;
private EmailAddress(int id) {
- GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT memid, email, hash FROM `emails` WHERE id=? AND deleted is NULL");
+ GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT `memid`, `email`, `hash` FROM `emails` WHERE `id`=? AND `deleted` IS NULL");
ps.setInt(1, id);
GigiResultSet rs = ps.executeQuery();
rs.close();
}
- public EmailAddress(User owner, String address) {
+ public EmailAddress(User owner, String address, Locale mailLocale) throws GigiApiException {
if ( !EmailProvider.MAIL.matcher(address).matches()) {
throw new IllegalArgumentException("Invalid email.");
}
this.address = address;
this.owner = owner;
this.hash = RandomToken.generateToken(16);
+ insert(Language.getInstance(mailLocale));
}
- public void insert(Language l) throws GigiApiException {
+ private void insert(Language l) throws GigiApiException {
try {
synchronized (EmailAddress.class) {
if (id != 0) {