Bladeren bron

clientarea

andre 7 maanden geleden
bovenliggende
commit
d44061ce6c
1 gewijzigde bestanden met toevoegingen van 98 en 29 verwijderingen
  1. 98 29
      siteBuilder.php

+ 98 - 29
siteBuilder.php

@@ -278,23 +278,15 @@ function siteBuilder_SuspendAccount($params) {
 			);
 		return 'Error: could not disable account in database';
 	}
-	// disable all sites but not change status in DB for restoring
+	// disable all sites but not change status in DB for unsuspend restoring
 	$sites = getSites($params['serviceid']);
 	if(!empty($sites)) {
+		$siteBuilder = new ApiClient(getSiteBuilderApiURL($params), $params['serveraccesshash']);
 		foreach($sites as $site) {
-	/*		$response = $siteBuilder->disable($params['username'], $site, $params['serverusername'], $params['serverpassword']);
+			$response = $siteBuilder->disable($params['username'], $site, $params['serverusername'], $params['serverpassword']);
 			if($response['status'] != '200') {
 				return 'Error: ' . $response['response'];
-			} */
-
-			logModuleCall(
-				'siteBuilder',
-				__FUNCTION__,
-				$params,
-				'debug',
-				$site
-				);
-		
+			}
 		}	
 	}
 	return 'success';
@@ -331,22 +323,14 @@ function siteBuilder_UnsuspendAccount($params) {
 		return 'Error: could update account in database';
 	}
 	// enable active sites
-	$sites = getSites($params['serviceid']);
+	$sites = getSitesEnabled($params['serviceid']);
 	if(!empty($sites)) {
+		$siteBuilder = new ApiClient(getSiteBuilderApiURL($params), $params['serveraccesshash']);
 		foreach($sites as $site) {
-	/*		$response = $siteBuilder->enable($params['username'], $site, $params['serverusername'], $params['serverpassword']);
+			$response = $siteBuilder->enable($params['username'], $site, $params['serverusername'], $params['serverpassword']);
 			if($response['status'] != '200') {
 				return 'Error: ' . $response['response'];
-			} */
-
-			logModuleCall(
-				'siteBuilder',
-				__FUNCTION__,
-				$params,
-				'debug',
-				$site
-				);
-		
+			}
 		}	
 	}
 
@@ -474,11 +458,11 @@ function siteBuilder_ClientAreaCustomButtonArray ($params) {
  */
 function siteBuilder_ClientAreaAllowedFunctions() {
 	return array(
-		"Add Site" => "addSite",
-		"new Site" => "newSite",
-		"Confirm Delete Site" => "delSiteConfirm",
-		"Delete Site" => "delSite",
-		"Edit Site" => "editSite",
+		'Add Site' => 'addSite',
+		'New Site' => 'newSite',
+		'Confirm Delete Site' => 'delSiteConfirm',
+		'Delete Site' => 'delSite',
+		'Edit Site' => 'editSite',
 		'Conform Revert Site' => 'revSiteConfirm',
 		'Revert Site' => 'revSite',
 		'Disable Site' => 'disableSite',
@@ -837,6 +821,72 @@ function siteBuilder_revSite($params) {
 	return 'success';
 }
 
+function siteBuilder_enableSite($params) {
+	if(!filter_var($_POST['s'], FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)){
+		return 'Error: invalid site name';
+	}
+	$site = $_POST['s'];
+	$siteBuilder = new ApiClient(getSiteBuilderApiURL($params), $params['serveraccesshash']);
+	// enable
+	$response = $siteBuilder->enable($params['username'], $site, $params['serverusername'], $params['serverpassword']);
+	if($response['status'] != '200') {
+		return 'Error: ' . $response['response'];
+	}
+	// update DB
+	try {
+		Capsule::table('sitePro_site')
+			->where('relid',$params['serviceid'])
+			->where('name',$site)
+			->update(array(
+				'enabled' => true,
+		));
+
+	} catch (\Exception $e) {
+		logModuleCall(
+			'siteBuilder',
+			__FUNCTION__,
+			$params,
+			'Error: could save site status in database',
+			$e->getMessage()
+			);
+		return 'Error: could save site status in database';
+	}	
+	return 'success';
+}
+
+function siteBuilder_disableSite($params) {
+	if(!filter_var($_POST['s'], FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME)){
+		return 'Error: invalid site name';
+	}
+	$site = $_POST['s'];
+	$siteBuilder = new ApiClient(getSiteBuilderApiURL($params), $params['serveraccesshash']);
+	// disable
+	$response = $siteBuilder->disable($params['username'], $site, $params['serverusername'], $params['serverpassword']);
+	if($response['status'] != '200') {
+		return 'Error: ' . $response['response'];
+	}
+	// update DB
+	try {
+		Capsule::table('sitePro_site')
+			->where('relid',$params['serviceid'])
+			->where('name',$site)
+			->update(array(
+				'enabled' => false,
+		));
+
+	} catch (\Exception $e) {
+		logModuleCall(
+			'siteBuilder',
+			__FUNCTION__,
+			$params,
+			'Error: could save site status in database',
+			$e->getMessage()
+			);
+		return 'Error: could save site status in database';
+	}	
+	return 'success';
+}
+
 /**
  * Returns API Url .
  *
@@ -870,6 +920,25 @@ function getSites($serviceID) {
 	return $sites;
 }
 
+function getSitesEnabled($serviceID) {
+	try {
+		$sites = Capsule::table('sitePro_site')
+		->where('relid',$serviceID)
+		->where('enabled', 1)
+		->value('name');
+	} catch (\Exception $e) {
+		logModuleCall(
+			'siteBuilder',
+			__FUNCTION__,
+			$params,
+			'Error: could fetch sites from database',
+			$e->getMessage()
+			);
+		return 'Error: could fetch sites from database';
+	}
+	return $sites;
+}
+
 function siteBuilderCreateTables() {
 	// Create a new table.
 	if (!Capsule::schema()->hasTable('sitePro_acc')) {