Răsfoiți Sursa

terminateAccount

andre 7 luni în urmă
părinte
comite
52db25f684
1 a modificat fișierele cu 45 adăugiri și 11 ștergeri
  1. 45 11
      siteBuilder.php

+ 45 - 11
siteBuilder.php

@@ -172,28 +172,66 @@ function siteBuilder_TerminateAccount($params) {
 			'siteBuilder',
 			'siteBuilder',
 			__FUNCTION__,
 			__FUNCTION__,
 			$params,
 			$params,
-			'Error: could find account in database',
+			'Error: could fetch account from database',
 			$e->getMessage()
 			$e->getMessage()
 			);
 			);
-		return 'Error: could remove account from database';
+		return 'Error: could fetch account from database';
 	}
 	}
 	if($active == true) {
 	if($active == true) {
 		return 'Error: Account is active, please suspend account first';
 		return 'Error: Account is active, please suspend account first';
 	}
 	}
 	try {
 	try {
-		Capsule::table('sitePro_site')
+		$sites = Capsule::table('sitePro_site')
 		->where('relid',$params['serviceid'])
 		->where('relid',$params['serviceid'])
-		->delete();
+		->value('name');
 	} catch (\Exception $e) {
 	} catch (\Exception $e) {
 		logModuleCall(
 		logModuleCall(
 			'siteBuilder',
 			'siteBuilder',
 			__FUNCTION__,
 			__FUNCTION__,
 			$params,
 			$params,
-			'Error: could remove domains from database',
+			'Error: could fetch sites from database',
 			$e->getMessage()
 			$e->getMessage()
 			);
 			);
-		return 'Error: could remove domains from database';
+		return 'Error: could fetch sites from database';
+	}
+	// undeploy all related sites
+	$siteBuilder = new ApiClient(getSiteBuilderApiURL($params), $params['serveraccesshash']);
+	if(!empty($sites)) {
+		foreach($sites as $site) {
+	/*		$response = $siteBuilder->undeploy($params['username'], $site, $params['serverusername'], $params['serverpassword']);
+			if($response['status'] != '200') {
+				return 'Error: ' . $response['response'];
+			} */
+
+			logModuleCall(
+				'siteBuilder',
+				__FUNCTION__,
+				$params,
+				'debug',
+				$site
+				);
+		
+		}	
+		try {
+			Capsule::table('sitePro_site')
+			->where('relid',$params['serviceid'])
+			->delete();
+		} catch (\Exception $e) {
+			logModuleCall(
+				'siteBuilder',
+				__FUNCTION__,
+				$params,
+				'Error: could remove domains from database',
+				$e->getMessage()
+				);
+			return 'Error: could remove domains from database';
+		}
 	}	
 	}	
+	// terminate account
+	$response = $siteBuilder->terminate($params['username'], $params['domain']);
+	if($response['status'] != '200') {
+		return 'Error: ' . $response['response'];
+	}
 	try {
 	try {
 		Capsule::table('sitePro_acc')
 		Capsule::table('sitePro_acc')
 		->where('account',$params['username'])
 		->where('account',$params['username'])
@@ -208,11 +246,7 @@ function siteBuilder_TerminateAccount($params) {
 			);
 			);
 		return 'Error: could remove account from database';
 		return 'Error: could remove account from database';
 	}	
 	}	
-	$siteBuilder = new ApiClient(getSiteBuilderApiURL($params), $params['serveraccesshash']);
-	$response = $siteBuilder->terminate($params['username'], $params['domain']);
-	if($response['status'] != '200') {
-		return 'Error: ' . $response['response'];
-	}
+
 	return 'success';
 	return 'success';
 }
 }