Browse Source

Help pages.

master
Stanislav Usenkov 9 years ago
parent
commit
7448d2a29b
  1. 40
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java
  2. 81
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java
  3. 1
      src/main/java/ru/simsonic/rscPermissions/Engine/Phrases.java
  4. 23
      src/main/resources/languages/english.yml
  5. 25
      src/main/resources/languages/russian.yml

40
src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java

@ -89,50 +89,44 @@ public class BukkitCommands
public void onCommandHub(CommandSender sender, String[] args) throws CommandAnswerException
{
final ArrayList<String> help = new ArrayList<>(64);
final boolean isAdmin = sender.hasPermission("rscp.admin");
final boolean isLocker = sender.hasPermission("rscp.admin.lock");
help.addAll(Tools.getPluginWelcome(rscp, Phrases.HELP_HEADER_1.toString()));
if(isLocker)
help.add(Phrases.HELP_HEADER_2.toString().replace("{:SERVERID}", rscp.getServer().getServerId()));
if(args.length == 0)
throw new CommandAnswerException(help);
help.add(Phrases.HELP_HEADER_2.toString().replace("{SERVER-ID}", rscp.getServer().getServerId()));
final String mmode = rscp.settings.getMaintenanceMode();
if(sender.hasPermission("rscp.admin.lock") && !"".equals(mmode))
help.add("{_WH}Server is in maintenance mode \'{_LG}" + mmode + "{_WH}\' now!");
if(isLocker && !"".equals(mmode))
help.add(Phrases.HELP_HEADER_3.toString().replace("{:MMODE}", mmode));
help.add(Phrases.HELP_USAGE.toString());
if(sender.hasPermission("rscp.admin"))
if(isAdmin)
{
help.add("{_YL}/rscp {_LR}groups {_LS}-- show known groups");
help.add("{_YL}/rscp {_LR}users {_LS}-- show known users");
help.add(Phrases.HELP_CMD_USER_LP.toString());
help.addAll(cmdEntity.getHelpForType(CommandEntity.TargetType.GROUP));
help.addAll(cmdEntity.getHelpForType(CommandEntity.TargetType.USER));
help.addAll(cmdEntity.getHelpForType(CommandEntity.TargetType.PLAYER));
help.add(Phrases.HELP_CMD_USER_LG.toString());
help.add(Phrases.HELP_CMD_USER_P.toString());
help.add(Phrases.HELP_CMD_USER_S.toString());
help.addAll(cmdEntity.getHelp());
help.add("{_YL}/rscp {_LR}examplerows {_LS}- insert some fake rows into database");
help.add("{_YL}/rscp {_LR}import pex-sql {_LS}- import data from pex's database (in the same schema)");
help.add(Phrases.HELP_CMD_DEBUG.toString());
help.add(Phrases.HELP_CMD_FETCH.toString());
help.add(Phrases.HELP_CMD_RELOAD.toString());
}
if(sender.hasPermission("rscp.admin.lock"))
if(isLocker)
{
help.add(Phrases.HELP_CMD_LOCK.toString());
help.add(Phrases.HELP_CMD_UNLOCK.toString());
}
if(sender.hasPermission("rscp.admin"))
{
help.add("{_YL}/rscp {_LR}examplerows {_LS}-- insert some fake rows into database");
help.add("{_YL}/rscp {_LR}import pex-sql {_LS}-- import data from pex's database (in the same schema)");
help.add(Phrases.HELP_CMD_DEBUG.toString());
help.add(Phrases.HELP_CMD_FETCH.toString());
help.add(Phrases.HELP_CMD_RELOAD.toString());
}
help.add(Phrases.HELP_CMD_HELP.toString());
switch(args[0].toLowerCase())
{
case "listgroups":
case "groups":
case "lg":
case "gs":
cmdEntity.listGroups(sender);
return;
case "listusers":
case "users":
case "lu":
case "us":
cmdEntity.listUsers(sender);
return;
case "group":
@ -185,7 +179,7 @@ public class BukkitCommands
{
"Usage: {_YL}/rscp import <importer> [options]",
"Available importers:",
"{_LG}pex-sql {_LS}-- (PermissionsEx's SQL backend)",
"{_LG}pex-sql {_LS}- (PermissionsEx's SQL backend)",
});
switch(args[1].toLowerCase())
{

81
src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/CommandEntity.java

@ -32,13 +32,47 @@ public class CommandEntity
USER,
PLAYER,
}
public List<String> getHelp()
{
final List<String> help = new ArrayList<>(16);
// help.add(Phrases.HELP_CMD_USER_LP.toString());
// help.add(Phrases.HELP_CMD_USER_LG.toString());
// help.add(Phrases.HELP_CMD_USER_P.toString());
// help.add(Phrases.HELP_CMD_USER_S.toString());
help.add("{_YL}/rscp groups {_LS}- show known groups");
help.addAll(getHelpForType(CommandEntity.TargetType.GROUP));
help.add("{_YL}/rscp users {_LS}- show known users");
help.addAll(getHelpForType(CommandEntity.TargetType.USER));
help.addAll(getHelpForType(CommandEntity.TargetType.PLAYER));
return help;
}
public List<String> getHelpForType(TargetType type)
{
final List<String> answer = new ArrayList<>(16);
final String typeName = type.name().toLowerCase();
switch(type)
{
case GROUP:
case USER:
answer.add(String.format("{_YL}/rscp %s listgroups {_LS}- show list of parent groups", typeName));
answer.add(String.format("{_YL}/rscp %s listpermissions {_LS}- show list of explicit permissions", typeName));
answer.add(String.format("{_YL}/rscp %s prefix [<value>] {_LS}- view or change %s's prefix", typeName, typeName));
answer.add(String.format("{_YL}/rscp %s suffix [<value>] {_LS}- view or change %s's suffix", typeName, typeName));
break;
case PLAYER:
answer.add(String.format("{_YL}/rscp %s listgroups {_LS}- show resulting inheritance tree", typeName));
answer.add(String.format("{_YL}/rscp %s listpermissions {_LS}- show final calculated permissions", typeName));
answer.add(String.format("{_YL}/rscp %s prefix {_LS}- show %s's prefix", typeName, typeName));
answer.add(String.format("{_YL}/rscp %s suffix {_LS}- show %s's suffix", typeName, typeName));
break;
}
return answer;
}
public void onEntityCommandHub(CommandSender sender, TargetType type, String[] args) throws CommandAnswerException
{
if(sender.hasPermission("rscp.admin") == false)
throw new CommandAnswerException("Not enough permissions.");
args = Arrays.copyOfRange(args, 1, args.length);
if(args.length <= 1)
throw new CommandAnswerException("Read help.");
ResolutionResult result = null;
RowEntity entity = null;
switch(type)
@ -61,11 +95,12 @@ public class CommandEntity
break;
}
if(entity == null && result == null)
throw new CommandAnswerException("{_LR}I don't know such name!");
if(args[1] == null)
args[1] = "info";
throw new CommandAnswerException("{_LR}Sorry, I don't know such identifier!");
final String targetName = args[0];
switch(args[1].toLowerCase())
final String subcommand = args.length > 1 && args[1] != null
? args[1].toLowerCase()
: "info";
switch(subcommand)
{
case "info":
if(entity != null)
@ -94,9 +129,7 @@ public class CommandEntity
else
showEntityPermissions(entity);
break;
case "listparents":
case "listgroups":
case "parents":
case "groups":
case "lg":
if(result != null)
@ -104,16 +137,18 @@ public class CommandEntity
else
showEntityParents(entity);
break;
case "addparent":
case "addgroup":
case "addpermission":
case "ap":
break;
case "removepermission":
case "rp":
break;
case "addgroup":
case "ag":
// TO DO HERE
addGroup(result, targetName, null, null, null);
break;
case "removeparent":
case "removegroup":
case "rp":
case "rg":
// TO DO HERE
removeGroup(result, targetName, null);
@ -122,26 +157,10 @@ public class CommandEntity
break;
}
}
public List<String> getHelpForType(TargetType type)
{
final List<String> answer = new ArrayList<>(16);
final String typeName = type.name().toLowerCase();
answer.add(String.format("{_YL}/rscp %s prefix {_LS}-- show entity's prefix", typeName));
answer.add(String.format("{_YL}/rscp %s suffix {_LS}-- show entity's suffix", typeName));
answer.add(String.format("{_YL}/rscp %s listgroups {_LS}-- show list of parent groups", typeName));
answer.add(String.format("{_YL}/rscp %s listpermissions {_LS}-- show list of explicit permissions", typeName));
switch(type)
{
case GROUP:
case USER:
break;
case PLAYER:
break;
}
return answer;
}
public void listGroups(CommandSender sender) throws CommandAnswerException
{
if(sender.hasPermission("rscp.admin") == false)
throw new CommandAnswerException("Not enough permissions.");
final List<String> answer = new ArrayList<>(16);
final Set<RowEntity> groups = rscp.internalCache.getKnownGroupObjects();
answer.add("There are following known groups in database:");
@ -155,6 +174,8 @@ public class CommandEntity
}
public void listUsers(CommandSender sender) throws CommandAnswerException
{
if(sender.hasPermission("rscp.admin") == false)
throw new CommandAnswerException("Not enough permissions.");
final List<String> answer = new LinkedList<>();
final Set<RowEntity> users = rscp.internalCache.getKnownUserObjects();
answer.add("There are following known users in database:");

1
src/main/java/ru/simsonic/rscPermissions/Engine/Phrases.java

@ -38,6 +38,7 @@ public enum Phrases
FETCHED_REMOTE_DB ("database.fetched-remote"),
HELP_HEADER_1 ("help.header-1"),
HELP_HEADER_2 ("help.header-2"),
HELP_HEADER_3 ("help.header-3"),
HELP_USAGE ("help.usage"),
HELP_CMD_USER_LP ("help.cmd-user-lp"),
HELP_CMD_USER_LG ("help.cmd-user-lg"),

23
src/main/resources/languages/english.yml

@ -27,15 +27,16 @@ database:
fetched-remote: "{_LG}Fetched {:E} entities, {:P} permissions and {:I} inheritances."
help:
header-1: "{_LS}Perfect permission manager for multiserver environments"
header-2: "{_LS}Current serverId is '{_LG}{SERVER-ID}{_LS}' (server.properties)"
header-2: "{_LS}Current serverId is '{_LG}{:SERVERID}{_LS}' (server.properties)"
header-3: "{_WH}Server is in maintenance mode '{_LG}{:MMODE}{_WH}' now!"
usage: "Usage of available commands:"
cmd-user-lp: "{_YL}/rscp user <user> lp {_LS}-- list user's permissions"
cmd-user-lg: "{_YL}/rscp user <user> lg {_LS}-- list user's groups"
cmd-user-p: "{_YL}/rscp user <user> prefix {_LS}-- show user's prefix"
cmd-user-s: "{_YL}/rscp user <user> suffix {_LS}-- show user's suffix"
cmd-lock: "{_YL}/rscp lock [mode] {_LS}-- enable specific maintenance mode"
cmd-unlock: "{_YL}/rscp unlock {_LS}-- disable maintenance mode"
cmd-debug: "{_YL}/rscp debug [value] {_LS}-- show/hide some debugging info to you"
cmd-fetch: "{_YL}/rscp fetch {_LS}-- reread all permissions from database"
cmd-reload: "{_YL}/rscp reload {_LS}-- reload config and restart the plugin"
cmd-help: "{_YL}/rscp help {_LS}-- show this help page"
cmd-user-lp: "{_YL}/rscp user <user> lp {_LS}- list user's permissions"
cmd-user-lg: "{_YL}/rscp user <user> lg {_LS}- list user's groups"
cmd-user-p: "{_YL}/rscp user <user> prefix {_LS}- show user's prefix"
cmd-user-s: "{_YL}/rscp user <user> suffix {_LS}- show user's suffix"
cmd-lock: "{_YL}/rscp lock [mode] {_LS}- enable specific maintenance mode"
cmd-unlock: "{_YL}/rscp unlock {_LS}- disable maintenance mode"
cmd-debug: "{_YL}/rscp debug [value] {_LS}- show/hide some debugging info to you"
cmd-fetch: "{_YL}/rscp fetch {_LS}- reread all permissions from database"
cmd-reload: "{_YL}/rscp reload {_LS}- reload config and restart the plugin"
cmd-help: "{_YL}/rscp help {_LS}- show this help page"

25
src/main/resources/languages/russian.yml

@ -27,15 +27,16 @@ database:
fetched-remote: "{_LG}Получено {:E} сущностей, {:P} прав и {:I} наследований."
help:
header-1: "{_LS}Идеальный плагин для мультисерверных проектов"
header-2: "{_LS}Идентификатор этого сервера установлен в '{_LG}{SERVER-ID}{_LS}' (server.properties)"
usage: "Синтаксис доступных команд:"
cmd-user-lp: "{_YL}/rscp user <user> lp {_LS}-- получение списка прав игрока"
cmd-user-lg: "{_YL}/rscp user <user> lg {_LS}-- получение дерева групп игрока"
cmd-user-p: "{_YL}/rscp user <user> prefix {_LS}-- просмотр префикса игрока"
cmd-user-s: "{_YL}/rscp user <user> suffix {_LS}-- просмотр суффикса игрока"
cmd-lock: "{_YL}/rscp lock [mode] {_LS}-- перевод сервера в режим обслуживания"
cmd-unlock: "{_YL}/rscp unlock {_LS}-- отключение режима обслуживания"
cmd-debug: "{_YL}/rscp debug [value] {_LS}-- вкл/выкл отладочной информации о Вас"
cmd-fetch: "{_YL}/rscp fetch {_LS}-- получение групп и прав из базы банных"
cmd-reload: "{_YL}/rscp reload {_LS}-- перезагрузка плагина"
cmd-help: "{_YL}/rscp help {_LS}-- эта справка"
header-2: "{_LS}Идентификатор этого сервера установлен в '{_LG}{:SERVERID}{_LS}' (server.properties)"
header-3: "{_WH}Сервер находится в режиме обслуживания '{_LG}{:MMODE}{_WH}'!"
usage: "Описание доступных команд:"
cmd-user-lp: "{_YL}/rscp user <user> lp {_LS}- получение списка прав игрока"
cmd-user-lg: "{_YL}/rscp user <user> lg {_LS}- получение дерева групп игрока"
cmd-user-p: "{_YL}/rscp user <user> prefix {_LS}- просмотр префикса игрока"
cmd-user-s: "{_YL}/rscp user <user> suffix {_LS}- просмотр суффикса игрока"
cmd-lock: "{_YL}/rscp lock [mode] {_LS}- перевод сервера в режим обслуживания"
cmd-unlock: "{_YL}/rscp unlock {_LS}- отключение режима обслуживания"
cmd-debug: "{_YL}/rscp debug [value] {_LS}- вкл/выкл отладочной информации о Вас"
cmd-fetch: "{_YL}/rscp fetch {_LS}- получение групп и прав из базы банных"
cmd-reload: "{_YL}/rscp reload {_LS}- перезагрузка плагина"
cmd-help: "{_YL}/rscp help {_LS}- эта справка"

Loading…
Cancel
Save