<?php
include_once(_DIR_TO_CLASS.'/c_page.php') ;
class c_page_cab_monitor_all extends c_page
{
 public $h1='Ход осмотра' ;
 public $page_type='window' ;
 public $monitor_last_id ;
 public $monitor_mode ;

 function set_head_tags()
 { parent::set_head_tags() ;
   $this->HEAD['js'][]=_PATH_TO_EXT.'/aspmo_pp/script.js' ;
   $this->HEAD['css'][]=_PATH_TO_EXT.'/aspmo_pp/style.css' ;
   MEMBER()->info['monitor']=2 ;
   switch(MEMBER()->info['monitor'])
   { case 1:   $this->HEAD['js'][]=_PATH_TO_EXT.'/aspmo_monitor/script_mon_ajax.js' ;$JS_CLASS='monitor_AJAX_interface' ; $this->monitor_mode='AJAX'  ; break ;
     case 2:   $this->HEAD['js'][]=_PATH_TO_EXT.'/aspmo_monitor/script_mon_html.js' ;$JS_CLASS='monitor_HTML_interface' ; $this->monitor_mode='HTML'  ; break ;
     default:  $this->HEAD['js'][]=_PATH_TO_EXT.'/aspmo_monitor/script_mon_sse.js' ; $JS_CLASS='monitor_SSE_interface' ;  $this->monitor_mode='SSE'  ;  break ;
   }
   if (MEMBER()->id and MEMBER()->cur_group_id)
   { $this->monitor_last_id=LOGS()->get_last_monitor_mess_id(MEMBER()->cur_group_id)  ; // фиксируем номер последнео события перед открытием окна для текущей группы
    ?><script type="text/javascript">
        $j(document).ready(function()
             {  $j('body').<?echo $JS_CLASS?>({ from_id:<?echo $this->monitor_last_id?>,
                                                group:<?echo MEMBER()->cur_group_id?>,
                                                int_update_terminal_status:60,
                                                debug:0
                                              });
             }
         );
       </script><?
   }
 }

 //function local_page_head() {}

 function block_top()
 { ?><table><tr>
        <td class="terminals"><?$this->panel_terminal_status() ; ?></td>
        <td class="button"><?$this->panel_button() ; ?></td>
        <td class="group"><?$this->panel_cur_group() ; ?></td>
    </tr></table><?
 }

 function panel_terminal_status()
  { global $member ;
    $recs=ESMO()->get_list_terminals($member->cur_group_id) ;
    include_once(_DIR_EXT.'/aspmo/panel_terminal_status.php') ;
    panel_terminal_status($recs) ;

  }

 function menu_config()
 {  global $member ;
    $recs=ESMO()->get_list_terminals($member->cur_group_id) ;
    //damp_array($recs) ;
    if (_sizeof($recs)) foreach($recs as $rec)
    {  $this->menu[]=array('title'=>$rec['obj_name'],
                                       '_class'=>'fa fa-user-md',
                                       'items'=>array('/'=>array('title'=>'Усыпить','cmd'=>'aspmo/term_sleep','terminal_id'=>$rec['id']),
                                                      '//'=>array('title'=>'Разбудить','cmd'=>'aspmo/term_start','terminal_id'=>$rec['id']),
                                                      '///'=>array('title'=>'Перезагрузка','cmd'=>'aspmo/term_reboot','terminal_id'=>$rec['id'])
                                                      )
                                      ) ;
    }

  //global $member ;
  //damp_array($member) ;
 }


 function panel_cur_group()
 {   global $member ;
     ?><span id="panel_cur_group">Рабочая группа:<br><strong><?echo $member->cur_group_name?></strong></span><?
 }

 function panel_button()
 {   global $member ;
     ?><span id="panel_button"><?
     if ($member->cur_group_id) {?>
               <button class=v2 cmd=aspmo/all_term_start>Разбудить все</button>
               <button class=v2 cmd=aspmo/all_term_sleep>Усыпить все</button>
               <?}
     ?></span><?
 }

 function block_main()
 { global $member ;



   $this->page_title() ;
   ?><div class="monitor_mode"><?echo $this->monitor_mode?></div><?
   if ($GLOBALS['LS_setting_monitor_view_only_success']) echo '<strong>Показаны только пройденные МО</strong><br>' ; else echo '<strong>Показаны все МО</strong><br>' ;
   /*
     ?><table>
         <tr><td>Число МО в минуту</td><td><div id="panel_terminal_stats_1"></div></td><td>= <span id="panel_terminal_stats_3"></span> терминалов</td></tr>
         <tr><td>Число МО в час</td><td><div id="panel_terminal_stats_2"></div></td><td>= <span id="panel_terminal_stats_4"></span> терминалов</td></tr>
        </table>
     <?                    */
    //$smena_next=ESMO()->get_next_smena_interval() ;
     //$smena_cur=ESMO()->get_cur_smena_interval() ;
     /*?><h2>К осмотру допускаются сотрудники текущей (смена № <?echo $smena_cur[2]?>) и очередной  (смена № <?echo $smena_next[2]?>) смены (не более чем за час до начала смены)</h2><?*/
     //damp_array($member,1,-1) ;

     /*  удалено, так как $_SESSION['member']->cur_group_id сейчас задано всегда и =parent
     // если текущий пользователь не администратор и его АРМ не в текущей рабочей группе - обновляем информацию по рабочей группе
     if ($member->info['rol']!=1 and !$_SESSION['member']->cur_group_id)
     { $cur_group_rec=ACCOUNTS()->get_member_cur_group_rec() ;
       $member->cur_group_id=$cur_group_rec['pkey'] ;
       $member->cur_group_name=$cur_group_rec['obj_name'] ;
     } */

     //damp_array($_SESSION['member'],1,-1) ;
       //

     $options=array() ;
     $options['limit']=25 ; // последние 25 записей
     //$options['only_unscripted']=1 ; // только неподписанные (не включенные в прошлый отчет) сеансы
     $options['time_from']=$_SESSION['member']->info['smena_in'] ; // показываем МО с начала смены
     if ($_SESSION['member']->info['smena_in'])
     { $smena_in=getdate($_SESSION['member']->info['smena_in']) ;
       $before_hour=$GLOBALS['LS_monitor_view_before_hour'] ;
       if (!$before_hour) $before_hour=0  ;
       $from_time=mktime($smena_in['hours']-$before_hour,$smena_in['minutes'],$smena_in['seconds'],$smena_in['mon'],$smena_in['mday'],$smena_in['year']);
        //$to_time=mktime(23,59,59,$now['mon'],$now['mday']+7,$now['year']);
        $options['time_from']=$from_time ;
     }

     //echo date('H:i', time()).'<br>' ;
     //echo date('H:i', $options['time_from']) ;

     //if ($GLOBALS['LS_setting_monitor_view_only_success'])  $options['only_check_success']=1 ;
     //if ($member->info['rol']>1)  $options['doctor_id']=$member->id ; //  отключено, так как могут быть МО без doctor_id, если стоит опция LS_mo_no_use_def_doctor
     //if ($member->info['rol']>1)  $options['doctor_id_or_any']=$member->id ; // только с терминалов своей группы
     $options['group_id']=$member->cur_group_id ; // только с терминалов своей группы
     //$options['debug']=1 ; // только неподписанные (не включенные в прошлый отчет) сеансы
     //$terminal_ids=ESMO()->get_terminals_ids($member->cur_group_id) ;
     ?><div id="debug_mo"></div><?
         list($recs,$stats)=ESMO()->get_mo_recs($options) ;
         //print_template($recs,'aspmo/list_mo_sessions',array('id'=>'panel_last_mo','base_dir'=>'')) ;
       include_once(_DIR_EXT.'/aspmo/list_mo_sessions.php') ;
       list_mo_sessions($recs,array('id'=>'panel_last_mo')) ;
     }

    function panel_autorize()
      { ?><form id="sky-form" class="sky-form">
             				<header><img src="<?echo _LOGO_CAB?>"></header>
             				 <fieldset><strong>Для авторизации в системе используйте основной монитор</strong><br><br></fieldset>
             				<footer>Электронная Система Медицинских Осмотров @ 2015</footer>
          </form>
        <?
 }


}
?>
