]>
Commit | Line | Data |
---|---|---|
dbbee796 | 1 | #define CS_NODB |
3294b10b | 2 | #include "../chanserv/chanserv.h" |
dbbee796 | 3 | #undef CS_NODB |
3294b10b | 4 | |
7f32dbdf P |
5 | #include "../lib/version.h" |
6 | ||
7 | MODULE_VERSION(QVERSION); | |
8 | ||
3294b10b CP |
9 | const flag rcflags[] = { |
10 | { 'a', QCFLAG_AUTOOP }, | |
11 | { 'b', QCFLAG_BITCH }, | |
12 | { 'c', QCFLAG_AUTOLIMIT }, | |
13 | { 'e', QCFLAG_ENFORCE }, | |
14 | { 'f', QCFLAG_FORCETOPIC }, | |
15 | { 'g', QCFLAG_AUTOVOICE }, | |
58a9529d | 16 | { 'h', QCFLAG_ACHIEVEMENTS }, |
3294b10b CP |
17 | { 'i', QCFLAG_INFO }, |
18 | { 'j', QCFLAG_JOINED }, | |
19 | { 'k', QCFLAG_KNOWNONLY }, | |
20 | { 'p', QCFLAG_PROTECT }, | |
21 | { 's', QCFLAG_NOINFO }, | |
22 | { 't', QCFLAG_TOPICSAVE }, | |
23 | { 'v', QCFLAG_VOICEALL }, | |
24 | { 'w', QCFLAG_WELCOME }, | |
25 | { 'z', QCFLAG_SUSPENDED }, | |
26 | { '\0', 0 } }; | |
27 | ||
28 | const flag rcuflags[] = { | |
29 | { 'a', QCUFLAG_AUTOOP }, | |
30 | { 'b', QCUFLAG_BANNED }, | |
31 | { 'd', QCUFLAG_DENY }, | |
32 | { 'g', QCUFLAG_AUTOVOICE }, | |
33 | { 'i', QCUFLAG_INFO }, | |
34 | { 'j', QCUFLAG_AUTOINVITE }, | |
35 | { 'k', QCUFLAG_KNOWN }, | |
36 | { 'm', QCUFLAG_MASTER }, | |
37 | { 'n', QCUFLAG_OWNER }, | |
38 | { 'o', QCUFLAG_OP }, | |
39 | { 'p', QCUFLAG_PROTECT }, | |
40 | { 'q', QCUFLAG_QUIET }, | |
41 | { 's', QCUFLAG_NOINFO }, | |
42 | { 't', QCUFLAG_TOPIC }, | |
43 | { 'v', QCUFLAG_VOICE }, | |
44 | { 'w', QCUFLAG_HIDEWELCOME }, | |
45 | ||
46 | { '\0', 0 } }; | |
47 | ||
48 | const flag ruflags[] = { | |
49 | { 'a', QUFLAG_ADMIN }, | |
58a9529d | 50 | { 'c', QUFLAG_ACHIEVEMENTS }, |
3294b10b CP |
51 | { 'd', QUFLAG_DEV }, |
52 | { 'D', QUFLAG_CLEANUPEXEMPT }, | |
53 | { 'g', QUFLAG_GLINE }, | |
54 | { 'G', QUFLAG_DELAYEDGLINE }, | |
55 | { 'h', QUFLAG_HELPER }, | |
56 | { 'i', QUFLAG_INFO }, | |
57 | { 'L', QUFLAG_NOAUTHLIMIT }, | |
58 | { 'n', QUFLAG_NOTICE }, | |
59 | { 'o', QUFLAG_OPER }, | |
60 | { 'p', QUFLAG_PROTECT }, | |
61 | { 'q', QUFLAG_STAFF }, | |
caee16ec CP |
62 | // { 's', QUFLAG_NOINFO }, |
63 | { 'I', QUFLAG_INACTIVE }, | |
3294b10b CP |
64 | { 'T', QUFLAG_TRUST }, |
65 | { 'z', QUFLAG_SUSPENDED }, | |
66 | { '\0', 0 } }; | |
67 | ||
68 | const flag mdflags[] = { | |
69 | { 'l', MDFLAG_LIMIT }, | |
70 | { 'b', MDFLAG_BANNED }, | |
71 | { 'u', MDFLAG_ACTLIMIT }, | |
72 | { '\0', 0 } }; | |
73 | ||
92acf9ae | 74 | u_int64_t cs_accountflagmap(reguser *rup) { |
3294b10b CP |
75 | authname a2, *a = &a2; |
76 | a->flags = 0; | |
77 | ||
78 | if(UIsOper(rup)) | |
79 | SetOperFlag(a); | |
80 | ||
81 | if(UIsDev(rup)) | |
82 | SetDeveloper(a); | |
83 | ||
84 | if(UIsAdmin(rup)) | |
85 | SetAdmin(a); | |
86 | ||
87 | if(UIsStaff(rup)) | |
88 | SetStaff(a); | |
89 | ||
90 | if(UIsHelper(rup)) | |
91 | SetSupport(a); | |
92 | ||
93 | return a->flags; | |
94 | } | |
95 | ||
92acf9ae | 96 | u_int64_t cs_accountflagmap_str(char *flags) { |
3294b10b CP |
97 | reguser r2, *r = &r2; |
98 | ||
99 | setflags(&r->flags, QUFLAG_ALL, flags, ruflags, REJECT_NONE); | |
100 | ||
101 | return cs_accountflagmap(r); | |
102 | } |