summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authordane 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
committerdane 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
commit1d4db8b86d02a48c3c74c5f8c6a0bc3e62e0e49c (patch)
tree7f74a99d1b1019c78977906b89b81f77d11b9222 /src
parentcce547c6a9089c698a1825e97ff4664e352db5ad (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.c18
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;
}