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