<?php
// сервис для сохранения файла титула 1 на диск и регистрации пакета
// более ничего с пакетом не делается
// обработка пакета будет выполняться отдельным заданием планировщика

include_once(_DIR_EXT.'/HTML/c_page_TXT.php') ;
class c_services_pl_put_titul_status extends c_page_txt
{

	function check_access()
  { /*if (!$this->setting['no_check_access']) $result=ESMO_GATEWAY()->api_check_access() ;
    else $result=['status'=>'success','comment'=>''] ;

    //if ($result['client_id']) $this->client_id=$result['client_id'] ;
		if ($result['status']!='success') { $this->response_error($mode,array('code'=>$result['comment'],'ip'=>$_SERVER['REMOTE_ADDR'])) ; }
*/
		$result=['status'=>'success','comment'=>''] ;
    return($result) ;
  }

  function body()
  {	  ob_start() ;
	  $XML_source = file_get_contents("php://input");
	  $obj_xml=simplexml_load_string($XML_source) ;
	  if ($obj_xml!==false)
	  {
	  	$data = json_decode(json_encode((array) $obj_xml), true);
		 $result=['status'=>'success'] ;

	  }
	 else $result=ENGINE()->prepare_result(['error'=>'parse_error','comment'=>'Ошибка при парсинге XML документа']) ;

	 $text=ob_get_clean() ;
	 //echo $text ;
	 LOGS()->reg_log('put_titul2_status', $text) ;
	 if ($text) $result['debug']=$text ;
	 $this->response($result);
  }

  function response($result,$options=[])
  {  header("Content-type: text/xml;charset=UTF-8") ;
	  //var_dump($result);
	   $imp = new DOMImplementation; // Creates an instance of the DOMImplementation class
	   $xml_doc = $imp->createDocument("",""); // Creates a DOMDocument instance
		 $xml_doc->encoding = 'utf-8';
		 $xml_doc->formatOutput = true;
		 $xml = add_element($xml_doc,$xml_doc,'results','',array('date'=>date('Y-m-d H:i'))) ;
		 if (_sizeof($result)) foreach ($result as $item_name=>$item_attr)
		 {
			 if (is_array($item_attr))
			 { $item_value=($item_attr['value'])?:'' ;
			   unset($item_attr['value']) ;
			 }
			 else $item_value=$item_attr ;
			 $item = add_element($xml_doc,$xml,$item_name,$item_value,$item_attr) ;
			 //if (_sizeof($arr)) foreach($arr as $name=>$value)  if ($name!='uid') add_element($xml_doc,$item,$name,$value) ;
		 }
		 if ($options['debug']) add_element($xml_doc,$xml,'debug',$options['debug']) ;
		 echo $xml_doc->saveXML() ;
  }

  function response_error($mode,$arr)
  {  header("Content-type: text/xml;charset=UTF-8") ;
	   $imp = new DOMImplementation; // Creates an instance of the DOMImplementation class
	   $xml_doc = $imp->createDocument("",""); // Creates a DOMDocument instance
		 $xml_doc->encoding = 'utf-8';
		 $xml_doc->formatOutput = true;
		 $xml = add_element($xml_doc,$xml_doc,'xml_doc','',array('date'=>date('Y-m-d H:i'))) ;
		 $error=add_element($xml_doc,$xml,'error','',array()) ;
		 if (_sizeof($arr)) foreach($arr as $name=>$value) add_element($xml_doc,$error,$name,$value) ;
		 echo $xml_doc->saveXML() ;
  }

}



?>
