andre 8 mēneši atpakaļ
vecāks
revīzija
295886ae8a
3 mainītis faili ar 135 papildinājumiem un 1 dzēšanām
  1. 23 0
      api/sitebuilder.php
  2. 46 1
      siteBuilder.php
  3. 66 0
      siteBuilder_rev_site_confirm.tpl

+ 23 - 0
api/sitebuilder.php

@@ -54,6 +54,29 @@ class ApiClient {
         return $this->sendRequest('POST', $url, $data);
     }
   
+    /**
+     * Revert the development site for the customer
+     *
+     * @param username:        The username under which the domain is deployed
+     * @param domain:          The Domain to migrate
+     * @param adminName:       The Super-Admin User of the CRM System (usually the e-mail of the customer
+     * @param adminPassword:   A self randomly generated password
+     *
+     * @return                  a json with ['status' => $httpCode,'response' => ['success' => 'Text']];
+     *                          or a json with ['status' => $httpCode,'response' => ['error' => 'Error-Description']];
+     *
+     * Attention: The given parameters username, adminName and adminPassword must be
+     *            stored locally for the Single Sign on from whcms plugin
+     *
+     */
+    public function revertDev($username, $domain, $adminName, $adminPassword) {
+        $url = "$this->apiUrl/revertdev/$username/$domain";
+        $data = [
+            'admin_name' => $adminName,
+            'admin_password' => $adminPassword
+        ];
+        return $this->sendRequest('POST', $url, $data);
+    }
  
     /**
      * Migrate dev site to prod site

+ 46 - 1
siteBuilder.php

@@ -406,7 +406,12 @@ function siteBuilder_ClientAreaAllowedFunctions() {
 		"new Site" => "newSite",
 		"Confirm Delete Site" => "delSiteConfirm",
 		"Delete Site" => "delSite",
-		"Edit Site" => "editSite"
+		"Edit Site" => "editSite",
+		'Conform Revert Site' => 'revSiteConfirm',
+		'Revert Site' => 'revSite',
+		'Publish Site' => 'pubSite',
+		'Activate Prod' => 'enableProd',
+		'Deactivate Prod' => 'disableProd'
   	);
 }
 
@@ -568,6 +573,46 @@ function siteBuilder_delDomain($params) {
 	return 'success';
 }
 
+/**
+ * Opens a form to delete a domain from a siteBuilder account.
+ *
+ * @param array $params common module parameters
+ *
+ * @see https://developers.whmcs.com/provisioning-modules/supported-functions/
+ *
+ * @return array template information
+ */
+function siteBuilder_revSiteConfirm($params) {
+	return array(
+		'templatefile' => 'siteBuilder_rev_site_confirm',
+		'vars' => array(
+			'delSite' => $_POST['s'],
+		),
+    );
+}
+
+/**
+ * Revert all Changes of the development Site.
+ *
+ * @param array $params common module parameters
+ *
+ * @see https://developers.whmcs.com/provisioning-modules/supported-functions/
+ *
+ * @return string "success" or an error message
+ */
+function siteBuilder_revSite($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']);
+	$response = $siteBuilder->revertDev($params['username'], $site, $params['serverusername'], $params['serverpassword']);
+	if($response['status'] != '200') {
+		return 'Error: ' . $response['response'];
+	}
+	return 'success';
+}
+
 /**
  * Returns API Url .
  *

+ 66 - 0
siteBuilder_rev_site_confirm.tpl

@@ -0,0 +1,66 @@
+<h2>Seite zurücksetzen</h2>
+<hr>
+<div class="tab-content margin-bottom">
+	<div class="section">
+		<div class="product-details">
+			<div class="row row-eq-height row-eq-height-sm">
+				<div class="col-md-6">
+					<div class="product-holder product-status-{$rawstatus|strtolower}" style="min-height: unset; height:210px">
+						<div class="product-content">
+							<div class="product-image">
+								<div class="feature-icon">
+									<img src="/templates/croster/thurdata/productgroups/{$gid}.svg" class="img-fluid" style="height:100px;">
+								</div>
+							</div>
+							<h4><small>Hosting Account</small> - {$domain}</h4>
+							<div class="status-sticker-wrapper">
+								<div class="status-sticker product-status-{$rawstatus|strtolower}">
+									{$status}
+								</div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<div class="col-md-6">
+					<table width="100%" border="0">
+						<tbody>
+							<tr>
+								<td>
+									<div class="alert alert-warning">
+										Bitte bestätigen Sie das Löschen der Seite<br />
+										<b>{$delsite}</b>
+									</div>
+								</td>
+							</tr>
+							<tr>
+								<td>						
+									<form style="display:flex;flex-direction:row;align-items:center;justify-content: space-between;" method="post" action="clientarea.php?action=productdetails">
+										<input type="hidden" name="id" value="{$id}" />
+										<input type="hidden" name="modop" value="custom" />
+										<input type="hidden" name="a" value="delSite" />
+										<input type="hidden" name="s" value="{$delsite}" />
+										<button type="submit" class="btn btn-danger btn-block">
+											Löschen bestätigen
+										</button>
+									</form>
+								</td>
+							</tr>
+						</tbody>
+					</table>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="section">
+		<div class="row row-eq-height row-eq-height-sm">
+			<div class="col-md-4">
+				<form method="post" action="clientarea.php?action=productdetails">
+					<input type="hidden" name="id" value="{$id}" />
+					<button type="submit" class="btn btn-default btn-block">
+							{$LANG.clientareabacklink}
+					</button>
+				</form>
+			</div>
+		</div>
+	</div>
+</div>