#437 Email uniqueness in admin command; finalization

- Check also in admin command that email is not already used
- Misc bug fixing (logic errors, changes lost during large merge)
- Use "email" and "setemail" as main labels for /authme subcommands
This commit is contained in:
ljacqu
2016-02-06 21:56:08 +01:00
parent b4b679d3b9
commit 2cd2b48a1a
6 changed files with 15 additions and 22 deletions
@@ -8,7 +8,6 @@ import fr.xephi.authme.output.MessageKey;
import fr.xephi.authme.output.Messages;
import fr.xephi.authme.settings.NewSetting;
import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.util.StringUtils;
import fr.xephi.authme.util.Utils;
import org.bukkit.entity.Player;
@@ -24,7 +23,7 @@ public class AsyncAddEmail {
private final PlayerCache playerCache;
private final NewSetting settings;
public AsyncAddEmail(AuthMe plugin, Player player, String email, DataSource dataSource,
public AsyncAddEmail(Player player, AuthMe plugin, String email, DataSource dataSource,
PlayerCache playerCache, NewSetting settings) {
this.messages = plugin.getMessages();
this.player = player;
@@ -39,11 +38,11 @@ public class AsyncAddEmail {
if (playerCache.isAuthenticated(playerName)) {
PlayerAuth auth = playerCache.getAuth(playerName);
String currentEmail = auth.getEmail();
final String currentEmail = auth.getEmail();
if (currentEmail != null && !"your@mail.com".equals(currentEmail)) {
if (currentEmail != null && !"your@email.com".equals(currentEmail)) {
messages.send(player, MessageKey.USAGE_CHANGE_EMAIL);
} else if (isEmailInvalid(email)) {
} else if (!Utils.isEmailCorrect(email, settings)) {
messages.send(player, MessageKey.INVALID_EMAIL);
} else if (dataSource.isEmailStored(email)) {
messages.send(player, MessageKey.EMAIL_ALREADY_USED_ERROR);
@@ -57,11 +56,6 @@ public class AsyncAddEmail {
}
}
private boolean isEmailInvalid(String email) {
return StringUtils.isEmpty(email) || "your@email.com".equals(email)
|| !Utils.isEmailCorrect(email, settings);
}
private void sendUnloggedMessage(DataSource dataSource) {
if (dataSource.isAuthAvailable(player.getName())) {
messages.send(player, MessageKey.LOGIN_MESSAGE);
@@ -8,7 +8,6 @@ import fr.xephi.authme.output.MessageKey;
import fr.xephi.authme.output.Messages;
import fr.xephi.authme.settings.NewSetting;
import fr.xephi.authme.settings.Settings;
import fr.xephi.authme.util.StringUtils;
import fr.xephi.authme.util.Utils;
import org.bukkit.entity.Player;
@@ -40,11 +39,11 @@ public class AsyncChangeEmail {
String playerName = player.getName().toLowerCase();
if (playerCache.isAuthenticated(playerName)) {
PlayerAuth auth = playerCache.getAuth(playerName);
String currentEmail = auth.getEmail();
final String currentEmail = auth.getEmail();
if (currentEmail == null) {
m.send(player, MessageKey.USAGE_ADD_EMAIL);
} else if (isEmailInvalid(newEmail)) {
} else if (newEmail == null || !Utils.isEmailCorrect(newEmail, settings)) {
m.send(player, MessageKey.INVALID_NEW_EMAIL);
} else if (!oldEmail.equals(currentEmail)) {
m.send(player, MessageKey.INVALID_OLD_EMAIL);
@@ -58,11 +57,6 @@ public class AsyncChangeEmail {
}
}
private boolean isEmailInvalid(String email) {
return StringUtils.isEmpty(email) || "your@email.com".equals(email)
|| !Utils.isEmailCorrect(email, settings);
}
private void saveNewEmail(PlayerAuth auth) {
auth.setEmail(newEmail);
if (dataSource.updateEmail(auth)) {