]>
jfr.im git - irc/quakenet/newserv.git/blob - chanserv/chancmds/suspendchanlist.c
1 /* Automatically generated by refactor.pl.
4 * CMDNAME: suspendchanlist
5 * CMDLEVEL: QCMD_HELPER
7 * CMDDESC: Lists suspended channels.
8 * CMDFUNC: csc_dosuspendchanlist
9 * CMDPROTO: int csc_dosuspendchanlist(void *source, int cargc, char **cargv);
10 * CMDHELP: Usage: suspendchanlist <pattern>
11 * CMDHELP: Lists all suspended channels that match the specified pattern.
14 #include "../chanserv.h"
15 #include "../../nick/nick.h"
16 #include "../../lib/flags.h"
17 #include "../../lib/irc_string.h"
18 #include "../../channel/channel.h"
19 #include "../../parser/parser.h"
20 #include "../../irc/irc.h"
21 #include "../../localuser/localuserchannel.h"
25 int csc_dosuspendchanlist(void *source
, int cargc
, char **cargv
) {
27 reguser
*rup
=getreguserfromnick(sender
);
31 char *bywhom
, buf
[200];
38 chanservstdmessage(sender
, QM_NOTENOUGHPARAMS
, "suspendchanlist");
42 seewhom
= cs_privcheck(QPRIV_VIEWSUSPENDEDBY
, sender
);
46 chanservstdmessage(sender
, QM_SUSPENDCHANLISTHEADER
);
47 for (i
=0; i
<CHANNELHASHSIZE
; i
++) {
48 for (cip
=chantable
[i
]; cip
; cip
=cip
->next
) {
49 if (!(rcp
=(regchan
*)cip
->exts
[chanservext
]))
52 if (!CIsSuspended(rcp
))
55 if ((rcp
->suspendby
!= rup
->ID
) && match(cargv
[0], cip
->name
->content
))
59 if (rcp
->suspendby
== rup
->ID
)
62 reguser
*trup
=findreguserbyID(rcp
->suspendby
);
64 bywhom
=trup
->username
;
71 tmp
=gmtime(&(rcp
->suspendtime
));
72 strftime(buf
,sizeof(buf
),Q9_FORMAT_TIME
,tmp
);
74 chanservsendmessage(sender
, "%-30s %-15s %-15s %s", cip
->name
->content
, bywhom
, buf
, rcp
->suspendreason
?rcp
->suspendreason
->content
:"(no reason)");
76 chanservstdmessage(sender
, QM_TOOMANYRESULTS
, 2000, "channels");
81 chanservstdmessage(sender
, QM_RESULTCOUNT
, count
, "channel", (count
==1)?"":"s");