<?php
include_once("c_esmo_gateway.php");
class c_page_cab_esmo_gateway_get_docs extends c_page_cab_esmo_gateway
{
    public $h1='Выгрузка через шлюз - документация для разработчиков' ;
    public $use_datepicker=1 ;
    public $report_code='' ;

    function second_menu_config()
         { $this->second_menu_show_all=1 ;
           $this->second_menu['/cab/esmo_gateway/get/persons/']=array('title'=>'Сотрудники') ;
           $this->second_menu['/cab/esmo_gateway/get/last_mo_personal/']=array('title'=>'МО сотрудника') ;
           $this->second_menu['/cab/esmo_gateway/get/mo_full/']=array('title'=>'Список МО (полно)') ;
           $this->second_menu['/cab/esmo_gateway/get/mo_based/']=array('title'=>'Список МО (кратко)') ;
           $this->second_menu['/cab/esmo_gateway/push/mo/']=array('title'=>'Уведомление по результату МО') ;
         }

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

     $report_obj=REPORTS()->get_report_obj_by_code($this->report_code) ;
     if ($report_obj->error)
     { $this->error=array('code'=>'report_error','text'=>$report_obj->error) ;
       damp_array($this->error) ;
     }
     else
     {   ?> <h3>URL запроса</h3>
           <?echo _MAIN_PROTOCOL._MAIN_DOMAIN._MAIN_GATEWAY.'get/'.$this->report_code?>/<strong class="green">Формат ответа</strong>/<br><br>
           Формат ответа - json,xml
           <h3>Описание параметров GET-запроса</h3>
           <? $report_obj->manual_tags_in() ;?>

           <h3>Пример формирования запроса</h3>
           <?
           $report_obj->setting() ;
           echo $report_obj->panel_info_filter() ;

           if (_sizeof($this->filter))
           { ?><strong>Массив параметров запроса:</strong><?
             $arr[]=$this->filter ;
             print_2x_arr($arr,array('no_show_index'=>1)) ;
           }


           $this->show_url($this->filter,'JSON') ;
           $this->show_url($this->filter,'XML') ;

          ?><h3>Описание тегов:</h3><?
          $report_obj->manual_tags_out() ;

          ?><h3>Отчет</h3>
          Расположение отчета: <strong><?echo hide_server_dir(_DIR_EXT.'/'.$report_obj->script_dir)?></strong>
          <br/>
          <div><strong>Внимание!</strong> Если ответ сервера "access_denied", проверьте значение IP внешнего сервера в настройках интеграции.</div>
          <?
     }

   }

function show_url($filter,$mode)
    {   $inner_filter=$filter; ;
        $inner_filter['limit']='limit 3' ;

        ?><h3>Строка запроса <?echo $mode?>:</h3><?
        if (_sizeof($filter)) foreach($filter as $id=>$value) if (is_array($value)) $filter[$id]=implode(',',array_keys($value)) ;
        $url=_MAIN_PROTOCOL._MAIN_DOMAIN._MAIN_GATEWAY.'get/'.$this->report_code.'/'.$mode.'/'.((_sizeof($filter))? '?'.html_entity_decode(http_build_query($filter)):'') ;
        $url=strtolower($url) ;
        $url_inner=_MAIN_PROTOCOL._MAIN_DOMAIN._MAIN_GATEWAY.'get/'.$this->report_code.'/'.$mode.'/'.((_sizeof($inner_filter))? '?'.http_build_query($inner_filter):'') ;
        $url_inner=strtolower($url_inner) ;
        echo $url.'<br>' ;
        ?><h3>Пример ответа на запрос (полная выгрузка, ссылка откроется в новой вкладке)</h3><?
        ?><a href="<?echo $url?>" target="_blank"><?echo $url?></a><?
        ?><h3>Пример ответа на запрос (с ограничением в 3 позиции)</h3><?
        // $text=file_get_contents($url_inner) ;  // $url_json_inner - запрос с параметром limit
        $url_inner=_MAIN_PROTOCOL.'localhost'._MAIN_GATEWAY.'get/'.$this->report_code.'/'.$mode.'/'.((_sizeof($inner_filter))? '?'.http_build_query($inner_filter):'') ;
        $url_inner=strtolower($url_inner) ;
        $result=IO()->doPut_v2($url_inner, '', '') ;
        if ($result['status']==200)
        {   if ($mode=='JSON')
        {   //$text=stripcslashes($text) ;
                $arr=json_decode($result['content']) ;

            ?><textarea class="code" readonly><?echo JSON::encode($arr);?></textarea><?
        }
            else {?><textarea class="code" readonly><?echo $result['content']?></textarea><?}
        }
    }



}



?>
