rendered paste bodydialog -l blist {
title "Blacklist Manager"
size -1 -1 324 144
option dbu
check "&Enable Blacklist", 1, 8 8 52 10
list 2, 8 24 161 109, size extsel
box "Blacklist Info", 3, 176 8 141 113
text "Banmask:", 4, 184 20 25 8
edit "", 5, 184 31 125 10, autohs
text "Reason for Blacklist:", 6, 184 48 50 8
edit "", 7, 184 60 125 10, autohs
text "Date Added/Modified:", 8, 184 76 55 8
edit "", 9, 184 88 125 10, read
button "&New", 10, 184 104 37 12
button "&Save", 11, 228 104 37 12
button "&Delete", 12, 272 104 37 12
check "Chec&k on Close", 13, 188 128 50 10
button "&Close", 14, 244 128 37 12, ok
}
}
on *:DIALOG:blist:sclick:2: {
did -e blist 10,12
if ($did(blist,2,0).sel == 1) {
did -e blist 5,7,9
did -b blist 11
set %blist.num $did(blist,2,1).sel
did -ra blist 5 $ulist(*,blist,%blist.num)
did -ra blist 7 $gettok($ulist(*,blist,%blist.num).info,6-,32)
did -ra blist 9 $gettok($ulist(*,blist,%blist.num).info,1-5,32)
}
if ($did(blist,2,0).sel > 1) {
did -rb blist 5,7,9
}
}
on *:DIALOG:blist:edit:5,7: {
did -ra blist 9 $asctime
if ($did(blist,5).text == $null) || ($did(blist,7).text == $null) || (*!*@* !iswm $did(blist,5).text) || (*!*@* == $did(blist,5).text) did -b blist 11
if ($did(blist,5).text != $null) && ($did(blist,7).text != $null) && (*!*@* iswm $did(blist,5).text) && (*!*@* != $did(blist,5).text) did -e blist 11
}
on *:DIALOG:blist:sclick:10: {
unset %blist.num
did -re blist 5,7,9
did -b blist 11,12
did -f blist 5
}
on *:DIALOG:blist:sclick:11: {
if (%blist.num) .ruser blist $ulist(*,blist,%blist.num)
.auser -a blist $gettok($did(blist,5).text,1,32) $asctime $did(blist,7).text
did -r blist 2,5,7,9
did -b blist 5,7,9,11,12
did -c blist 13
var %c 1
while (%c <= $ulist(*,blist,0)) {
did -a blist 2 $ulist(*,blist,%c)
inc %c
}
did -f blist 14
}
on *:DIALOG:blist:sclick:12: {
if ($did(blist,2,0).sel == 1) {
.ruser blist $did(blist,5).text
did -f blist 2
}
if ($did(blist,2,0).sel > 1) {
var %b 1
while ($did(blist,2,%b).sel) {
.ruser blist $did(blist,2,$did(blist,2,%b).sel).text
inc %b
}
}
did -r blist 2,5,7,9
did -b blist 5,7,9,11,12
var %c 1
while ($ulist(*,blist,%c)) {
did -a blist 2 $ulist(*,blist,%c)
inc %c
}
}
on *:DIALOG:blist:close:0: {
unset %blist.num
if ($did(blist,1).state != 1) .disable #blist
if ($did(blist,1).state == 1) .enable #blist
if ($did(blist,13).state != 1) || ($group(#blist) != on) halt
if ($did(blist,13).state == 1) && ($group(#blist) == on) blkick
}
alias f7 blist
alias blist {
unset %blist.num
dialog -amo blist blist
}
alias cf7 {
if ($group(#blist)) {
if ($group(#blist) == on) {
.disable #blist
echo -a Blacklist is now OFF.
}
else {
.enable #blist
echo -a Blacklist is now ON.
}
}
else echo -a Group #blist does not exist or is damaged. Please re-install file.
}
#blist on
alias blkick {
var %a 1
while ($chan(%a)) {
var %c 1
while ($ulist(*,blist,%c)) {
var %b 1
while ($ialchan($ulist(*,blist,%c),$chan(%a),%b).nick) {
if ($v1 != $me) {
mode $chan(%a) +b $ulist(*,blist,%c)
kick $chan(%a) $v1 Blacklisted - $gettok($ulist(*,blist,%c).info,6-,32)
}
inc %b
}
inc %c
}
inc %a
}
}
on blist:JOIN:#: {
if ($ulist($fulladdress,blist)) {
mode $chan +b $ulist($fulladdress,blist,1)
kick $chan $nick Blacklisted - $gettok($ulist($fulladdress,blist,1).info,6-,32)
}
}
on *:NICK: {
if ($newnick != $me) && ($ulist($ial($newnick,1),blist)) {
var %a 1
while ($comchan($newnick,%a)) {
mode $comchan($newnick,%a) +b $ulist($ial($newnick,1),blist,1)
kick $comchan($newnick,%a) $newnick Blacklisted - $gettok($ulist($ial($newnick,1),blist,1).info,6-,32)
inc %a
}
}
}
#blist end