; 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 }