;Tamamı Kendime ve Xc Script'e Ait Query Blocker Sistemi
;Geniş Kapsamlı
alias qblock {
  if (!$dialog(qblock)) { dialog -m qblock qblock }
  else { dialog -v qblock }
}
dialog qblock {
  title "XcLusive Script Query Blocker"
  size -1 -1 175 155
  option dbu
  icon $mircdirikon\cancel.ico, 0
  box "Query Blocker: Kişi Bilgilendirme Ayarları", 1, 5 5 165 81
  text "Bekletme Mesajı:", 3, 11 16 152 8
  edit "", 4, 10 25 153 10, autohs
  text "Kabul Mesajı:", 2, 11 39 157 8
  edit "", 5, 10 48 153 10, autohs
  text "Red Mesajı:", 6, 11 62 152 8
  edit "", 7, 10 71 153 10, autohs
  box "Query Blocker Ayarları", 8, 5 88 165 45
  check "", 9, 10 99 8 10
  text "Query Blockeri Çalıştır", 10, 18 100 77 8
  radio "", 11, 10 109 8 10
  text "Blocker'i Dialog Olarak Göster", 12, 18 110 115 8
  radio "", 13, 10 119 8 10
  text "Blocker'i Yazı Olarak Göster", 14, 18 120 115 8
  button "Kapat", 15, 5 137 40 13, cancel
  button "Kaydet", 16, 129 137 40 13
  button "Blocked", 17, 46 137 40 13
  button "VIP", 18, 87 137 40 13,
}


on 1:dialog:qblock:*:*:{
  if $devent == init {
    idset 18
    did -a $dname 4 $x3(qblock,wmsg)
    did -a $dname 5 $x3(qblock,amsg)
    did -a $dname 7 $x3(qblock,rmsg)
    dll $mdx SetColor $dname 2,3,6 text 255
    if %qblock == on did -c $dname 9
    if %qdialog == yes did -c $dname 11
    else { did -c $dname 13 }
  }
  if $devent == sclick {
    if $did == 16 { if $did(9).state == 0 { set %qblock off }
      else { set %qblock on }
      $x(qblock,wmsg,$did(4).text)
      $x(qblock,amsg,$did(5).text)
      $x(qblock,rmsg,$did(7).text)
      $err0r(Bilgi,Query Blocker Ayarları Kaydedildi)
    }
    if $did == 11 { set %qdialog yes | halt }
    if $did == 13 { set %qdialog no | halt }
    if $did == 17 { qblock2 }
    if $did == 18 { qblock3 }
  }
}
alias qblock2 {
  if (!$dialog(qblock2)) { dialog -m qblock2 qblock2 }
  else { dialog -v qblock2 | qblload }
}
dialog qblock2 {
  title "XcLusive Script Query Blocker"
  size -1 -1 243 108
  option dbu
  icon $mircdirikon\cancel.ico, 0
  box "Bloke Edilenlerin Listesi", 2, 5 5 178 98
  list 1, 10 15 168 83, sort size
  button "Kabul Et", 3, 186 8 55 10
  button "Reddet", 4, 186 22 55 10
  button "Engelle", 5, 186 36 55 10
  button "VIP'e Ekle", 6, 186 50 55 10
  button "VIP Listesi", 7, 186 64 55 10
  button "Ayarlar", 8, 186 78 55 10
  button "Kapat", 9, 186 92 55 10, cancel
}

on 1:dialog:qblock2:*:*:{
  if $devent == init {
    idset 19
    dll $mdx SetControlMDX $dname 1 ListView grid headerdrag report rowselect showsel nosortheader single > $views
    did -i $dname 1 1 headerdims 100 80 200
    did -i $dname 1 1 headertext Nick $chr(9) Zaman $chr(9) Mesaj
    qblload
  }
  if $devent == sclick {
    if $did == 1 { set %qblid $calc($did(1).sel - 1) }
    if $did == 3 { qblkabul }
    if $did == 4 { qblred }
    if $did == 5 { qblengel }
    if $did == 6 { qblvipadd }
    if $did == 7 { qblock3 }
    if $did == 8 { qblock }
  }
}
alias qblkabul { 
  var %query = $gettok($read($qbl,%qblid),1,149)
  window -aw %query
  write -dl $+ %qblid $qbl
  .msg %query $x3(qblock,amsg) %logo
  did -r qblock2 1
  qblload
}

alias qblred {
  var %query = $gettok($read($qbl,%qblid),1,149)
  closemsg %query
  write -dl $+ %qblid $qbl
  .msg %query $x3(qblock,rmsg) %logo
  did -r qblock2 1
  qblload
}
alias qblengel {
  var %query = $gettok($read($qbl,%qblid),1,149)
  closemsg %query
  write -dl $+ %qblid $qbl
  .ignore -p %query
  .notice %query Ozel Görüşme İsteğiniz Red Edildi (Ignore Edildiniz) %logo
  did -r qblock2 1
  qblload
  $iif($input(%query Nickli Kişi Ignore Edildi,io,Bilgi),return)
}
alias qblvipadd {
  var %query = $gettok($read($qbl,%qblid),1,149)
  set %qblst.vip $addtok(%qblst.vip,%query,46)
  $err0r(Bilgi,%query VIP Listesine Eklendi)
}
alias qbl { return $shortfn($mircdirsys\qb.txt) }
alias qkabul {
  var %qbl = $lines($qbl)
  var %a 1
  while (%a <= %qbl) {
    if (%query.last == $gettok($read($qbl,%a),1,149)) { 
      write -dl $+ %a $qbl
      window -wa %query.last
      .msg %query.last $x3(qblock,amsg) %logo
      echo $color(info) -ta QBL: %query.last Özel Görüşme İsteği Kabul Edildi
    }
    inc %a 1
  }
}
alias qred {
  var %qbl = $lines($qbl)
  var %a 1
  while (%a <= %qbl) {
    if (%query.last == $gettok($read($qbl,%a),1,149)) { 
      write -dl $+ %a $qbl
      closemsg %query.last
      .msg %query.last $x3(qblock,rmsg) %logo
      echo $color(info) -ta QBL: %query.last Özel Görüşme İsteği Red Edildi
    }
    inc %a 1
  }
}
alias qblload {
  var %qbl = $lines($qbl)
  var %a 1
  did -r qblock2 1
  while (%a <= %qbl) {
    did -a qblock2 1 $gettok($read($qbl,%a),1,149) $chr(9) $gettok($read($qbl,%a),2,149) $chr(9) $gettok($read($qbl,%a),3,149)
    inc %a 1
  }
}

alias qblcheck {
  var %x = $lines($qbl)
  var %y 1
  while (%y <= %x) {
    if ($1 == $gettok($read($qbl,%y),1,149)) { halt }
    inc %y 1
  }
}
alias qblock3 dialog -m qblock3 qblock3 
dialog qblock3 {
  title "XcLusive Script Query Blocker"
  size -1 -1 142 108
  option dbu
  icon $mircdirikon\cancel.ico, 0
  box "VIP Listesi", 2, 5 5 87 98
  list 1, 10 15 77 83, sort size
  button "Ekle", 3, 96 25 40 15
  button "Sil", 4, 96 45 40 15
  button "Kapat", 5, 96 65 40 15,cancel
}
on 1:dialog:qblock3:*:*:{
  if $devent == init {
    idset 5
    didtok $dname 1 46 %qblst.vip
  }
  if $devent == sclick {
    var %n $did(1).seltext
    if $did == 3 {
      var %t = $input(VIP Listesine Eklemek Istediğiniz Nick'i Girin,qoe,Nick Girin)
      if %t { set %qblst.vip $addtok(%qblst.vip,%t,46) | did -r $dname 1 | didtok $dname 1 46 %qblst.vip }
    }
    if $did == 4 {
      if %n { set %qblst.vip $remtok(%qblst.vip,%n,46) | did -r $dname 1 | didtok $dname 1 46 %qblst.vip }
    }
  }
}
on *:open:?:{
  if %qblock == on {
    if ($nick isin %qblst.vip) { halt }
    set %query.last $nick
    if %qdialog == yes {
      qblcheck $nick
      write $qbl $nick $+ $chr(149) $+ $time(hh:nn:ss) $+ $chr(149) $+ $1-
      window -h $nick
      .msg $nick $x3(qblock,wmsg)
      qblock2
    }
    else {
      write $qbl $nick $+ $chr(149) $+ $time(hh:nn:ss) $+ $chr(149) $+ $1-
      window -h $nick
      .msg $nick $x3(qblock,wmsg)
      echo $color(info) -ta QBL: %query.last Özel Görüşme İsteğinde Bulundu Kabul Etmek İçin Ctrl+F12 Red Etmek İçin Shift+F12 Tuşuna Basın
    }
  }
}
