|
@@ -12,6 +12,7 @@ use WHMCS\Database\Capsule;
|
|
|
|
|
|
|
|
require_once 'Net/DNS2.php';
|
|
require_once 'Net/DNS2.php';
|
|
|
require_once(__DIR__ . '/api/sitebuilder.php');
|
|
require_once(__DIR__ . '/api/sitebuilder.php');
|
|
|
|
|
+require_once(__DIR__ . '/api/SiteProApiClient.php');
|
|
|
|
|
|
|
|
if (!defined('WHMCS')) {
|
|
if (!defined('WHMCS')) {
|
|
|
die('This file cannot be accessed directly');
|
|
die('This file cannot be accessed directly');
|
|
@@ -311,24 +312,10 @@ function siteBuilder_ClientArea($params) {
|
|
|
$sslDev = 0;
|
|
$sslDev = 0;
|
|
|
foreach($sitesObj as $site){
|
|
foreach($sitesObj as $site){
|
|
|
$response = $siteBuilder->getSSLDays($site->name, $params['username']);
|
|
$response = $siteBuilder->getSSLDays($site->name, $params['username']);
|
|
|
- logModuleCall(
|
|
|
|
|
- 'siteBuilder',
|
|
|
|
|
- __FUNCTION__,
|
|
|
|
|
- $params,
|
|
|
|
|
- 'Debug',
|
|
|
|
|
- $response
|
|
|
|
|
- );
|
|
|
|
|
if($response['status'] == '200') {
|
|
if($response['status'] == '200') {
|
|
|
$sslProd = $response['response']['ssl_remaining'];
|
|
$sslProd = $response['response']['ssl_remaining'];
|
|
|
}
|
|
}
|
|
|
$response = $siteBuilder->getSSLDays('dev.' . $site->name, $params['username']);
|
|
$response = $siteBuilder->getSSLDays('dev.' . $site->name, $params['username']);
|
|
|
- logModuleCall(
|
|
|
|
|
- 'siteBuilder',
|
|
|
|
|
- __FUNCTION__,
|
|
|
|
|
- $params,
|
|
|
|
|
- 'Debug',
|
|
|
|
|
- $response
|
|
|
|
|
- );
|
|
|
|
|
if($response['status'] == '200') {
|
|
if($response['status'] == '200') {
|
|
|
$sslDev = $response['response']['ssl_remaining'];
|
|
$sslDev = $response['response']['ssl_remaining'];
|
|
|
}
|
|
}
|
|
@@ -419,6 +406,7 @@ function siteBuilder_ClientAreaAllowedFunctions() {
|
|
|
"new Site" => "newSite",
|
|
"new Site" => "newSite",
|
|
|
"Confirm Delete Site" => "delSiteConfirm",
|
|
"Confirm Delete Site" => "delSiteConfirm",
|
|
|
"Delete Site" => "delSite",
|
|
"Delete Site" => "delSite",
|
|
|
|
|
+ "Edit Site" => "editSite"
|
|
|
);
|
|
);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -456,13 +444,6 @@ function siteBuilder_addSite($params) {
|
|
|
$site = $_POST['d'] . '.' . $params['domain'];
|
|
$site = $_POST['d'] . '.' . $params['domain'];
|
|
|
$siteBuilder = new ApiClient(getSiteBuilderApiURL($params), $params['serveraccesshash']);
|
|
$siteBuilder = new ApiClient(getSiteBuilderApiURL($params), $params['serveraccesshash']);
|
|
|
$response = $siteBuilder->deployDev($params['username'], $site, $params['serverusername'], $params['serverpassword']);
|
|
$response = $siteBuilder->deployDev($params['username'], $site, $params['serverusername'], $params['serverpassword']);
|
|
|
- logModuleCall(
|
|
|
|
|
- 'siteBuilder',
|
|
|
|
|
- __FUNCTION__,
|
|
|
|
|
- $params,
|
|
|
|
|
- 'Error: could save site & serviceid in database',
|
|
|
|
|
- $response
|
|
|
|
|
- );
|
|
|
|
|
if($response['status'] != '200') {
|
|
if($response['status'] != '200') {
|
|
|
return 'Error: ' . $response['response'];
|
|
return 'Error: ' . $response['response'];
|
|
|
}
|
|
}
|
|
@@ -488,6 +469,69 @@ function siteBuilder_addSite($params) {
|
|
|
return 'success';
|
|
return 'success';
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+function siteBuilder_editSite($params) {
|
|
|
|
|
+ if(!filter_var($_POST['s'], FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)){
|
|
|
|
|
+ return 'Error: invalid site name';
|
|
|
|
|
+ }
|
|
|
|
|
+ $site = $_POST['s'];
|
|
|
|
|
+ $api = new SiteProApiClient('https://10.200.34.100:2443/api/', $params['serverusername'], $params['serverpassword']);
|
|
|
|
|
+ // use this for enterprise licenses and change 'your-bulder-domain.com' to your builder domain
|
|
|
|
|
+ //$api = new SiteProApiClient('http://your-bulder-domain.com/api/', 'your_api_username', 'your_api_password');
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ // this call is used to open builder, so you need to set correct parameters to represent users website you want to open
|
|
|
|
|
+ // this data usually comes from your user/hosting manager system
|
|
|
|
|
+ $res = $api->remoteCall('requestLogin', array(
|
|
|
|
|
+ 'type' => 'internal', // (required) 'internal'
|
|
|
|
|
+ 'domain' => $site, // (required) domain of the user website you want to edit
|
|
|
|
|
+ 'lang' => 'de', // (optional) 2-letter language code, set language code you whant builder to open in
|
|
|
|
|
+ 'apiUrl' => '/deployDev', // (required) API endpoint URL
|
|
|
|
|
+ 'resellerClientAccountId' => $params['serviceid'], // (required) ID of website/user in your system
|
|
|
|
|
+ ));
|
|
|
|
|
+ if (!$res || !is_object($res)) {
|
|
|
|
|
+ logModuleCall(
|
|
|
|
|
+ 'siteBuilder',
|
|
|
|
|
+ __FUNCTION__,
|
|
|
|
|
+ $params,
|
|
|
|
|
+ 'Error: Response format error',
|
|
|
|
|
+ $res
|
|
|
|
|
+ );
|
|
|
|
|
+ return 'Error: Response format error';
|
|
|
|
|
+ } else if (isset($res->url) && $res->url) {
|
|
|
|
|
+ logModuleCall(
|
|
|
|
|
+ 'siteBuilder',
|
|
|
|
|
+ __FUNCTION__,
|
|
|
|
|
+ $params,
|
|
|
|
|
+ 'Debug',
|
|
|
|
|
+ $res
|
|
|
|
|
+ );
|
|
|
|
|
+ // on success redirect to builder URL
|
|
|
|
|
+// header('Location: '.$res->url, true);
|
|
|
|
|
+// exit();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ logModuleCall(
|
|
|
|
|
+ 'siteBuilder',
|
|
|
|
|
+ __FUNCTION__,
|
|
|
|
|
+ $params,
|
|
|
|
|
+ 'Error: Unknown error',
|
|
|
|
|
+ $res
|
|
|
|
|
+ );
|
|
|
|
|
+ return 'Error: Unknown error';
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch(ErrorException $ex) {
|
|
|
|
|
+ logModuleCall(
|
|
|
|
|
+ 'siteBuilder',
|
|
|
|
|
+ __FUNCTION__,
|
|
|
|
|
+ $params,
|
|
|
|
|
+ 'Error: Request error',
|
|
|
|
|
+ $ex-getMessage()
|
|
|
|
|
+ );
|
|
|
|
|
+ return 'Error: Request error';
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+ return 'success';
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Opens a form to delete a domain from a siteBuilder account.
|
|
* Opens a form to delete a domain from a siteBuilder account.
|
|
|
*
|
|
*
|