<?php
include_once("c_kt_setting.php");
class c_page_cab_kt_setting_virt extends c_page_cab_kt_setting
{
  public $h1='Виртуальный терминал контроля трезвости' ;
  var $terminal_id ;

   function block_main()
   { $this->terminal_id=execSQL_value('select id from obj_site_device where virt=1') ;
     if (!$this->terminal_id) $this->panel_terminal_create() ;
     else $this->panel_kt() ;

   }

   function panel_terminal_create()
       {   $this->page_title('Добавить виртуальный терминал контроля трезвости') ;
           $arr_groups=SKD()->get_list_zone() ;
           $virt_term_id=execSQL_value('select max(id) from obj_site_device') ;
           $virt_term_id++ ;
           ?><div id="panel_filter">
                   <form id="sky-form" class="sky-form">
                       <input type="hidden" name="filter_dir" value="<?echo _CUR_REPORT_DIR?>">
                       <input type="hidden" name="filter[name]" value="Виртуальный терминал КТ">
                       <input type="hidden" name="filter[virt]" value="1">
                        <fieldset>
                            <div class="row">
                                <section class="col col-2">
                                    <label class="label">Зона доступа</label>
                                    <label class="select">
                                        <select name="filter[zone_id]" data-required >
                                           <?if (_sizeof($arr_groups)) foreach($arr_groups as $id=>$rec){?><option value="<?echo $id?>" <?if ($this->filter['zone_id']==$id) echo 'selected'?>><?echo $rec['obj_name']?></option><?}?>
                                        </select>
                                    </label>
                                </section>
                                <section class="col col-2">
                                    <label class="label">ID терминала:</label>
                                    <label class="input"><input type="text" data-required name="filter[id]" value="<?echo $virt_term_id?>"></label>
                                </section>
                            </div>
                        </fieldset>
                       <div id="panel_buttons"><input type="submit" class="button v2" cmd="kt/terminal_create" value="Добавить виртуальный терминал КТ"  validate="form"></div><br>
                    </form>
             </div><br>
           <?
       }



    function panel_kt()
     {   $rec_terminal=DEVICE()->get_terminal_by_id($this->terminal_id) ;

         $status=($rec_terminal['virt_status'])? ' [auto]':'' ;
         //damp_array($rec_terminal) ;

         $this->page_title('Эмулятор терминала контроля трезвости № '.$this->terminal_id.$status) ;


         if ($rec_terminal)
         {  //update_rec_in_table('obj_site_account',array('status'=>2),'pkey='.$rec['pkey']) ;
            //if (!$rec_terminal['virt_status'])
            { ?><button class="v1" update_page=1 id="reset">Reset</button>&nbsp;&nbsp;
                <button class="v2" cmd="kt/VT_send_power_on" terminal_id=<?echo $this->terminal_id?>>Power ON</button>&nbsp;&nbsp;
                <button class="v2" cmd="kt/VT_send_ping" terminal_id=<?echo $this->terminal_id?>>Ping</button>&nbsp;&nbsp;

              <?
              if ($rec_terminal['virt_status']==0){?><button class="v2" cmd="kt/VT_start_auto" terminal_id=<?echo $this->terminal_id?>>Start Auto</button>&nbsp;&nbsp;<?}
              if ($rec_terminal['virt_status']==1){?><button class="v2" cmd="kt/VT_stop_auto" terminal_id=<?echo $this->terminal_id?>>Stop Auto</button>&nbsp;&nbsp;<?}
              if ($rec_terminal['virt_status']==2){?><button class="v2" cmd="kt/VT_stop_auto" terminal_id=<?echo $this->terminal_id?>>Stop Auto</button>&nbsp;&nbsp;<?}
              ?><button class="v2" cmd="kt/terminal_delete" terminal_pkey=<?echo $rec_terminal['pkey']?>>Удалить терминал</button>&nbsp;&nbsp;<?
              ?><br>
                <div id="panel_message">
                     <h2>Имитация проведения контроля трезвости</h2>
                     <h3>Рабочая группа "<?echo SKD()->get_full_zone_path($rec_terminal['zone_id'])?>"</h3>
                     <div><form><input type="text" placeholder="Номер пропуска" name="user" data-required> <input id=submit type="submit" class="v2" cmd="kt/VT_check_access" validate="form" terminal_id=<?echo $this->terminal_id?> value="Приложить пропуск к считывателю"></form></div>
                </div>
              <?
            }
            if ($rec_terminal['virt_status'])
            { // получаем случайный пропуск, из тех что сейчас не проходят МО, вписываем его в input, имитируем нажатие клавиши
              $propusk=execSQL_value('select propusk from obj_site_personals where clss=211 and not pkey in(select member_id from obj_site_mo_session where status=1) order by rand() limit 1') ;
              ?><script type="text/javascript">$j(document).ready(function()
              { $j('input[name="user"]').val('<?echo $propusk?>') ;
                $j('body').oneTime(3000,'timer_submit',function(){$j('input#submit').trigger('click') ;})
              }) ;
              </script><?
            }
         }

         if (!$rec_terminal['virt_status']) // если статус = 2 и не авто режим - обновлям каждые 1 мин
          { ?><script type="text/javascript">$j(document).ready(function()
            { //$j('body').everyTime(60000,'check_status',function(){send_ajax_request({cmd:'aspmo_term/check_status_and_update',terminal_id:<?echo $this->terminal_id?>})})
            }) ;
            </script>
            <style type="text/css">
                #terminal_result{text-align:left;font-size:22px;margin:20px 0;}
                #terminal_result.success{color:green;}
                #terminal_result.denided{color:red;}
            </style>
              <?
          }

         $this->panel_debug() ;
     }

    function panel_debug() {?><div id="panel_debug"></div><?}
}





?>
