diff options
Diffstat (limited to 'user/HTC/admin.htc')
| -rw-r--r-- | user/HTC/admin.htc | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/user/HTC/admin.htc b/user/HTC/admin.htc new file mode 100644 index 0000000..c1369e9 --- /dev/null +++ b/user/HTC/admin.htc | |||
| @@ -0,0 +1,143 @@ | |||
| 1 | \clearance{ADM} | ||
| 2 | \on.clear{SYS} | ||
| 3 | {\cond{T.group}{\user.group}\cond{T.group2}{\user.group}} | ||
| 4 | {\const{T.group}{\user.group}\const{T.group2}{\user.group}} | ||
| 5 | \cond{T.ID}{0} | ||
| 6 | \cond{T.EDIT}{0} | ||
| 7 | \cond{T.email}{} | ||
| 8 | \cond{T.name}{} | ||
| 9 | \cond{T.cmd}{} | ||
| 10 | \ldef{uclear}{x}{\forall{ii}{\1}{[ii left ":"] }} | ||
| 11 | \page{ | ||
| 12 | \db{USERS}{ | ||
| 13 | [groups:=\getgroups]; | ||
| 14 | [users:=\query{\allowed{\T.group}}{[UID] }]; | ||
| 15 | \find.rec{\T.ID}{ | ||
| 16 | [this:=users which \T.ID]; | ||
| 17 | \if(this>1){\href{\this?ID=[users nth (this-1)]}{Prev}|}; | ||
| 18 | \href{\this}{List}; | ||
| 19 | \if(this<count users){|\href{\this?ID=[users nth (this+1)]}{Next}} | ||
| 20 | \form{ | ||
| 21 | \variable{ID}(UID); | ||
| 22 | \if{\T.EDIT}{ | ||
| 23 | \table{bgcolor=#dddddd cellspacing=4 cellpadding=4}{ | ||
| 24 | \tr{\td{align=right}{User ID:}\td(UID)} | ||
| 25 | \tr{\td{align=right}{Alias:}\td{\input{alias}{16}(ALIAS)}} | ||
| 26 | \tr{\td{align=right}{Name:}\td{\input{name}{40}(NAME)}} | ||
| 27 | \tr{\td{align=right}{E-mail:}\td{\input{email}{64}(EMAIL)}} | ||
| 28 | } | ||
| 29 | \button{Update} | ||
| 30 | }{ | ||
| 31 | \table{bgcolor=#dddddd cellspacing=4 cellpadding=4}{ | ||
| 32 | \tr{\td{align=right}{User ID:}\td(UID)} | ||
| 33 | \tr{\td{align=right}{Alias:}\td{\href{\req.uri?ID=[UID]&EDIT=1}(ALIAS)}} | ||
| 34 | \tr{\td{align=right}{Name:}\td(NAME)} | ||
| 35 | \tr{\td{align=right}{E-mail:}\td{\href{\req.uri?ID=[UID]&EDIT=1}(EMAIL)}} | ||
| 36 | \tr{\td{align=right}{Group:}\td(GROUP)} | ||
| 37 | \tr{\td{align=right}{Clearance:}\td{\uclear(ACCESS)}} | ||
| 38 | } | ||
| 39 | \on.clear{ROOT}{ | ||
| 40 | \select{group}{ | ||
| 41 | \forall{i}(groups){\option{\if(i eq \T.group){selected}}(i)(i)} | ||
| 42 | }; | ||
| 43 | \button{+}\button{-}\button{=} | ||
| 44 | \indent{3}\input{group2}{8}\button{++} | ||
| 45 | \if(count ACCESS <= 1){\button{DELETE}} | ||
| 46 | }{ | ||
| 47 | \button{\if(\uclear(ACCESS) which \T.group){-}{+} \T.group} | ||
| 48 | } | ||
| 49 | } | ||
| 50 | } | ||
| 51 | }{ | ||
| 52 | \h1{Admin \T.group} | ||
| 53 | \form{ | ||
| 54 | \on.clear{SYS}{ | ||
| 55 | \select{group}{ | ||
| 56 | \on.clear{ROOT}{ | ||
| 57 | \forall{ii}(groups){\option{\if(ii eq \T.group){selected}}(ii)(ii)} | ||
| 58 | \option{\if(\T.group eq ""){selected}}{}{none} | ||
| 59 | }{ | ||
| 60 | \forall{ii}{\user.clear}{ | ||
| 61 | \option{\if(ii eq \T.group){selected}}(ii)(ii) | ||
| 62 | } | ||
| 63 | } | ||
| 64 | } | ||
| 65 | \button{Select Group} | ||
| 66 | \indent{3} | ||
| 67 | } | ||
| 68 | \input{email}{24} | ||
| 69 | \indent{2} | ||
| 70 | \button{Add User} | ||
| 71 | } | ||
| 72 | <p> | ||
| 73 | \table{ | ||
| 74 | \tr{ | ||
| 75 | \td{width=10%}{\bf{ID}} | ||
| 76 | \td{width=10%}{\bf{Alias}} | ||
| 77 | \td{width=40%}{\bf{Name}} | ||
| 78 | \td{width=10%}{\bf{GROUP}} | ||
| 79 | \td{width=30%}{\bf{CLEAR}} | ||
| 80 | } | ||
| 81 | \db{USERS}{ | ||
| 82 | \query{\allowed{\T.group}}{ | ||
| 83 | \tr{ | ||
| 84 | \td{\href{\req.uri?ID=[UID]}(UID)}; | ||
| 85 | \td{\href{\req.uri?ID=[UID]&EDIT=1}(ALIAS)}; | ||
| 86 | \td(NAME); | ||
| 87 | \td(GROUP); | ||
| 88 | \td{\uclear(ACCESS)} | ||
| 89 | } | ||
| 90 | } | ||
| 91 | } | ||
| 92 | } | ||
| 93 | } | ||
| 94 | } | ||
| 95 | } | ||
| 96 | \onpost{ | ||
| 97 | \switch(first \T.cmd) | ||
| 98 | {++}{ | ||
| 99 | \log{addclear \T.group2 for \T.ID}; | ||
| 100 | \su{\T.ID}{\user.access.add{\T.group2}\user.update}; | ||
| 101 | \redirect{\this?ID=\T.ID} | ||
| 102 | } | ||
| 103 | {+}{ | ||
| 104 | \log{addclear \T.group for \T.ID}; | ||
| 105 | \su{\T.ID}{\user.access.add{\T.group}\user.update}; | ||
| 106 | \redirect{\this?ID=\T.ID} | ||
| 107 | } | ||
| 108 | {-}{ | ||
| 109 | \log{remclear \T.group for \T.ID}; | ||
| 110 | \su{\T.ID}{\user.access.rem{\T.group}\user.update}; | ||
| 111 | \redirect{\this?ID=\T.ID} | ||
| 112 | } | ||
| 113 | {=}{ | ||
| 114 | \log{set group \T.group for \T.ID}; | ||
| 115 | \on.clear{ROOT}{\su{\T.ID}{\user.group.set{\T.group}\user.update}} | ||
| 116 | \redirect{\this?ID=\T.ID} | ||
| 117 | } | ||
| 118 | {Update}{ | ||
| 119 | \log{update name for \T.ID}; | ||
| 120 | \su{\T.ID}{ | ||
| 121 | \user.name.set{\T.name}; | ||
| 122 | \user.alias.set{\T.alias}; | ||
| 123 | \user.emails.set{\T.email}; | ||
| 124 | \user.update; | ||
| 125 | } | ||
| 126 | \redirect{\this?ID=\T.ID} | ||
| 127 | } | ||
| 128 | {Select}{ | ||
| 129 | \on.clear{SYS}{\user.group.set{\T.group}\user.update} | ||
| 130 | \redirect{\referer} | ||
| 131 | } | ||
| 132 | {DELETE}{ | ||
| 133 | \log{DELETE \T.ID}; | ||
| 134 | \on.clear{ROOT}{\remuser{\T.ID}}; | ||
| 135 | \redirect{\referer} | ||
| 136 | } | ||
| 137 | { | ||
| 138 | [uid:=\getuser{\T.email}]; | ||
| 139 | \log{add \T.group to [uid]}; | ||
| 140 | \su(uid){\user.access.add{\T.group}\user.update}; | ||
| 141 | \redirect{\this?ID=[uid]} | ||
| 142 | } | ||
| 143 | } | ||
