Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Here is Zend Framework module class for Plesk API witch can help you:</p> <p> <pre><code>class Application_Model_PleskApi { /** * Creates Web User * */ public function createWebUser($params) { $xmldoc = new DomDocument('1.0', 'UTF-8'); $xmldoc-&gt;formatOutput = true; $packet = $xmldoc-&gt;createElement('packet'); $packet-&gt;setAttribute('version', '1.6.3.0'); $xmldoc-&gt;appendChild($packet); $webuser = $xmldoc-&gt;createElement('webuser'); $packet-&gt;appendChild($webuser); $add = $xmldoc-&gt;createElement('add'); $webuser-&gt;appendChild($add); $add-&gt;appendChild($xmldoc-&gt;createElement('site-id', $params['site-id'])); $add-&gt;appendChild($xmldoc-&gt;createElement('login', $params['login'])); $add-&gt;appendChild($xmldoc-&gt;createElement('password', $params['password'])); $add-&gt;appendChild($xmldoc-&gt;createElement('ftp-quota', 100)); return $xmldoc; } public function createSite($params) { $xmldoc = new DomDocument('1.0', 'UTF-8'); $xmldoc-&gt;formatOutput = true; $packet = $xmldoc-&gt;createElement('packet'); $packet-&gt;setAttribute('version', '1.6.3.0'); $xmldoc-&gt;appendChild($packet); $site = $xmldoc-&gt;createElement('site'); $packet-&gt;appendChild($site); $add = $xmldoc-&gt;createElement('add'); $site-&gt;appendChild($add); $gen_setup = $xmldoc-&gt;createElement('gen_setup'); $add-&gt;appendChild($gen_setup); $hosting = $xmldoc-&gt;createElement('hosting'); $add-&gt;appendChild($hosting); $gen_setup-&gt;appendChild($xmldoc-&gt;createElement('name', $params['name'])); $gen_setup-&gt;appendChild($xmldoc-&gt;createElement('webspace-id', $params['webspace-id'])); $vrt_hst = $xmldoc-&gt;createElement('vrt_hst'); $hosting-&gt;appendChild($vrt_hst); $property = $xmldoc-&gt;createElement('property'); $vrt_hst-&gt;appendChild($property); $property-&gt;appendChild($xmldoc-&gt;createElement('name', 'php')); $property-&gt;appendChild($xmldoc-&gt;createElement('value', 'true')); return $xmldoc; } /** * Creates mail account * */ public function createMailAccount($params) { $xmldoc = new DomDocument('1.0', 'UTF-8'); $xmldoc-&gt;formatOutput = true; $packet = $xmldoc-&gt;createElement('packet'); $packet-&gt;setAttribute('version', '1.6.3.0'); $xmldoc-&gt;appendChild($packet); $mail = $xmldoc-&gt;createElement('mail'); $packet-&gt;appendChild($mail); $create = $xmldoc-&gt;createElement('create'); $mail-&gt;appendChild($create); $filter = $xmldoc-&gt;createElement('filter'); $create-&gt;appendChild($filter); $site_id = $xmldoc-&gt;createElement('site-id', $params['site-id']); $filter-&gt;appendChild($site_id); $mailname = $xmldoc-&gt;createElement('mailname'); $filter-&gt;appendChild($mailname); $name = $xmldoc-&gt;createElement('name', $params['mailname']); $mailname-&gt;appendChild($name); $mailbox = $xmldoc-&gt;createElement('mailbox'); $mailname-&gt;appendChild($mailbox); $enabled = $xmldoc-&gt;createElement('enabled', 'true'); $mailbox-&gt;appendChild($enabled); $password = $xmldoc-&gt;createElement('password'); $mailname-&gt;appendChild($password); $value = $xmldoc-&gt;createElement('value', $params['password']); $password-&gt;appendChild($value); $type = $xmldoc-&gt;createElement('type', $params['password-type']); $password-&gt;appendChild($type); return $xmldoc; } /** * Returns DOM object representing request for information about all available domains * * @return DOMDocument */ function domainsInfoRequest() { $xmldoc = new DomDocument('1.0', 'UTF-8'); $xmldoc-&gt;formatOutput = true; // &lt;packet&gt; $packet = $xmldoc-&gt;createElement('packet'); $packet-&gt;setAttribute('version', '1.4.1.2'); $xmldoc-&gt;appendChild($packet); // &lt;packet/domain&gt; $domain = $xmldoc-&gt;createElement('domain'); $packet-&gt;appendChild($domain); // &lt;packet/domain/get&gt; $get = $xmldoc-&gt;createElement('get'); $domain-&gt;appendChild($get); // &lt;packet/domain/get/filter&gt; $filter = $xmldoc-&gt;createElement('filter'); $get-&gt;appendChild($filter); // &lt;packet/domain/get/dataset&gt; $dataset = $xmldoc-&gt;createElement('dataset'); $get-&gt;appendChild($dataset); // dataset elements $dataset-&gt;appendChild($xmldoc-&gt;createElement('limits')); $dataset-&gt;appendChild($xmldoc-&gt;createElement('prefs')); $dataset-&gt;appendChild($xmldoc-&gt;createElement('user')); $dataset-&gt;appendChild($xmldoc-&gt;createElement('hosting')); $dataset-&gt;appendChild($xmldoc-&gt;createElement('stat')); $dataset-&gt;appendChild($xmldoc-&gt;createElement('gen_info')); return $xmldoc; } /** * Prepares CURL to perform Plesk API request * * @param type $host * @param type $login * @param type $password * @return resource */ function curlInit($host, $login, $password) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://{$host}:8443/enterprise/control/agent.php"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_HTTPHEADER, array("HTTP_AUTH_LOGIN: {$login}", "HTTP_AUTH_PASSWD: {$password}", "HTTP_PRETTY_PRINT: TRUE", "Content-Type: text/xml")); return $curl; } /** * Performs a Plesk API request, returns raw API response text * * @param type $curl * @param type $packet * @return string * @throws ApiRequestException */ function sendRequest($curl, $packet) { curl_setopt($curl, CURLOPT_POSTFIELDS, $packet); $result = curl_exec($curl); if (curl_errno($curl)) { $errmsg = curl_error($curl); $errcode = curl_errno($curl); curl_close($curl); throw new ApiRequestException($errmsg, $errcode); } curl_close($curl); var_dump($result); return $result; } /** * Looks if API responded with correct data * * @param type $response_string * @return SimpleXMLElement * @throws ApiRequestException */ function parseResponse($response_string) { $xml = new SimpleXMLElement($response_string); if (!is_a($xml, 'SimpleXMLElement')) throw new ApiRequestException("Can not parse server response: {$response_string}"); return $xml; } /** * Check data in API response * * @param SimpleXMLElement $response * @throws ApiRequestException */ function checkResponse(SimpleXMLElement $response) { $resultNode = $response-&gt;domain-&gt;get-&gt;result; // check if request was successful if ('error' == (string) $resultNode-&gt;status) throw new ApiRequestException("Plesk API returned error: " . (string) $resultNode-&gt;result-&gt;errtext); } } class ApiRequestException extends Exception { } </code></pre> <p>And here you have plesk API Reference: <a href="http://download1.parallels.com/Plesk/PP10/10.1.1/Doc/en-US/online/plesk-api-rpc/index.htm" rel="nofollow">http://download1.parallels.com/Plesk/PP10/10.1.1/Doc/en-US/online/plesk-api-rpc/index.htm</a></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload