Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions examples/DNS/delete_dns_records.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

require_once("../config.php");

$params = array(
'id'=>1,
//'domain'=>'example.com'
);

$request = new \pmill\Plesk\DeleteDNSRecords($config, $params);
$info = $request->process();

var_dump($info);
13 changes: 13 additions & 0 deletions examples/Users/get_user.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?php

require_once("../config.php");

$params = array(
'guid'=>'',
//'username'=>'',
);

$request = new \pmill\Plesk\GetUser($config, $params);
$info = $request->process();

var_dump($info);
8 changes: 8 additions & 0 deletions examples/Users/list_users.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?php

require_once("../config.php");

$request = new \pmill\Plesk\ListUsers($config);
$info = $request->process();

var_dump($info);
1 change: 0 additions & 1 deletion src/pmill/Plesk/ApiRequestException.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ public function __construct($errorNode, $code = 0)
$message = isset($errorNode->errtext) ? (string)$errorNode->errtext : '';
$code = isset($errorNode->errcode) ? (int)$errorNode->errcode : '';
}

parent::__construct($message, $code);
}
}
5 changes: 3 additions & 2 deletions src/pmill/Plesk/BaseRequest.php
Original file line number Diff line number Diff line change
Expand Up @@ -172,11 +172,12 @@ public function process()

return $this->processResponse($responseXml);
}
return false;

} catch (ApiRequestException $e) {
$this->error = $e;
throw new ApiRequestException($e->getMessage(), $e->getCode());
}

return false;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion src/pmill/Plesk/CreateDatabase.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,4 @@ protected function processResponse($xml)
$this->id = (int)$xml->database->{'add-db'}->result->id;
return true;
}
}
}
63 changes: 63 additions & 0 deletions src/pmill/Plesk/DeleteDNSRecords.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?php
namespace pmill\Plesk;

class DeleteDNSRecords extends BaseRequest
{
/**
* @var string
*/
public $xml_packet = <<<EOT
<?xml version="1.0"?>
<packet>
<dns>
<del-rec>
<filter>
<id>{ID}</id>
<site-id>{ID}</site-id>
</filter>
</del-rec>
</dns>
</packet>
EOT;

/**
* @var array
*/
protected $default_params = [
'id' => null,
'site_id' => null,
];

/**
* @param array $config
* @param array $params
* @throws ApiRequestException
*/
public function __construct($config, $params)
{
if (isset($params['domain'])) {
$request = new GetSite($config, ['domain' => $params['domain']]);
$info = $request->process();

$params['site_id'] = $info['id'];
}

parent::__construct($config, $params);
}

/**
* @param $xml
* @return bool
* @throws ApiRequestException
*/
protected function processResponse($xml)
{
$result = $xml->dns->{'del-rec'}->result;

if ($result->status == 'error') {
throw new ApiRequestException($result);
}

return true;
}
}
60 changes: 60 additions & 0 deletions src/pmill/Plesk/DeleteDatabaseUser.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
<?php
namespace pmill\Plesk;

class DeleteDatabaseUser extends BaseRequest
{
/**
* @var string
*/
public $xml_packet = <<<EOT
<?xml version="1.0"?>
<packet>
<database>
<del-db-user>
<filter>
{FILTER}
</filter>
</del-db-user>
</database>
</packet>
EOT;

/**
* @var array
*/
protected $default_params = [
'filter' => null,
];

/**
* @param array $config
* @param array $params
* @throws ApiRequestException
*/
public function __construct($config, $params = [])
{
if (isset($params['id'])) {
$params['filter'] = new Node('id', $params['id']);
}
else if (isset($params['database_id'])) {
$params['filter'] = new Node('db-id', $params['database_id']);
}
parent::__construct($config, $params);
}

/**
* @param $xml
* @return bool
* @throws ApiRequestException
*/
protected function processResponse($xml)
{
$result = $xml->database->{'del-db-user'}->result;

if ($result->status == 'error') {
throw new ApiRequestException($result);
}

return true;
}
}
54 changes: 54 additions & 0 deletions src/pmill/Plesk/GetDatabase.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<?php
namespace pmill\Plesk;

class GetDatabase extends BaseRequest
{
/**
* @var string
*/
public $xml_packet = <<<EOT
<?xml version="1.0"?>
<packet>
<database>
<get-db>
<filter>
<webspace-id>{SUBSCRIPTION_ID}</webspace-id>
</filter>
</get-db>
</database>
</packet>
EOT;

/**
* @var array
*/
protected $default_params = [
'id' => null,
];

/**
* @param $xml
* @return array
*/
protected function processResponse($xml)
{

$db = $xml->database->{'get-db'}->result;
if ((string)$db->status == 'error') {
throw new ApiRequestException($db);
}
if ((string)$db->result->status == 'error') {
throw new ApiRequestException($db->result);
}

return [
'status' => (string)$node->status,
'id' => (int)$node->id,
'name' => (string)$node->name,
'subscription_id' => (int)$node->{'webspace-id'},
'db_server_id' => (int)$node->{'db-server-id'},
'default_user_id' => (int)$node->{'default-user-id'},
];

}
}
64 changes: 64 additions & 0 deletions src/pmill/Plesk/GetDatabaseServer.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?php
namespace pmill\Plesk;

class GetDatabaseServer extends BaseRequest
{
/**
* @var string
*/
public $xml_packet = <<<EOT
<?xml version="1.0"?>
<packet version="1.6.7.0">
<db_server>
<get-local>
<filter>
{FILTER}
</filter>
</get-local>
</db_server>
</packet>
EOT;

/**
* @var array
*/
protected $default_params = [
'filter' => null,
];

/**
* GetDatabaseServer constructor.
* @param array $config
* @param array $params
*/
public function __construct(array $config, $params = [])
{
if (isset($params['type'])) {
$params['filter'] = new Node('type', $params['type']);
}
if (isset($params['id'])) {
$params['filter'] = new Node('id', $params['id']);
}
parent::__construct($config, $params);
}

/**
* @param $xml
* @return bool
* @throws ApiRequestException
*/
protected function processResponse($xml)
{
if ($xml->db_server->{'get-local'}->result->status == 'error') {
throw new ApiRequestException($xml->db_server->{'get-local'}->result);
}

$db_server = $xml->db_server->{'get-local'}->result;
return [
'id' => (int)$db_server->id,
'status' => (string)$db_server->status,
'type' => (string)$db_server->type,
];
}

}
31 changes: 17 additions & 14 deletions src/pmill/Plesk/GetDatabaseUser.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,22 @@ class GetDatabaseUser extends BaseRequest
*/
public $xml_packet = <<<EOT
<?xml version="1.0"?>
<packet version="1.4.2.0">
<packet version="1.6.7.0">
<database>
<get-default-user>
<get-db-users>
<filter>
<db-id>{DATABASE_ID}</db-id>
<id>{ID}</id>
</filter>
</get-default-user>
</get-db-users>
</database>
</packet>
EOT;

/**
* @var int
*/
public $id;

/**
* @var array
*/
protected $default_params = [
'database_id' => null,
'id' => null,
];

/**
Expand All @@ -38,12 +33,20 @@ class GetDatabaseUser extends BaseRequest
*/
protected function processResponse($xml)
{
if ($xml->database->{'get-default-user'}->result->status == 'error') {
if ($xml->database->{'get-db-users'}->result->status == 'error') {
throw new ApiRequestException($xml->database->{'get-default-user'}->result);
}

$this->id = (int)$xml->database->{'get-default-user'}->result->id;
return true;
$user = $xml->database->{'get-db-users'}->result;
return [
'status' => (string)$user->status,
'filter-id' => (int)$user->{'filter-id'},
'id' => (int)$user->id,
'db-id' => (int)$user->{'db-id'},
'login' => (string)$user->login,
'acl-host' => (string)$user->acl->host,
'allow-access-from-ip' => (string)$user->{'allow-access-from'}->{'ip-address'},
];
}

}
}
Loading