| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 | 
							- <?php
 
- class Ovh{
 
-     public $applicationKey,$applicationSecret,$consumerKey,$host = 'https://eu.api.ovh.com';
 
-     
 
-   
 
-     public function consumerKey(){
 
-       
 
-         $body = '{
 
-     "accessRules": [
 
-         {
 
-             "method": "GET",
 
-             "path": "/*"
 
-         },
 
-         {
 
-             "method": "POST",
 
-             "path": "/*"
 
-         }
 
-     ],
 
-     "redirection":"https://www.idleman.fr/"
 
- }';
 
-         $headers = array();
 
-        
 
-         $headers['Accept'] = 'application/json';
 
-         return $this->rest('POST','/1.0/auth/credential',$body,$headers);
 
-     }
 
-     public function domain(){
 
-        return $this->rest('GET','/1.0/domain/zone/idleman.fr/record/5136453749','');
 
-     }
 
-     public function getDomain($zone = ''){
 
-        if(!empty($zone)) $zone = '/'.$zone;
 
-        return $this->rest('GET','/1.0/domain/zone'.$zone,'');
 
-     }
 
-      public function setDomain($zone,$subdomain,$target){
 
-          
 
-          $body = array(
 
-             'fieldType' =>  'CNAME',
 
-             'subDomain' =>  $subdomain,
 
-             'target' =>  'idleman.fr.',
 
-             'ttl' =>  '0'
 
-          );
 
-         
 
-         $response =  $this->rest('POST','/1.0/domain/zone/idleman.fr/record',json_encode($body));
 
-         $this->rest('POST','/1.0/domain/zone/idleman.fr/refresh');
 
-        return $response;
 
-     }
 
-     //Requete rest
 
-     public function rest($method,$action,$body='',$headers = null){
 
-         $url = $this->host.$action;
 
-         $ch = curl_init();
 
-         
 
-         $options[CURLOPT_URL] =  $url;
 
-         $options[CURLOPT_RETURNTRANSFER] =  true;
 
-         $options[CURLOPT_SSL_VERIFYPEER] =  false;
 
-         $options[CURLOPT_FOLLOWLOCATION] = true;
 
-         $options[CURLOPT_USERAGENT] = 'Awesome erp';
 
-         $options[CURLOPT_HEADER] = true;
 
-         $options[CURLOPT_CUSTOMREQUEST] = $method;
 
-         if(!empty($body)) $options[CURLOPT_POSTFIELDS] = $body;
 
-         if(empty($headers)) $headers = array();
 
-         
 
-         $options[CURLOPT_HTTPHEADER] = $headers;
 
-         curl_setopt_array($ch,$options);
 
-         $headers['Content-type'] = 'application/json; charset=utf-8';
 
-         $headers['X-Ovh-Application']=$this->applicationKey;
 
-         if($action!='/1.0/auth/credential'){ 
 
-             $time = file_get_contents('https://eu.api.ovh.com/1.0/auth/time');
 
-             $signature = $this->applicationSecret."+".$this->consumerKey."+".$method."+".$url."+".$body."+".$time;
 
-             $signature = "$1$" . sha1($signature);
 
-             $headers['X-Ovh-Signature'] = $signature;
 
-             $headers['X-Ovh-Consumer'] = $this->consumerKey;
 
-             $headers['X-Ovh-Timestamp'] = $time;
 
-         }
 
-      
 
-         $headers['cache-control'] = 'no-cache';
 
-         
 
-         $cmd = "curl ".$url." ";
 
-         foreach ($headers as $key => $value) {
 
-             $cmd .= " -H '".$key.": ".$value."' ";
 
-         }
 
-       
 
-        
 
-         if(!empty($body)) $cmd .= " -d '".$body."' ";
 
-     
 
-         $response = exec($cmd);
 
-   
 
-         if($response === false) throw new Exception(curl_error($ch));
 
-      
 
-         curl_close($ch);
 
-         return json_decode($response,true);
 
-     }   
 
- }
 
- ?>
 
 
  |