@program webmin.muf
1 10000 d
i
$include $lib/cgiparse
$include $lib/alynna
$include $web/login
$def moderator? 5 perm.check
$def operator? 6 perm.check
$def admin? 7 perm.check
$def god? 8 perm.check
INCLUDE_WEBVARS
: perm.denyEx
var! level
{ "
Permission Denied
" }w
{ "Go away..." }w
level @ if
{ "WWW(Admin): Permission denied " myref "@" myip ": " myref not if 0 else myref mlevel then "<" level @ }cat logstatus
else
{ "WWW(Admin): Permission denied " myref "@" myip }cat logstatus
then
;
: perm.deny
0 perm.denyEx
;
: perm.check
var! level
myref not if
level @ perm.denyEx 0
else
myref mlevel level @ < if
level @ perm.denyEx 0
else
1
then
then
;
: sys.mainmenu
{ "Options:
" }w
;
: list.change ;
: list.edit ;
: prop.change ;
: prop.edit ;
: param.change ;
: param.edit ;
: news.edit
{ "Edit news
" }w
{ "" }w
;
: news.change
WWW "NEWS" { "News" raw foreach swap pop dup not if pop "{null}" then repeat }array array_put_proplist
{ "... news was edited ...
" }w
news.edit
;
: main
PARSE_HEADERS
{ WWW "_/www/header" mpilist }w
moderator? if
wparam @ tolower case
"list-change" smatch when admin? if list.change then end
"list-edit" smatch when admin? if list.edit then end
"prop-change" smatch when admin? if prop.change then end
"prop-edit" smatch when admin? if prop.edit then end
"param-change" smatch when admin? if param.change then end
"param-edit" smatch when admin? if param.edit then end
"news-change" smatch when operator? if news.change then end
"news-edit" smatch when operator? if news.edit then end
default pop sys.mainmenu end
endcase
then
{ WWW "_/www/footer" mpilist }w
;
.
c
q