1
0
mirror of https://github.com/anope/anope.git synced 2026-07-02 06:26:38 +02:00

Made XOP privileges configurable

This commit is contained in:
Adam
2013-04-08 23:36:14 -05:00
parent bcd85ca682
commit 0a3d27a91f
6 changed files with 233 additions and 483 deletions
+47
View File
@@ -16,8 +16,55 @@
#include "users.h"
#include "account.h"
static struct
{
Anope::string name;
Anope::string desc;
} descriptions[] = {
{"ACCESS_CHANGE", _("Allowed to modify the access list")},
{"ACCESS_LIST", _("Allowed to view the access list")},
{"AKICK", _("Allowed to use the AKICK command")},
{"ASSIGN", _("Allowed to assign/unassign a bot")},
{"AUTOHALFOP", _("Automatic halfop upon join")},
{"AUTOOP", _("Automatic channel operator status upon join")},
{"AUTOOWNER", _("Automatic owner upon join")},
{"AUTOPROTECT", _("Automatic protect upon join")},
{"AUTOVOICE", _("Automatic voice on join")},
{"BADWORDS", _("Allowed to modify channel badwords list")},
{"BAN", _("Allowed to ban users")},
{"FANTASIA", _("Allowed to use fantasy commands")},
{"FOUNDER", _("Allowed to issue commands restricted to channel founders")},
{"GETKEY", _("Allowed to use GETKEY command")},
{"GREET", _("Greet message displayed on join")},
{"HALFOP", _("Allowed to (de)halfop users")},
{"HALFOPME", _("Allowed to (de)halfop him/herself")},
{"INFO", _("Allowed to get full INFO output")},
{"INVITE", _("Allowed to use the INVITE command")},
{"KICK", _("Allowed to use the KICK command")},
{"MEMO", _("Allowed to read channel memos")},
{"MODE", _("Allowed to use the MODE command")},
{"NOKICK", _("Prevents users being kicked by Services")},
{"OPDEOP", _("Allowed to (de)op users")},
{"OPDEOPME", _("Allowed to (de)op him/herself")},
{"OWNER", _("Allowed to (de)owner users")},
{"OWNERME", _("Allowed to (de)owner him/herself")},
{"PROTECT", _("Allowed to (de)protect users")},
{"PROTECTME", _("Allowed to (de)protect him/herself")},
{"SAY", _("Allowed to use SAY and ACT commands")},
{"SET", _("Allowed to set channel settings")},
{"SIGNKICK", _("No signed kick when SIGNKICK LEVEL is used")},
{"TOPIC", _("Allowed to change channel topics")},
{"UNBAN", _("Allowed to unban users")},
{"VOICE", _("Allowed to (de)voice users")},
{"VOICEME", _("Allowed to (de)voice him/herself")}
};
Privilege::Privilege(const Anope::string &n, const Anope::string &d, int r) : name(n), desc(d), rank(r)
{
if (this->desc.empty())
for (unsigned j = 0; j < sizeof(descriptions) / sizeof(*descriptions); ++j)
if (descriptions[j].name == name)
this->desc = descriptions[j].desc;
}
bool Privilege::operator==(const Privilege &other) const