|
alias sessMan.save {
|
|
var %net = $network
|
|
var %i = 1
|
|
var %chanlist = $null
|
|
|
|
if ($1 == $null) {
|
|
%sessionName = $?"Session Name. (If blank, will use 'default')"
|
|
} else {
|
|
%sessionName = $1
|
|
}
|
|
|
|
if (%sessionName != $null) {
|
|
|
|
} else {
|
|
%sessionName = default
|
|
}
|
|
|
|
while (%i <= $chan(0)) {
|
|
if (%chanlist == $null) {
|
|
var %chanlist = $chan(%i)
|
|
} else {
|
|
var %chanlist = %chanlist $+ , $+ $chan(%i)
|
|
}
|
|
inc %i
|
|
}
|
|
|
|
writeini sessMan-sessions.ini %net %sessionName %chanlist
|
|
echo -sg Saved %chanlist
|
|
echo -sg $str($chr(160),2))to session: %sessionName
|
|
echo -sg $str($chr(160),2))for network: %net
|
|
}
|
|
|
|
alias sessMan.load {
|
|
if ($1 == $null) {
|
|
%sessionName = default
|
|
} else {
|
|
%sessionName = $1
|
|
}
|
|
|
|
%joinstring = $readini(sessMan-sessions.ini,$network,%sessionName)
|
|
if (%joinString == $null) {
|
|
if ( $2 != quiet ) {
|
|
echo -ag Session Does Not Exist
|
|
}
|
|
return
|
|
} else {
|
|
if ( $readini(sessMan-options.ini,config,autoPart) == true ) {
|
|
sessman.partAll
|
|
}
|
|
join %joinstring
|
|
}
|
|
}
|
|
|
|
alias sessMan.partAll {
|
|
%i = 1
|
|
while (%i <= $chan(0)) {
|
|
part $chan(%i)
|
|
inc %i
|
|
}
|
|
}
|
|
|
|
on *:DISCONNECT:{
|
|
if ( $readini(sessMan-options.ini,config,autoSave) == true ) {
|
|
echo -ag Saving currently connected channels to session 'previous'
|
|
sessMan.save previous
|
|
}
|
|
}
|
|
|
|
on *:CONNECT:{
|
|
if ( $readini(sessMan-options.ini,config,autoJoin) == truedef ) {
|
|
sessMan.load default quiet
|
|
} elseif ( $readini(sessMan-options.ini,config,autoJoin) == trueprev ) {
|
|
sessMan.load previous quiet
|
|
}
|
|
}
|
|
|
|
menu channel,status {
|
|
Session Manager
|
|
.Save
|
|
..Save New:/sessMan.save
|
|
..-
|
|
..$submenu($sessMan.menuSess($1,save))
|
|
.Load
|
|
..$submenu($sessMan.menuSess($1,load))
|
|
.-
|
|
.Options
|
|
..Auto Part current channels on loading
|
|
...Enable $+ $iif($readini(sessMan-options.ini,config,autoPart) == true,$chr(160) $+ (Selected), ):writeini sessMan-options.ini config autoPart true
|
|
...Disable $+ $iif($readini(sessMan-options.ini,config,autoPart) == $null,$chr(160) $+ (Selected), ):remini sessMan-options.ini config autoPart
|
|
..Auto Join Session on Connect
|
|
...Join Default $+ $iif($readini(sessMan-options.ini,config,autoJoin) == truedef,$chr(160) $+ (Selected), ):writeini sessMan-options.ini config autoJoin truedef
|
|
...Join Previous $+ $iif($readini(sessMan-options.ini,config,autoJoin) == trueprev,$chr(160) $+ (Selected), ):writeini sessMan-options.ini config autoJoin trueprev
|
|
...Disable $+ $iif($readini(sessMan-options.ini,config,autoJoin) == $null,$chr(160) $+ (Selected), ):remini sessMan-options.ini config autoJoin
|
|
..Auto Save 'previous' on Disconnect
|
|
...Enable $+ $iif($readini(sessMan-options.ini,config,autoSave) == true,$chr(160) $+ (Selected), ):writeini sessMan-options.ini config autoSave true
|
|
...Disable $+ $iif($readini(sessMan-options.ini,config,autoSave) == $null,$chr(160) $+ (Selected), ):remini sessMan-options.ini config autoSave
|
|
..-
|
|
..Delete Session
|
|
...$submenu($sessMan.menuOpt($1,deleteSession))
|
|
}
|
|
|
|
alias sessMan.menuOpt {
|
|
if ( $2 == deleteSession ) {
|
|
if ( $1 == $null ) {
|
|
%pos = 1
|
|
} else {
|
|
%pos = $1
|
|
}
|
|
|
|
%sess = $ini(sessMan-sessions.ini,$network,%pos)
|
|
if ( %sess == $null ) {
|
|
return
|
|
} else {
|
|
return Delete %sess $+ :remini sessMan-sessions.ini $network %sess
|
|
}
|
|
} else {
|
|
return
|
|
}
|
|
}
|
|
|
|
alias sessMan.menuSess {
|
|
if ( $1 == $null ) {
|
|
%pos = 1
|
|
} else {
|
|
%pos = $1
|
|
}
|
|
|
|
%sess = $ini(sessMan-sessions.ini,$network,%pos)
|
|
if ( %sess == $null ) {
|
|
return
|
|
} else {
|
|
if ( $2 = save ) {
|
|
return %sess $+ :sessMan.save %sess
|
|
} elseif ($2 = load ) {
|
|
return %sess $+ :sessMan.load %sess
|
|
} else {
|
|
return
|
|
}
|
|
}
|
|
}
|