|
@@ -15,30 +15,26 @@
|
|
|
* @see https://app.swaggerhub.com/apis-docs/keyhelp/api/2.4
|
|
|
*/
|
|
|
class Server_Manager_KeyHelp extends Server_Manager {
|
|
|
- /**
|
|
|
- * Method is called just after obejct contruct is complete.
|
|
|
- * Add required parameters checks here.
|
|
|
- */
|
|
|
- public function init()
|
|
|
+ public function init()
|
|
|
{
|
|
|
- if (!extension_loaded('curl')) {
|
|
|
- throw new Server_Exception('cURL extension is not enabled');
|
|
|
- }
|
|
|
+ if (!extension_loaded('curl')) {
|
|
|
+ throw new Server_Exception('cURL extension is not enabled');
|
|
|
+ }
|
|
|
|
|
|
- if(empty($this->_config['ip'])) {
|
|
|
- throw new Server_Exception('Server manager "KeyHelp" is not configured properly. IP address is not set!');
|
|
|
- }
|
|
|
+ if(empty($this->_config['ip'])) {
|
|
|
+ throw new Server_Exception('Server manager "KeyHelp" is not configured properly. IP address is not set!');
|
|
|
+ }
|
|
|
|
|
|
- if(empty($this->_config['host'])) {
|
|
|
- throw new Server_Exception('Server manager "KeyHelp" is not configured properly. Hostname is not set!');
|
|
|
- }
|
|
|
+ if(empty($this->_config['host'])) {
|
|
|
+ throw new Server_Exception('Server manager "KeyHelp" is not configured properly. Hostname is not set!');
|
|
|
+ }
|
|
|
|
|
|
- if(empty($this->_config['accesshash'])) {
|
|
|
- throw new Server_Exception('Server manager "KeyHelp" is not configured properly. API Key / Access Hash is not set!');
|
|
|
- } else {
|
|
|
- $this->_config['accesshash'] = preg_replace("'(\r|\n)'","",$this->_config['accesshash']);
|
|
|
- }
|
|
|
- }
|
|
|
+ if(empty($this->_config['accesshash'])) {
|
|
|
+ throw new Server_Exception('Server manager "KeyHelp" is not configured properly. API Key / Access Hash is not set!');
|
|
|
+ } else {
|
|
|
+ $this->_config['accesshash'] = preg_replace("'(\r|\n)'","",$this->_config['accesshash']);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
public static function getForm()
|
|
|
{
|
|
@@ -60,434 +56,346 @@ class Server_Manager_KeyHelp extends Server_Manager {
|
|
|
];
|
|
|
}
|
|
|
|
|
|
- public function getLoginUrl()
|
|
|
- {
|
|
|
- /*
|
|
|
- ###############################
|
|
|
- ### VORBEREITUNG FÜR SPÄTER ###
|
|
|
- ###############################
|
|
|
- $username = "rokkcloud";
|
|
|
- $host = $this->_config['host'];
|
|
|
- $apiUrl = "https://".$host."/api/v2/";
|
|
|
- $action = "clients/name/".$username;
|
|
|
- $actionapiUrl = $apiUrl . $action;
|
|
|
- $apiKey = $this->_config['accesshash'];
|
|
|
-
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
- curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- $result = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
- $userID = $result->id;
|
|
|
-
|
|
|
- $host = $this->_config['host'];
|
|
|
- $apiUrl = "https://".$host."/api/v2/";
|
|
|
- $action = "login/".$userID;
|
|
|
+ /**
|
|
|
+ * curl GET
|
|
|
+ */
|
|
|
+ public function getCURL($action, $actionEx)
|
|
|
+ {
|
|
|
+ $host = $this->_config['host'];
|
|
|
+ $apiUrl = "https://".$host."/api/v2/";
|
|
|
+ $action = $action . $actionEx;
|
|
|
$actionapiUrl = $apiUrl . $action;
|
|
|
- $apiKey = $this->_config['accesshash'];
|
|
|
-
|
|
|
+ $apiKey = $this->_config['accesshash'];
|
|
|
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
+ $curl_session = curl_init();
|
|
|
+ curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
+ 'X-API-Key: '.$apiKey,
|
|
|
+ 'accept: application/json',
|
|
|
+ 'Content-Type: application/json',
|
|
|
+ ));
|
|
|
$result = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
- $userLogin = $result->url;
|
|
|
+ curl_close($curl_session );
|
|
|
|
|
|
- return $userLogin; */
|
|
|
+ return $result;
|
|
|
+ }
|
|
|
|
|
|
- $host = $this->_config['host'];
|
|
|
- return 'https://'.$host.'';
|
|
|
- }
|
|
|
+ /**
|
|
|
+ * Later: Custom login url for User ;) Waiting for FOSSBilling
|
|
|
+ */
|
|
|
+ public function getLoginUrl()
|
|
|
+ {
|
|
|
+ $host = $this->_config['host'];
|
|
|
+ return 'https://'.$host.'';
|
|
|
+ }
|
|
|
public function getResellerLoginUrl()
|
|
|
- {
|
|
|
- $host = $this->_config['host'];
|
|
|
- return 'https://'.$host.'';
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- public function testConnection()
|
|
|
- {
|
|
|
- $host = $this->_config['host'];
|
|
|
+ {
|
|
|
+ $host = $this->_config['host'];
|
|
|
+ return 'https://'.$host.'';
|
|
|
+ }
|
|
|
|
|
|
- $apiUrl = "https://".$host."/api/v2/";
|
|
|
+ /**
|
|
|
+ * Here we check if the API is working ;)
|
|
|
+ */
|
|
|
+ public function testConnection()
|
|
|
+ {
|
|
|
$action = "ping";
|
|
|
- $actionapiUrl = $apiUrl . $action;
|
|
|
- $apiKey = $this->_config['accesshash'];
|
|
|
-
|
|
|
-
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
- curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- $result = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
+ $actionEx = "";
|
|
|
+ $result = Server_Manager_KeyHelp::getCURL($action, $actionEx);
|
|
|
|
|
|
if(isset($result)) {
|
|
|
return true;
|
|
|
- var_dump($a);
|
|
|
+ var_dump($a);
|
|
|
} else {
|
|
|
throw new Server_Exception('Failed to connect to server');
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
-
|
|
|
- public function synchronizeAccount(Server_Account $a)
|
|
|
- {
|
|
|
- $host = $this->_config['host'];
|
|
|
- $apiUrl = "https://".$host."/api/v2/";
|
|
|
- $action = "clients/name/".$a->getUsername();
|
|
|
- $actionapiUrl = $apiUrl . $action;
|
|
|
- $apiKey = $this->_config['accesshash'];
|
|
|
-
|
|
|
-
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
- curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- $result = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
- $userID = $result->id;
|
|
|
+ /**
|
|
|
+ * Not working, because of FOSSBilling
|
|
|
+ */
|
|
|
+ public function synchronizeAccount(Server_Account $a)
|
|
|
+ {
|
|
|
+ $action = "clients/name/";
|
|
|
+ $actionEx = $a->getUsername();
|
|
|
+ $result = Server_Manager_KeyHelp::getCURL($action, $actionEx);
|
|
|
|
|
|
- $new = clone $a;
|
|
|
- $new->setSuspended($result->is_suspended);
|
|
|
- $new->setUsername($result->username);
|
|
|
+ $new = clone $a;
|
|
|
+ if(empty($result->is_suspended)) {
|
|
|
+ $new->setSuspended(false);
|
|
|
+ } else {
|
|
|
+ $new->setSuspended(true);
|
|
|
+ }
|
|
|
|
|
|
return $new;
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
/**
|
|
|
* Package name must match on both KeyHelp and FOSSBilling!
|
|
|
*/
|
|
|
- public function createAccount(Server_Account $a)
|
|
|
- {
|
|
|
- $apiUrl = "https://".$this->_config['host']."/api/v2/";
|
|
|
- $action = "clients/";
|
|
|
- $actionapiUrl = $apiUrl . $action;
|
|
|
+ public function createAccount(Server_Account $a)
|
|
|
+ {
|
|
|
+ $apiUrl = "https://".$this->_config['host']."/api/v2/";
|
|
|
$apiKey = $this->_config['accesshash'];
|
|
|
|
|
|
$this->getLog()->info('Creating account '.$a->getUsername());
|
|
|
- $client = $a->getClient();
|
|
|
- $package = $a->getPackage()->getName();
|
|
|
+ $client = $a->getClient();
|
|
|
+ $package = $a->getPackage()->getName();
|
|
|
+
|
|
|
+ $action = "hosting-plans/name/";
|
|
|
+ $actionEx = preg_replace("/\s+/", "%20", $package);
|
|
|
+ $result = Server_Manager_KeyHelp::getCURL($action, $actionEx);
|
|
|
+ $packageID = $result->id;
|
|
|
|
|
|
- $data = array(
|
|
|
+ $data = array(
|
|
|
"username"=> $a->getUsername(),
|
|
|
"language"=> "de",
|
|
|
"email"=> $client->getEmail(),
|
|
|
"password"=> $a->getPassword(),
|
|
|
- "id_hosting_plan"=> $package,
|
|
|
+ "id_hosting_plan"=> $packageID,
|
|
|
"is_suspended"=> false,
|
|
|
"suspend_on"=> null,
|
|
|
"delete_on"=> null,
|
|
|
"send_login_credentials"=> true,
|
|
|
"create_system_domain"=> false,
|
|
|
- );
|
|
|
-
|
|
|
- $curl_session_b = curl_init();
|
|
|
- curl_setopt($curl_session_b ,CURLOPT_URL,$actionapiUrl);
|
|
|
+ );
|
|
|
+ $action = "clients/";
|
|
|
+ $actionapiUrl = $apiUrl . $action;
|
|
|
+ $curl_session_b = curl_init();
|
|
|
+ curl_setopt($curl_session_b ,CURLOPT_URL,$actionapiUrl);
|
|
|
curl_setopt($curl_session_b, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session_b, CURLOPT_CUSTOMREQUEST, 'POST');
|
|
|
+ curl_setopt($curl_session_b, CURLOPT_CUSTOMREQUEST, 'POST');
|
|
|
curl_setopt($curl_session_b, CURLOPT_SSL_VERIFYHOST, false);
|
|
|
- curl_setopt($curl_session_b, CURLOPT_SSL_VERIFYPEER, false);
|
|
|
+ curl_setopt($curl_session_b, CURLOPT_SSL_VERIFYPEER, false);
|
|
|
curl_setopt($curl_session_b, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- curl_setopt($curl_session_b, CURLOPT_POST, 1);
|
|
|
+ 'X-API-Key: '.$apiKey,
|
|
|
+ 'accept: application/json',
|
|
|
+ 'Content-Type: application/json',
|
|
|
+ ));
|
|
|
+ curl_setopt($curl_session_b, CURLOPT_POST, 1);
|
|
|
curl_setopt($curl_session_b, CURLOPT_POSTFIELDS, json_encode($data));
|
|
|
- $result_a = json_decode(curl_exec($curl_session_b));
|
|
|
- curl_close($curl_session_b );
|
|
|
- $keyhelp_user_id = $result_a->id;
|
|
|
-
|
|
|
- $data = array(
|
|
|
- "id_user"=> $keyhelp_user_id,
|
|
|
- "domain"=> $a->getDomain()
|
|
|
- );
|
|
|
- $action = "domains";
|
|
|
+ $result_a = json_decode(curl_exec($curl_session_b));
|
|
|
+ curl_close($curl_session_b );
|
|
|
+ $keyhelp_user_id = $result_a->id;
|
|
|
+
|
|
|
+ $data = array(
|
|
|
+ "id_user"=> $keyhelp_user_id,
|
|
|
+ "domain"=> $a->getDomain()
|
|
|
+ );
|
|
|
+ $action = "domains";
|
|
|
$actionapiUrl = $apiUrl . $action;
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
+ $curl_session = curl_init();
|
|
|
+ curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'POST');
|
|
|
+ curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'POST');
|
|
|
curl_setopt($curl_session, CURLOPT_SSL_VERIFYHOST, false);
|
|
|
- curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, false);
|
|
|
+ curl_setopt($curl_session, CURLOPT_SSL_VERIFYPEER, false);
|
|
|
curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- curl_setopt($curl_session, CURLOPT_POST, 1);
|
|
|
+ 'X-API-Key: '.$apiKey,
|
|
|
+ 'accept: application/json',
|
|
|
+ 'Content-Type: application/json',
|
|
|
+ ));
|
|
|
+ curl_setopt($curl_session, CURLOPT_POST, 1);
|
|
|
curl_setopt($curl_session, CURLOPT_POSTFIELDS, json_encode($data));
|
|
|
- $result_c = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
+ $result_c = json_decode(curl_exec($curl_session));
|
|
|
+ curl_close($curl_session );
|
|
|
|
|
|
- if(isset($result_a)&&isset($result_c)) {
|
|
|
+ if(isset($result_a)&&isset($result_c)) {
|
|
|
return true;
|
|
|
} else {
|
|
|
throw new Server_Exception('Failed to create the hosting');
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- public function suspendAccount(Server_Account $a)
|
|
|
- {
|
|
|
- $host = $this->_config['host'];
|
|
|
- $apiUrl = "https://".$host."/api/v2/";
|
|
|
- $action = "clients/name/".$a->getUsername();
|
|
|
- $actionapiUrl = $apiUrl . $action;
|
|
|
- $apiKey = $this->_config['accesshash'];
|
|
|
+ }
|
|
|
|
|
|
+ public function suspendAccount(Server_Account $a)
|
|
|
+ {
|
|
|
+ $apiUrl = "https://".$this->_config['host']."/api/v2/";
|
|
|
+ $apiKey = $this->_config['accesshash'];
|
|
|
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
- curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- $result = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
- $userID = $result->id;
|
|
|
+ $action = "clients/name/";
|
|
|
+ $actionEx = $a->getUsername();
|
|
|
+ $result = Server_Manager_KeyHelp::getCURL($action, $actionEx);
|
|
|
+ $userID = $result->id;
|
|
|
|
|
|
- $data = array(
|
|
|
- "is_suspended"=> true,
|
|
|
- );
|
|
|
- $action = "clients/".$userID;
|
|
|
+ $data = array(
|
|
|
+ "is_suspended"=> true,
|
|
|
+ );
|
|
|
+ $action = "clients/".$userID;
|
|
|
$actionapiUrl = $apiUrl . $action;
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
+ $curl_session = curl_init();
|
|
|
+ curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'PUT');
|
|
|
+ curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'PUT');
|
|
|
curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
+ 'X-API-Key: '.$apiKey,
|
|
|
+ 'accept: application/json',
|
|
|
+ 'Content-Type: application/json',
|
|
|
+ ));
|
|
|
curl_setopt($curl_session, CURLOPT_POSTFIELDS, json_encode($data));
|
|
|
- $result_c = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
+ $result_c = json_decode(curl_exec($curl_session));
|
|
|
+ curl_close($curl_session );
|
|
|
|
|
|
- if(isset($result_c)) {
|
|
|
+ if(isset($result_c)) {
|
|
|
return true;
|
|
|
} else {
|
|
|
throw new Server_Exception('Failed to suspend account!');
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- public function unsuspendAccount(Server_Account $a)
|
|
|
- {
|
|
|
- $host = $this->_config['host'];
|
|
|
- $apiUrl = "https://".$host."/api/v2/";
|
|
|
- $action = "clients/name/".$a->getUsername();
|
|
|
- $actionapiUrl = $apiUrl . $action;
|
|
|
- $apiKey = $this->_config['accesshash'];
|
|
|
+ }
|
|
|
|
|
|
+ public function unsuspendAccount(Server_Account $a)
|
|
|
+ {
|
|
|
+ $apiUrl = "https://".$this->_config['host']."/api/v2/";
|
|
|
+ $apiKey = $this->_config['accesshash'];
|
|
|
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
- curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- $result = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
- $userID = $result->id;
|
|
|
+ $action = "clients/name/";
|
|
|
+ $actionEx = $a->getUsername();
|
|
|
+ $result = Server_Manager_KeyHelp::getCURL($action, $actionEx);
|
|
|
+ $userID = $result->id;
|
|
|
|
|
|
- $data = array(
|
|
|
- "is_suspended"=> false,
|
|
|
- );
|
|
|
- $action = "clients/".$userID;
|
|
|
+ $data = array(
|
|
|
+ "is_suspended"=> false,
|
|
|
+ );
|
|
|
+ $action = "clients/".$userID;
|
|
|
$actionapiUrl = $apiUrl . $action;
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
+ $curl_session = curl_init();
|
|
|
+ curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'PUT');
|
|
|
+ curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'PUT');
|
|
|
curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
+ 'X-API-Key: '.$apiKey,
|
|
|
+ 'accept: application/json',
|
|
|
+ 'Content-Type: application/json',
|
|
|
+ ));
|
|
|
curl_setopt($curl_session, CURLOPT_POSTFIELDS, json_encode($data));
|
|
|
- $result_c = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
+ $result_c = json_decode(curl_exec($curl_session));
|
|
|
+ curl_close($curl_session );
|
|
|
|
|
|
- if(isset($result_c)) {
|
|
|
+ if(isset($result_c)) {
|
|
|
return true;
|
|
|
} else {
|
|
|
throw new Server_Exception('Failed to suspend account!');
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
- public function cancelAccount(Server_Account $a)
|
|
|
- {
|
|
|
- $host = $this->_config['host'];
|
|
|
- $apiUrl = "https://".$host."/api/v2/";
|
|
|
- $action = "clients/name/".$a->getUsername();
|
|
|
- $actionapiUrl = $apiUrl . $action;
|
|
|
- $apiKey = $this->_config['accesshash'];
|
|
|
+ public function cancelAccount(Server_Account $a)
|
|
|
+ {
|
|
|
+ $apiUrl = "https://".$this->_config['host']."/api/v2/";
|
|
|
+ $apiKey = $this->_config['accesshash'];
|
|
|
|
|
|
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
- curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- $result = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
- $userID = $result->id;
|
|
|
+ $action = "clients/name/";
|
|
|
+ $actionEx = $a->getUsername();
|
|
|
+ $result = Server_Manager_KeyHelp::getCURL($action, $actionEx);
|
|
|
+ $userID = $result->id;
|
|
|
|
|
|
- $action = "clients/".$userID;
|
|
|
+ $action = "clients/".$userID;
|
|
|
$actionapiUrl = $apiUrl . $action;
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
+ $curl_session = curl_init();
|
|
|
+ curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'DELETE');
|
|
|
+ curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'DELETE');
|
|
|
curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- $result_c = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
-
|
|
|
- if(empty($result_c)) {
|
|
|
+ 'X-API-Key: '.$apiKey,
|
|
|
+ 'accept: application/json',
|
|
|
+ 'Content-Type: application/json',
|
|
|
+ ));
|
|
|
+ $result_c = json_decode(curl_exec($curl_session));
|
|
|
+ curl_close($curl_session );
|
|
|
+
|
|
|
+ if(empty($result_c)) {
|
|
|
return true;
|
|
|
} else {
|
|
|
throw new Server_Exception('Failed to cancel / delete account!');
|
|
|
}
|
|
|
|
|
|
- }
|
|
|
- public function changeAccountPackage(Server_Account $a, Server_Package $p)
|
|
|
- {
|
|
|
- $this->getLog()->info('Changing password on account '.$a->getUsername());
|
|
|
- $host = $this->_config['host'];
|
|
|
- $apiUrl = "https://".$host."/api/v2/";
|
|
|
- $action = "clients/name/".$a->getUsername();
|
|
|
- $actionapiUrl = $apiUrl . $action;
|
|
|
- $apiKey = $this->_config['accesshash'];
|
|
|
+ }
|
|
|
+ public function changeAccountPackage(Server_Account $a, Server_Package $p)
|
|
|
+ {
|
|
|
+ $this->getLog()->info('Changing password on account '.$a->getUsername());
|
|
|
+ $apiUrl = "https://".$this->_config['host']."/api/v2/";
|
|
|
+ $apiKey = $this->_config['accesshash'];
|
|
|
|
|
|
+ $action = "clients/name/";
|
|
|
+ $actionEx = $a->getUsername();
|
|
|
+ $result = Server_Manager_KeyHelp::getCURL($action, $actionEx);
|
|
|
+ $userID = $result->id;
|
|
|
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
- curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- $result = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
- $userID = $result->id;
|
|
|
-
|
|
|
- $data = array(
|
|
|
- "id_hosting_plan"=> $p->getName(),
|
|
|
- );
|
|
|
- $action = "clients/".$userID;
|
|
|
+ $package = preg_replace("/\s+/", "%20", $p->getName());
|
|
|
+ $data = array(
|
|
|
+ "id_hosting_plan"=> $package,
|
|
|
+ );
|
|
|
+ $action = "clients/".$userID;
|
|
|
$actionapiUrl = $apiUrl . $action;
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
+ $curl_session = curl_init();
|
|
|
+ curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'PUT');
|
|
|
+ curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'PUT');
|
|
|
curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
+ 'X-API-Key: '.$apiKey,
|
|
|
+ 'accept: application/json',
|
|
|
+ 'Content-Type: application/json',
|
|
|
+ ));
|
|
|
curl_setopt($curl_session, CURLOPT_POSTFIELDS, json_encode($data));
|
|
|
- $result_c = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
+ $result_c = json_decode(curl_exec($curl_session));
|
|
|
+ curl_close($curl_session );
|
|
|
|
|
|
- if(isset($result_c)) {
|
|
|
+ if(isset($result_c)) {
|
|
|
return true;
|
|
|
} else {
|
|
|
throw new Server_Exception('Failed to change the account password!');
|
|
|
}
|
|
|
- }
|
|
|
-
|
|
|
- public function changeAccountPassword(Server_Account $a, $new)
|
|
|
- {
|
|
|
- $this->getLog()->info('Changing password on account '.$a->getUsername());
|
|
|
- $host = $this->_config['host'];
|
|
|
- $apiUrl = "https://".$host."/api/v2/";
|
|
|
- $action = "clients/name/".$a->getUsername();
|
|
|
- $actionapiUrl = $apiUrl . $action;
|
|
|
- $apiKey = $this->_config['accesshash'];
|
|
|
+ }
|
|
|
|
|
|
+ public function changeAccountPassword(Server_Account $a, $new)
|
|
|
+ {
|
|
|
+ $this->getLog()->info('Changing password on account '.$a->getUsername());
|
|
|
+ $apiUrl = "https://".$this->_config['host']."/api/v2/";
|
|
|
+ $apiKey = $this->_config['accesshash'];
|
|
|
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
- curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
- $result = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
- $userID = $result->id;
|
|
|
+ $action = "clients/name/";
|
|
|
+ $actionEx = $a->getUsername();
|
|
|
+ $result = Server_Manager_KeyHelp::getCURL($action, $actionEx);
|
|
|
+ $userID = $result->id;
|
|
|
|
|
|
- $data = array(
|
|
|
- "password"=> $a->getPassword(),
|
|
|
- );
|
|
|
- $action = "clients/".$userID;
|
|
|
+ $data = array(
|
|
|
+ "password"=> $a->getPassword(),
|
|
|
+ );
|
|
|
+ $action = "clients/".$userID;
|
|
|
$actionapiUrl = $apiUrl . $action;
|
|
|
- $curl_session = curl_init();
|
|
|
- curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
+ $curl_session = curl_init();
|
|
|
+ curl_setopt($curl_session ,CURLOPT_URL,$actionapiUrl);
|
|
|
curl_setopt($curl_session, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'PUT');
|
|
|
+ curl_setopt($curl_session, CURLOPT_CUSTOMREQUEST, 'PUT');
|
|
|
curl_setopt($curl_session, CURLOPT_HTTPHEADER, array(
|
|
|
- 'X-API-Key: '.$apiKey,
|
|
|
- 'accept: application/json',
|
|
|
- 'Content-Type: application/json',
|
|
|
- ));
|
|
|
+ 'X-API-Key: '.$apiKey,
|
|
|
+ 'accept: application/json',
|
|
|
+ 'Content-Type: application/json',
|
|
|
+ ));
|
|
|
curl_setopt($curl_session, CURLOPT_POSTFIELDS, json_encode($data));
|
|
|
- $result_c = json_decode(curl_exec($curl_session));
|
|
|
- curl_close($curl_session );
|
|
|
+ $result_c = json_decode(curl_exec($curl_session));
|
|
|
+ curl_close($curl_session );
|
|
|
|
|
|
- if(isset($result_c)) {
|
|
|
+ if(isset($result_c)) {
|
|
|
return true;
|
|
|
} else {
|
|
|
throw new Server_Exception('Failed to change the account password!');
|
|
|
}
|
|
|
- }
|
|
|
- /*#######################################
|
|
|
- ### KEIN SUPPORT FÜR DIESE FUNKTIONEN ###
|
|
|
- #######################################*/
|
|
|
-
|
|
|
- public function changeAccountUsername(Server_Account $a, $new)
|
|
|
- {
|
|
|
- throw new Server_Exception('KeyHelp does not support username changes');
|
|
|
- }
|
|
|
- public function changeAccountDomain(Server_Account $a, $new)
|
|
|
- {
|
|
|
- throw new Server_Exception('KeyHelp does not support changing the primary domain name');
|
|
|
- }
|
|
|
- public function changeAccountIp(Server_Account $a, $new)
|
|
|
- {
|
|
|
- throw new Server_Exception('KeyHelp does not support changing the IP');
|
|
|
- }
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ Maybe upcoming - maybe not....
|
|
|
+ */
|
|
|
+ public function changeAccountUsername(Server_Account $a, $new)
|
|
|
+ {
|
|
|
+ throw new Server_Exception('KeyHelp does not support username changes');
|
|
|
+ }
|
|
|
+ public function changeAccountDomain(Server_Account $a, $new)
|
|
|
+ {
|
|
|
+ throw new Server_Exception('KeyHelp does not support changing the primary domain name');
|
|
|
+ }
|
|
|
+ public function changeAccountIp(Server_Account $a, $new)
|
|
|
+ {
|
|
|
+ throw new Server_Exception('KeyHelp does not support changing the IP');
|
|
|
+ }
|
|
|
}
|