<?php
include_once("c_esmo_gateway_push_mo.php");
class c_page_cab_esmo_gateway_push_mo_check extends c_page_cab_esmo_gateway_push_mo
{
    public $h1='Оповещение по результату МО - проверка' ;
    var $check_url=_PATH_TO_SITE.'/services/esmo_gateway/push_test/' ;

   function block_main()
   { $this->page_title() ;
     $this->panel_check_push() ;
   }


    function panel_check_push()
    { ?><form><h2>Проверка отправки push-уведомления</h2>
       <p>Будет произведена отправка пакета по последнему МО в системе для синхронного режима и последних трех МО для асинхронного режима</p>
           <p><input name="server_type" type="radio" value="1" <?if ($_POST['server_type']!=2) echo 'checked'?>> Отправить пакет на URL: <?echo $GLOBALS['LS_mo_push_server']?></p>
           <p><input name="server_type"  type="radio" value="2" <?if ($_POST['server_type']==2) echo 'checked'?>> Отправить пакет на тестовый URL: <?echo $this->check_url?></p>
       <button class="v1" cmd="check_push" push_mode="sync">Отправить пакет синхронного режима</button>&nbsp;&nbsp;&nbsp;
           <button class="v1" cmd="check_push" push_mode="async">Отправить пакет асинхронного режима</button>
        </form>
      <?  if ($_POST['cmd']=='check_push') $this->check_push() ;
    }

    function check_push()
    {   $result=array() ;
        include('i_push_mo.php') ;
        $push_obj=new i_push_mo() ;
        if ($_POST['server_type']==2) $push_obj->sender['server']=$this->check_url ;
        if ($_POST['push_mode']=='async')
        {  $mo_ids=execSQL_line('select pkey from view_mo_session where model>0 and dopusk in (1,2) order by pkey desc limit 3') ;
           $result=$push_obj->send_async($mo_ids) ;
        }
        else
        {  $mo_id=execSQL_value('select pkey from view_mo_session where model>0 and dopusk in (1,2) order by pkey desc limit 1') ;
           if ($mo_id) $result=$push_obj->send_sync($mo_id) ;
           else  echo 'Нет МО для отправки<br>' ;
        }

        //damp_array($result) ;
        if (_sizeof($result))
        { ?><br><br><br>
          <p><strong>URL удаленного сервера: </strong> - <span style="color:green;"><?echo $push_obj->sender['server']?></span></p><?
        ?><p><strong>Отправленные данные</strong></p><?
        ?><textarea style="width:100%;height:100px;"><?echo $result['request']?></textarea><?
        ?><p><strong>Расшифровка отправленных данных</strong></p><?
        damp_array(json_decode($result['request']),1,-1) ;
        ?><p><strong>Статус ответа:</strong> <?echo '<span style="font-size:22px;" class="'.(($result['status']==200)? 'green':'red').'">'.$result['status']?></span></p><?
        if ($result['send_result']=='error') {?><p><strong>Ошибка:</strong> <?echo '<span style="font-size:16px;color:red;">'.$result['send_error']?></span></p><p>Подробный отчет: <a href="<? echo $result['log_url']?>" target="_blank">перейти</a></p><?}
        ?><p><strong>Время ответа:</strong> <?echo round($result['time_exec'],4).' сек.'?></p><?
        ?><p><strong>Ответ:</strong></p><?
            ?><textarea style="width:100%;height:100px;"><?echo ($result['send_result']=='success')? htmlspecialchars($result['content']):''?></textarea>
        <style>div.alert{font-weight:normal;}</style>
        <?
    }
    }

}



?>
