rendered paste bodydialog sfm {
title "Spamfilter Manager"
size -1 -1 333 231
option dbu
box "Filters", 1, 2 2 330 106
list 2, 4 8 325 80, size vsbar
button "Populate List", 3, 5 88 323 8
box "Type", 4, 2 109 60 110
edit "", 5, 1 220 330 10, disable center
box "Action", 6, 62 109 60 110
check "Channel Message", 7, 5 117 55 10
check "Private Message", 8, 5 127 55 10
check "Private Notice", 9, 5 137 55 10
check "Channel Notice", 10, 5 147 55 10
check "Part Message", 11, 5 157 55 10
check "Quit Message", 12, 5 167 55 10
check "Away", 13, 5 177 55 10
check "User", 14, 5 187 55 10
check "DCC", 15, 5 197 55 10
check "Topic", 16, 5 207 55 10
radio "Block", 17, 65 117 55 10
radio "Temp Shun", 18, 65 127 55 10
radio "Shun", 19, 65 137 55 10
radio "Shun", 20, 65 147 55 10
radio "K:Line", 21, 65 157 55 10
radio "G:Line", 22, 65 167 55 10
radio "Z:Line", 23, 65 177 55 10
radio "GZ:Line", 24, 65 187 55 10
radio "Kill", 25, 65 197 55 10
radio "DCC Block", 26, 65 207 55 10
box "Add && Edit", 27, 122 109 115 110
box "Details", 28, 238 109 94 36
text "Reason:", 29, 123 118 20 8
edit "", 30, 145 117 90 10, autohs
text "Duration:", 31, 123 128 23 8
edit "", 32, 145 127 90 10, autohs
text "RegExp:", 33, 123 148 21 8
edit "", 34, 145 147 90 10, autohs
button "Add", 35, 124 184 110 10
button "Edit", 36, 124 195 110 10
button "Remove", 37, 124 206 110 10
text "Added by _________", 38, 240 118 90 8
text "Added on _________", 39, 240 130 90 8
button "Done", 40, 293 208 37 12, ok
button "Search List", 41, 5 98 323 8
button "Undo Remove", 42, 238 208 37 12
}
menu * {
.SpamFilterManager:/dialog -md sfm sfm
}
on *:DIALOG:sfm:sclick:*: {
if ($did == 3) { if ($input(Are you sure you wish to re-populate the Filter List?,y,SpamFilter Manager)) { .did -r $dname 2 | $iif($hget(sfm,1).data,.hfree sfm) | .did -ra $dname 5 Populating list... | .enable #SFM | .spamfilter } | .dialog -v $dname }
if ($did == 2) {
.popdata
}
if ($did == 35) {
if ($did($dname,17).state == 1) { var %act = block - }
if ($did($dname,18).state == 1) { var %act = tempshun - }
if ($did($dname,19).state == 1) { var %act = shun $iif($did($dname,32),$v1,-) }
if ($did($dname,20).state == 1) { var %act = viruschan - }
if ($did($dname,21).state == 1) { var %act = kline $iif($did($dname,32),$v1,-) }
if ($did($dname,22).state == 1) { var %act = gline $iif($did($dname,32),$v1,-) }
if ($did($dname,23).state == 1) { var %act = zline $iif($did($dname,32),$v1,-) }
if ($did($dname,24).state == 1) { var %act = gzline $iif($did($dname,32),$v1,-) }
if ($did($dname,25).state == 1) { var %act = kill - }
if ($did($dname,26).state == 1) { var %act = dccblock - }
spamfilter add $+($iif($did($dname,7).state == 1,c),$iif($did($dname,8).state == 1,p),$iif($did($dname,9).state == 1,n),$iif($did($dname,10).state == 1,N) $&
,$iif($did($dname,11).state == 1,P),$iif($did($dname,12).state == 1,q),$iif($did($dname,13).state == 1,a),$iif($did($dname,14).state == 1,u) $&
,$iif($did($dname,15).state == 1,d),$iif($did($dname,16).state == 1,t)) %act $replace($did($dname,30),$chr(32),_) $did($dname,34)
.sis -r $dname 5 New Filter added!
}
if ($did == 36) {
.tokenize 32 $did($dname,2).seltext
if ($1 == **) { halt }
.did -ra $dname 5 Confirming Edit...
if (!$input(Are you sure you wish to edit the following regex: $crlf $8-,y,SpamFilter Manager)) { .did -ra $dname 5 Edit canceled. | .dialog -v $dname | halt }
.dialog -v $dname
.did -ra $dname 5 Editing RegExp: $8-
if ($did($dname,17).state == 1) { var %act = block - }
if ($did($dname,18).state == 1) { var %act = tempshun - }
if ($did($dname,19).state == 1) { var %act = shun $iif($did($dname,32),$v1,-) }
if ($did($dname,20).state == 1) { var %act = viruschan - }
if ($did($dname,21).state == 1) { var %act = kline $iif($did($dname,32),$v1,-) }
if ($did($dname,22).state == 1) { var %act = gline $iif($did($dname,32),$v1,-) }
if ($did($dname,23).state == 1) { var %act = zline $iif($did($dname,32),$v1,-) }
if ($did($dname,24).state == 1) { var %act = gzline $iif($did($dname,32),$v1,-) }
if ($did($dname,25).state == 1) { var %act = kill - }
if ($did($dname,26).state == 1) { var %act = dccblock - }
.did -ra $dname 5 Adding new format...
spamfilter add $+($iif($did($dname,7).state == 1,c),$iif($did($dname,8).state == 1,p),$iif($did($dname,9).state == 1,n),$iif($did($dname,10).state == 1,N) $&
,$iif($did($dname,11).state == 1,P),$iif($did($dname,12).state == 1,q),$iif($did($dname,13).state == 1,a),$iif($did($dname,14).state == 1,u) $&
,$iif($did($dname,15).state == 1,d),$iif($did($dname,16).state == 1,t)) %act $replace($did($dname,30),$chr(32),_) $did($dname,34)
.tokenize 32 $hget(sfm,$did($dname,2).sel)
.did -ra $dname 5 Removing old format...
spamfilter del $2 $3 $iif($4 != 0,$v1,-) $7 $9-
.did -ra $dname 5 Edit Complete!
}
if ($did == 37) {
.tokenize 32 $did($dname,2).seltext
if ($1 == **) { halt }
.did -ra $dname 5 Confirming Delete...
if (!$input(Are you sure you wish to delete the following regex: $crlf $8-,y,SpamFilter Manager)) { .did -ra $dname 5 Delete canceled. | .dialog -v $dname | halt }
.dialog -v $dname
.did -ra $dname 5 Deleting RegExp: $8-
.did -o $dname 2 $did($dname,2).sel ** Deleted **
if ($did($dname,17).state == 1) { var %act = block - }
if ($did($dname,18).state == 1) { var %act = tempshun - }
if ($did($dname,19).state == 1) { var %act = shun $iif($did($dname,32),$v1,-) }
if ($did($dname,20).state == 1) { var %act = viruschan - }
if ($did($dname,21).state == 1) { var %act = kline $iif($did($dname,32),$v1,-) }
if ($did($dname,22).state == 1) { var %act = gline $iif($did($dname,32),$v1,-) }
if ($did($dname,23).state == 1) { var %act = zline $iif($did($dname,32),$v1,-) }
if ($did($dname,24).state == 1) { var %act = gzline $iif($did($dname,32),$v1,-) }
if ($did($dname,25).state == 1) { var %act = kill - }
if ($did($dname,26).state == 1) { var %act = dccblock - }
spamfilter del $+($iif($did($dname,7).state == 1,c),$iif($did($dname,8).state == 1,p),$iif($did($dname,9).state == 1,n),$iif($did($dname,10).state == 1,N) $&
,$iif($did($dname,11).state == 1,P),$iif($did($dname,12).state == 1,q),$iif($did($dname,13).state == 1,a),$iif($did($dname,14).state == 1,u) $&
,$iif($did($dname,15).state == 1,d),$iif($did($dname,16).state == 1,t)) %act $replace($did($dname,30),$chr(32),_) $did($dname,34)
}
if ($did == 41) {
var %str = $$?="Enter a search string (Will search reason and filter!)"
if (!%str) { .dialog -v $dname | halt }
.dialog -v $dname
.did -ra $dname 5 Searching...
var %match = $hfind(sfm,%str,1,w).data
if (!%match) { .did -ra $dname 5 Search returned no results... | halt }
.did -c $dname 2 %match
.popdata
.did -ra $dname 5 Search finished!
}
if ($did == 42) {
var %p = $did($dname,2).sel
if ($did($dname,2).seltext != ** Deleted **) { halt }
if (!$input(Are you sure you wish to restore the following regex: $crlf $gettok($hget(sfm,%p),9-,32),y,SpamFilter Manager)) { .did -ra $dname 5 Restore canceled. | .dialog -v $dname | halt }
.dialog -v $dname
.did -o $dname 2 %p $gettok($hget(sfm,$did($dname,2).sel),2-,32)
.tokenize 32 $hget(sfm,%p)
spamfilter add $2 $3 $iif($4 != 0,$v1,-) $7 $9-
.did -ra $dname 5 RegExp Restored!
}
}
alias popdata {
if (!$dialog(sfm)) { halt }
.tokenize 32 $did(sfm,2).seltext
.did -u sfm 7-16,17-26
if ($1 == **) { halt }
if (c isincs $1) { .did -c sfm 7 }
if (p isincs $1) { .did -c sfm 8 }
if (n isincs $1) { .did -c sfm 9 }
if (N isincs $1) { .did -c sfm 10 }
if (P isincs $1) { .did -c sfm 11 }
if (q isincs $1) { .did -c sfm 12 }
if (a isincs $1) { .did -c sfm 13 }
if (u isincs $1) { .did -c sfm 14 }
if (d isincs $1) { .did -c sfm 15 }
if (t isincs $1) { .did -c sfm 16 }
if ($2 == block) { .did -c sfm 17 }
if ($2 == tempshun) { .did -c sfm 18 }
if ($2 == shun) { .did -c sfm 19 | .did -ra sfm 32 $3 }
if ($2 == viruschan) { .did -c $sfm 20 }
if ($2 == kline) { .did -c sfm 21 | .did -ra sfm 32 $3 }
if ($2 == gline) { .did -c sfm 22 | .did -ra sfm 32 $3 }
if ($2 == zline) { .did -c sfm 23 | .did -ra sfm 32 $3 }
if ($2 == gzline) { .did -c sfm 24 | .did -ra sfm 32 $3 }
if ($2 == kill) { .did -c sfm 25 }
if ($2 == dccblock) { .did -c sfm 26 }
.did -ra sfm 30 $replace($6,_,$chr(32))
.did -ra sfm 32 $iif($3 != 0,$v1)
.did -ra sfm 34 $8-
.did -ra sfm 38 Added by $gettok($7,1,33)
.did -ra sfm 39 Added on $asctime($calc($ctime - $4),dd/mm/yy HH:nn:ss)
}
#SFM off
raw 229:*: { .did -a sfm 2 $3- | .did -ra sfm 5 Populating with $9- | .hadd -m sfm $calc($hget(sfm,0).data + 1) $2- | halt }
raw 219:*: { .did -ra sfm 5 Done populating Filter List - $hget(sfm,0).data Entries added | .disable #SFM | halt }
#SFM end