diff options
author | dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-03-15 15:39:14 +0000 |
---|---|---|
committer | dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2005-03-15 15:39:14 +0000 |
commit | 1d4db8b86d02a48c3c74c5f8c6a0bc3e62e0e49c (patch) | |
tree | 7f74a99d1b1019c78977906b89b81f77d11b9222 /src | |
parent | cce547c6a9089c698a1825e97ff4664e352db5ad (diff) |
BUILD : 1.7.8 (625) BUGS : 319 NOTES : Globalized do_getkey by DrStein.
git-svn-id: svn://svn.anope.org/anope/trunk@625 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@473 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r-- | src/chanserv.c | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/chanserv.c b/src/chanserv.c index 801e6c47c..d373e9f95 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -6234,14 +6234,20 @@ static int do_getkey(User * u) char *chan = strtok(NULL, " "); ChannelInfo *ci; - if (chan && (ci = cs_findchan(chan)) && !(ci->flags & CI_VERBOTEN) - && check_access(u, ci, CA_GETKEY)) { - notice_user(s_ChanServ, u, "KEY %s %s", ci->name, - (ci-> - c ? (ci->c->key ? ci->c->key : "NO KEY") : "NO KEY")); + if (!chan) { + syntax_error(s_ChanServ, u, "GETKEY", CHAN_GETKEY_SYNTAX); + } else if (!(ci = cs_findchan(chan))) { + notice_lang(s_ChanServ, u, CHAN_X_NOT_REGISTERED, chan); + } else if (ci->flags & CI_VERBOTEN) { + notice_lang(s_ChanServ, u, CHAN_X_FORBIDDEN, chan); + } else if (!check_access(u, ci, CA_GETKEY)) { + notice_lang(s_ChanServ, u, ACCESS_DENIED); + } else if (!ci->c || !ci->c->key) { + notice_lang(s_ChanServ, u, CHAN_GETKEY_NOKEY, chan); } else { - notice_user(s_ChanServ, u, "KEY %s ERROR", chan); + notice_lang(s_ChanServ, u, CHAN_GETKEY_KEY, chan, ci->c->key); } + return MOD_CONT; } |