<?php 
	
class cl_ws_rakuten{
	
	private $test = true;
	private $login ;
	private $password ;
	private $Form_log;
	private $type_reponse  = "xml";
	
	
	private $url_api = 'https://ws.fr.shopping.rakuten.com';

	//_____________________________________________________________________________________________________________________	
	static public function display_xml_object($xml){
		echo '<pre>' ; print_r ($xml); echo '</pre>' ;
	}		
	//_____________________________________________________________________________________________________________________			
	public  function __construct() {
		$this->login = "Cboutik";
		$this->password = "aefad7f3a05542088f49b41fb399a3ec";
		//$this->password = "dTIgF29yCg6wOoT";		
		$this->From_log = array("login"=>$this->login,"password"=>$this->password);
	 }
	 
/************************************************************************************/		
	private function curlGet($url){
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, str_replace ( ' ', '%20',$url));
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);		
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , false);	
		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/'.$this->type_reponse,'Content-Type: multipart/form-data'));
		curl_setopt($ch, CURLOPT_HTTPGET, true);	
		$response = curl_exec($ch);
		if(curl_exec($ch) === false)
		{
			echo 'Erreur Curl : ' . curl_error($ch);
		}
		curl_close($ch);
		//$this->display_xml_object($response);			
		return $response;			
	}
/************************************************************************************/		
	private function curlPutXml($url,$put){
			
		$ch = curl_init($url);
		//curl_setopt($ch, CURLOPT_URL, $url);		
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);	
		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/xml'));
		curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");		
		curl_setopt($ch, CURLOPT_POSTFIELDS,$put);
		//printr($put);
		if(curl_exec($ch) === false)
		{
			echo '<br>Erreur Curl : ' . curl_error($ch);
		}		
		$response = curl_exec($ch);
		curl_close($ch);
		//$this->display_xml_object($response);
		return $response;		
	}	
/************************************************************************************/		
	private function curlPut($url,$put = array()){
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);		
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/xml','Content-Type: application/xml'));
		curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");		
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);			
		curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($put));
		if(curl_exec($ch) === false)
		{
			echo '<br>Erreur Curl : ' . curl_error($ch);
		}

		$response = curl_exec($ch);
		curl_close($ch);
		//$this->display_xml_object($response);
		return $response;		
	}	
/************************************************************************************/		
	private function curlPost($url,$post){

		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);	
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);	
	
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , false);			
		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/xml','Content-Type: multipart/form-data'));
		curl_setopt($ch, CURLOPT_POST, true);	
	
		curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
		$response = curl_exec($ch);
		if($response === false)  echo 'erreur curl ' . curl_error($ch) . '<br/>';
 		//$this->display_xml_object($response);
		
		$header_info = curl_getinfo($ch,CURLINFO_HEADER_OUT);
		$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
		$header = substr($result, 0, $header_size);
		$body = substr($result, $header_size);	
	
		curl_close($ch);
		
		//echo 	'header info ' .$header_info;	

		return $response;		
	}	
/************************************************************************************/		
	public function getResponseAction($domain, $action , $version , $option = ""){
		//https://ws.fr.shopping.rakuten.com/stock_ws?action=producttypes&login=Cboutik&pwd=aefad7f3a05542088f49b41fb399a3ec&version=2015-06-30
		

		$param 		 = '&login=Cboutik&pwd=aefad7f3a05542088f49b41fb399a3ec' ;
		$param 		.= $option ;		
		
		$url	 	= $this->url_api . "/" . $domain . "?action=" .$action . "&version=" . $version . $param;
		echo $url ;
		$response	= simplexml_load_string($this->curlGet($url));	
		return $response;
	}
/************************************************************************************/					 
		
}
	
?>