All pastes #761158 Raw Edit

Anonymous

public text v1 · immutable
·published 2007-11-04 17:38 UTC
rendered paste body

;//Away System
alias aways { dialog -m away_s away_s } 
dialog away_s {
  title "Away"
  size -1 -1 118 150
  option dbu
  box "", 1, 3 0 112 32
  box "", 2, 3 34 112 60
  edit "כינוי", 3, 5 19 28 10, read center
  edit "", 4, 33 5 79 10, autohs
  edit "סיבה", 5, 5 5 28 10, read center
  edit "", 6, 33 19 79 10
  check "הצג הודעת אווי כל", 11, 56 40 56 10, flat left
  edit "", 13, 36 41 17 10, autohs
  text "דקות", 14, 15 41 16 8
  button "אווי", 16, 2 135 35 12, flat
  button "חזור", 17, 40 135 34 12, flat
  button "אישור", 18, 77 135 37 12, flat ok
  check "חזור מאווי בעת שליחת הודעה לערוץ", 7, 11 50 101 10, flat left
  check "העדר כשאני לא על המחשב במשך", 8, 12 102 100 11, flat left
  edit "", 9, 83 113 17 10, autohs
  text "דקות", 10, 67 114 15 8
  check "העדר בכל השרתים בהם אני נמצא", 12, 14 60 98 10, flat left
  check "מזער מירק לטראי בעת העדרות", 15, 21 70 91 10, flat left
  box "Auto Away", 19, 3 95 112 33
  check "כשאומרים את שמי שלח סיבת אווי", 20, 15 80 97 10, flat left
  text "(להפעלה לחץ אישור)", 21, 9 114 57 8
}

alias isaway var %i = 1 | while $scon(%i) { if $scon(%i).away { return $true } | inc %i } | return $false
on *:dialog:away_s:init:0: {
  if ($isaway) { did -b away_s 16 | did -e away_s 17 }
  else { did -b away_s 17 | did -e away_s 16 }
  did -ra away_s 13 30
  did -ra away_s 9 60
  $iif($timer(auto),did -c $dname 8,did -u $dname 8)
}
on *:dialog:away_s:sclick:11: { $iif($did($dname,$did).state,set %away.every $did($dname,13),unset %away.every) }
on *:dialog:away_s:sclick:12: { $iif($did($dname,$did).state,set %allscon 1,unset %allscon) }
on *:dialog:away_s:sclick:7: { $iif($did($dname,$did).state,set %away.input 1,unset %away.input) }
on *:dialog:away_s:sclick:15:{ $iif($did($dname,$did).state,set %away.tray 1,unset %away.tray) }
on *:dialog:away_s:sclick:20:{ $iif($did($dname,$did).state,set %away.myname 1,unset %away.myname) } 
on *:dialog:away_s:sclick:8:{ $iif($did($dname,$did).state,set %away.auto 1,unset %away.auto) }
on *:dialog:away_s:sclick:16: {
  if ($did($dname,4)) {
    set %reason $did(away_s,4).text 
    set %mynick $me 
    set %time $time 
    set %away_time $ctime
    set %scon $activecid
    if ($did(away_s,6)) $iif($did($dname,12).state,scon -a nick $did(away_s,6).text,scid %scon nick $did(away_s,6).text)
    if ($did($dname,7).state) set %away.input 1
    else unset %away.input
    $iif($did($dname,15).state,showmirc -t) 
    $iif($did($dname,20).state,.enable #away.text,.disable #away.text)
    if ($did(away_s,11).state) timerx 0 $calc($did(away_s,13).text *60) $iif($did($dname,12).state,scon -a ame,scid %scon ame) 12[1«12-warwicK-1 12I14s 12S14till 12A14way, 12R14eason :4 %reason  12S14ince10: %time 14 1«12-warwicK-1»12] 
    $iif($did($dname,12).state,scon -a ame,scid $activecid ame) 12[1«12-warwicK-1» 12I14s 12G14oing 12A14way, 12R14eason :4 %reason 14 1«12-warwicK-1»12]  
    .timerauto off 
    writeini away.ini Away Time $iif($did($dname,9),$ifmatch,60)
    if ($did($dname,8).state) { .timerauto 0 $calc($readini(away.ini,Away,Time) *60) Aaway }    
    dialog -c away_s away_s 
    $iif($did($dname,12).state,scon -a away %reason,scid %scon away %reason)
  }
  else echo -a * לא הכנסת סיבה לאווי
}
on *:dialog:away_s:sclick:17: { 
  if ($did(away_s,11).enabled) .timerx off 
  $iif(%allscon,scon -a,scid %scon) ame 12[1«12-warwicK-1» 12I14s 12B14ack 12F14rom :4 %reason ,12S14ince 12 %time 14( $+ 10 $+ $duration($calc($ctime - %away_time)) 14)  14 1«12-warwicK-1»12]
  if (%mynick) $iif(%allscon,scon -a,scid %scon) .nick %mynick 
  .unset %mynick 
  .unset %reason
  .unset %time
  dialog -c away_s away_s  
  $iif(%allscon,scon -a,scid %scon) away
}

on *:dialog:away_s:sclick:8: {
  did $iif($did($dname,$did).state,-e,-b) $dname 9 
  writeini away.ini Away Idle $iif($did($dname,$did).state,1,0) 
  $iif($did($dname,$did).state,.enable,.disable) #Aaway
}
#Aaway off
on *:connect: { $iif(!$timer(auto).type,.timerauto 0 $calc($readini(away.ini,Away,Time) *60) Aaway) | set %away.auto 1 }
#Aaway end

alias aaway { $iif($isaway == $false,dialog -m aaway aaway) }
dialog aaway {
  title "Autoaway"
  size -1 -1 200 90
  text "יוצא לאווי בעוד 10 שניות",1, 20 20 160 15, center
  text "0 0 100",3, 20 40 160 10
  box "",2, 4 0 190 85
  button "ביטול",4, 70 60 55 20,cancel,default
}
on *:dialog:aaway:init:0:{
  dll $mdx  MarkDialog $dname
  dll $mdx  SetControlMDX 3 progressbar smooth > dlls\mdx\ctl_gen.mdx
  set %aaway.temp 100
  .timeraaway -m 101 100 autoaway
  beep 2
}
on *:dialog:aaway:sclick:4:.timeraaway off
alias -l autoaway { 
  if ($dialog(aaway) == $null) { unset %aaway.temp | halt } 
  if (%aaway.temp > 0) { did -a aaway 3 $calc(100 - %aaway.temp) | dec %aaway.temp | did -ra aaway 1 יוצא לאווי בעוד $int($calc(%aaway.temp /10)) שניות  } 
  else { 
    if ($isaway == $false) {
      .timeraaway off 
      unset %aaway.temp
      set %reason  12A14uto 12A14way 12A14fter10 $readini(away.ini,Away,Time) 12M14in's
      set %mynick $me
      set %time $time
      set %away_time $ctime
      set %scon $activecid
      $iif(%allscon,scon -a away %reason,scid $activecid away %reason)
      if (%away.changenick) $iif(%allscon,scon -a nick %away.changenick,scid %scon nick %away.changenick)
      if (%away.every) .timerx 0 $calc(%away.every *60)  $iif(%allscon,scon -a ame,scid %scon ame)  12[1«12-warwicK-1» 12I14s 12S14till 12A14way, 12R14eason :4 %reason 12S14ince10: %time 14 1«12-warwicK-1»12]
      $iif(%allscon,scon -a ame,scid $activecid ame)  12[1«12-warwicK-1» 12I14s 12G14oing 12A14way, 12R14eason :4 %reason  14 1«12-warwicK-1»12]
      $iif(%away.input,set %away.input2 1,unset %away.input2)
      $iif(%away.tray,showmirc -t)
      $iif(%away.myname,.enable #away.text,.disable #away.text)    
      dialog -x aaway aaway
    }
  }
}
on *:dialog:away_s:sclick:18: { 
  $iif($did($dname,11).state,set %away.every $did($dname,13),unset %away.every) 
  $iif($did($dname,12).state,set %allscon 1,unset %allscon) 
  $iif($did($dname,7).state,set %away.input 1,unset %away.input) 
  $iif($did($dname,15).state,set %away.tray 1,unset %away.tray) 
  $iif($did($dname,20).state,set %away.myname 1,unset %away.myname) 
  $iif($did($dname,8).state,set %away.auto 1,unset %away.auto)
  $iif($did($dname,6).text,set %away.changenick $ifmatch,unset %away.changenick)
  .timerauto off 
  writeini away.ini Away Time $iif($did($dname,9),$ifmatch,60)
  if ($did($dname,8).state) { .timerauto 0 $calc($readini(away.ini,Away,Time) *60) aaway | set %away.auto 1 }
  dialog -x $dname $dname 
}
on *:input:#:{
  if (/* != $left($1,1)) {
    if (%away.auto) {
      .timerauto off
      .timerauto 0 $calc($readini(away.ini,Away,Time) *60) aaway
    }
    if (%away.input) || (%away.input2) {
      if ($scid($activecid).away) {
        .timerx off 
        $iif(%allscon,scon -a,scid %scon) ame 12[1«12-warwicK-1» 12  I14s 12B14ack 12F14rom: 4 %reason , 12S14ince10 %time 14( $+ 10 $+ $duration($calc($ctime - %away_time)) $+ 14) 1«12-warwicK-1»12]  
        $iif(%allscon,scon -a,scid %scon) .nick %mynick 
        .unset %mynick 
        .unset %reason
        .unset %time 
        $iif(%allscon,scon -a,scid %scon) away
      }
    }
  }
}
#away.text on
on *:text:*:#:{
  if ($isaway) {
    if ($me isin $1-) describe #  12[1«12-warwicK-1» 12I14s 12S14till 12A14way, 12R14eason :10 %reason 12S14ince10: %time 1«12-warwicK-1»12]
  }
}
#away.text end