rendered paste body; Usage:
; /manager
alias manager {
if (!$dialog(manager)) { dialog -m manager manager }
else { dialog -v manager }
}
alias -l sini { return $readini(shadyirc.ini,$1,$2) }
menu status,menubar,channel {
Manager:/manager
}
dialog manager {
title "Management :: Sockets (Total: 0)"
size -1 -1 192 105
option dbu
box "Menu", 1, 2 3 51 98
box "", 2, 56 3 133 98
link "Sockets", 3, 6 13 44 7
list 7, 61 18 123 67, size extsel vsbar hsbar
text "Name , IP , Port , Type (Status)", 8, 61 8 86 8
button "Close", 9, 152 87 33 11, disable
button "Button", 10, 25 123 11 6, hide ok
button "Update", 11, 116 87 33 11
link "Hash Tables", 4, 6 22 44 7
list 12, 59 9 127 76, size extsel vsbar hsbar
button "Delete", 13, 153 87 33 11
button "Update", 14, 117 87 33 11
link "Timers", 15, 6 31 44 7
list 16, 59 17 127 69, size extsel vsbar hsbar
button "Stop", 17, 153 87 33 11
button "Update", 18, 117 87 33 11
text "Name , Repition and Interval , Command", 19, 59 8 127 8
menu "File", 610
item "Copy Selected", 611, 610
item "Exit", 612, 610
}
on 1:dialog:manager:*:*: {
if ( $devent = init ) { manager.dshow sockets }
if ( $devent = menu ) {
if ( $did = 612 ) { dialog -c manager }
if ( $did = 611 ) {
clipboard
if ( $did(manager,7).visible ) {
var %x = 0, %y = $did(manager,7,0).sel
while ( %x < %y ) {
inc %x 1
clipboard -a $did(manager,7,$did(manager,7,%x).sel).text $+ $crlf
}
}
if ( $did(manager,12).visible ) {
var %x = 0, %y = $did(manager,12,0).sel
while ( %x < %y ) {
inc %x 1
clipboard -a $did(manager,12,$did(manager,12,%x).sel).text $+ $crlf
}
}
if ( $did(manager,16).visible ) {
var %x = 0, %y = $did(manager,16,0).sel
while ( %x < %y ) {
inc %x 1
clipboard -a $did(manager,16,$did(manager,16,%x).sel).text $+ $crlf
}
}
}
}
if ( $devent = sclick ) {
if ( $did(manager,7,0).sel > 0 ) { did -e manager 9 }
else { did -b manager 9 }
if ( $did(manager,12,0).sel > 0 ) { did -e manager 13 }
else { did -b manager 13 }
if ( $did(manager,16,0).sel > 0 ) { did -e manager 17 }
else { did -b manager 17 }
if ( $did = 15 ) || ( $did = 18 ) { manager.dshow timers | did -b manager 17 }
if ( $did = 17 ) {
var %x = 0,%y = $did(manager,16,0).sel
while ( %x < %y ) {
inc %x 1
.timer [ $+ [ $gettok($did(manager,16,$did(manager,16,%x).sel).text,1,44) ] ] off
}
manager.dshow timers
}
if ( $did = 13 ) {
var %x = 0,%y = $did(manager,12,0).sel
while ( %x < %y ) {
inc %x 1 | var %z = $did(manager,12,%x).sel
if ( $chr(124) $+ -* !iswm $did(manager,12,$did(manager,12,%x).sel).text ) && ( `-* !iswm $did(manager,12,$did(manager,12,%x).sel).text ) { hfree $did(manager,12,$did(manager,12,%x).sel).text }
else {
while (1) {
dec %z 1
if ( |-* !iswm $did(manager,12,%z).text ) && ( `-* !iswm $did(manager,12,%z).text ) && ( $hget($did(manager,12,%z).text) != $null ) { hdel $did(manager,12,%z).text $gettok($remove($did(manager,12,$did(manager,12,%x).sel).text,|-,`-),1,$asc(=)) | break }
if ( %z = 0 ) { break }
}
}
}
manager.dshow hash
}
if ( $did = 11 ) { manager.dshow sockets | did -b manager 9 }
if ( $did = 14 ) { manager.dshow hash | did -b manager 13 }
if ( $did = 3 ) { manager.dshow sockets | did -b manager 9 }
if ( $did = 4 ) { manager.dshow hash | did -b manager 13 }
if ( $did = 9 ) {
var %x = 0,%y = $did(manager,7,0).sel
while ( %x < %y ) {
inc %x 1
sockclose $gettok($did(manager,7,%x).seltext,1,44)
}
manager.dshow sockets
}
}
}
alias manager.dshow {
did -h manager 11
did -h manager 12
did -h manager 13
did -h manager 14
did -h manager 7
did -h manager 8
did -h manager 9
did -h manager 16
did -h manager 17
did -h manager 18
did -h manager 19
did -r manager 7
did -r manager 16
did -r manager 12
if ( $1 = timerupdate ) {
if ( !$dialog(management)) { .timertimerupdate off }
}
if ( $1 = timers ) {
if ( $timer(0) > $sini(manager,timer) ) || ( $sini(manager,timer) = $null ) { writeini shadyirc.ini manager timer $timer(0) }
dialog -t manager Management :: Timers (Total: $timer(0) $+ ) (Record: $sini(manager,timer) $+ )
var %x = 0, %y = $timer(0)
while ( %x < %y ) {
inc %x 1
did -i manager 16 $calc($did(manager,16).lines + 1) $timer(%x) $+ , $timer(%x).reps $+ times & $timer(%x).delay $+ secs, $timer(%x).com
}
did -v manager 16,17,18,19
did -z manager 16
}
if ( $1 = sockets ) {
if ( $sock(*,0) > $sini(manager,socket) ) || ( $sini(manager,socket) = $null ) { writeini shadyirc.ini manager socket $sock(*,0) }
dialog -t manager Management :: Sockets (Total: $sock(*,0) $+ ) (Record: $sini(manager,socket) $+ )
var %x = 0, %y = $sock(*,0)
while ( %x < %y ) {
inc %x 1
did -i manager 7 1 $sock(*,%x) $+ , $sock(*,%x).ip $+ , $sock(*,%x).port $+ , $sock(*,%x).type ( $+ $sock(*,%x).status $+ )
}
did -v manager 7
did -v manager 8
did -v manager 9
did -v manager 11
did -z manager 7
}
if ( $1 = hash ) {
if ( $hget(0) > $sini(manager,hash) ) || ( $sini(manager,hash) = $null ) { writeini shadyirc.ini manager hash $hget(0) }
dialog -t manager Management :: Hash Tables (Total: $hget(0) $+ ) (Record: $sini(manager,hash) $+ )
var %x = 0,%y = $hget(0)
while ( %x < %y ) {
inc %x 1
did -i manager 12 $calc($did(manager,12).lines +1) $hget(%x)
var %a = 0, %b = $hget($hget(%x),0).item
while ( %a < %b ) {
inc %a 1
if ( %a != %b ) did -i manager 12 $calc($did(manager,12).lines +1) |- $+ $hget($hget(%x),%a).item $+ = $+ $hget($hget(%x),%a).data
if ( %a == %b ) did -i manager 12 $calc($did(manager,12).lines +1) `- $+ $hget($hget(%x),%a).item $+ = $+ $hget($hget(%x),%a).data
}
did -z manager 12
}
did -v manager 12
did -v manager 13
did -v manager 14
}