Informations
API Cpanel/WHM en PHP
Catégorie: Documentation le 06/02/2010
Cette fonction PHP vous permet utiliser simplement les APIs Cpanel/WHM, pour créer des comptes par exemple, les suspendre ou même de les supprimer.
function APIcurl($requete)
{
$whmusername = "votre-user-whm";
$whmpassword = "votre-pass-whm";
$query="http://votre-url:2086/xml-api/$requete";
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($curl, CURLOPT_HEADER,0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_USERPWD, $whmusername.":".$whmpassword);
curl_setopt($curl, CURLOPT_URL, $query);
$result = curl_exec($curl);
if ($result == false) {
error_log("curl_exec threw error \"" . curl_error($curl) . "\" for $query");
}
curl_close($curl);
$myparser = xml_parser_create();
xml_parse_into_struct($myparser, $result, $values, $main);
xml_parser_free($myparser);
return $values;
}
Création de package:
$offres['name']= ""; //Nom du package
$offres['espace_disque']= ""; //Espace disque disponible en Mo
$offres['espace_ftp']= ""; //Nombre de compte(s) FTP
$offres['espace_bdd']= ""; //Nombre de base de données
$offres['espace_pop']= ""; //Nombre de compte POP/SMTP
$offres['espace_sd']= ""; //Nombre de sous domaine
$offres['espace_domaine']= ""; //Nombre de domaine garé
$offres['espace_bande']= ""; // Bande passante disponible par mois en Mo
$addpkg=APIcurl('addpkg?name='.$offres['name'].'&featurelist=Default"a='.$offres['espace_disque'].'&ip=0&cgi=1&frontpage=1&cpmod=x3&maxftp='.$offres['espace_ftp'].'&maxsql='.$offres['espace_bdd'].'&maxpop='.$offres['espace_pop'].'&maxlst=unlimited&maxsub='.$offres['espace_sd'].'&maxpark='.$offres['espace_domaine'].'&maxaddon=unlimited&hasshell=1&bwlimit='.$offres['espace_bande'].'');
Plus d'informations:
http://docs.cpanel.net/twiki/bin/view/AllDocumentation/AutomationIntegration/XmlApi