File: //usr/local/mailchannels/hooks/PostDomainUnPark.php
<?php
namespace MailChannels;
class PostDomainUnPark extends Hook {
public function execute($hookData) {
if (!isset($hookData['data']) || !isset($hookData['data']['domain'])) {
return array(false, "required elements in parameters are not present ([data] and / or [data][domain]");
}
$isInboundEnabled = $this->inboundEnabled();
if ($isInboundEnabled) {
$isAutoDeProvisioningEnabled = $this->inboundConfig->autoDomainDeProvisioning();
$processParkedAndAddonDomains = $this->inboundConfig->processParkedAndAddonDomains();
if ($isAutoDeProvisioningEnabled && $processParkedAndAddonDomains) {
$domain = $hookData['data']['domain'];
$deprovisionResult = $this->inboundSmtpService->deProvisionDomain($domain);
if ($deprovisionResult) {
return array(true, "domain $domain no longer uses MailChannels");
} else {
return array(true, "action not taken; domain not found");
}
}
$strIsAutoDeProvisioningEnabled = var_export($isAutoDeProvisioningEnabled, true);
$strProcessParkedAndAddonDomains = var_export($processParkedAndAddonDomains, true);
$message = "no action taken; autoDeProvisioningEnabled: $strIsAutoDeProvisioningEnabled, processParkedAndAddonDomains: $strProcessParkedAndAddonDomains";
return array(true, $message);
}
return array(true, "action not taken; inbound not enabled");
}
public static function category() {
return 'Whostmgr';
}
public static function event() {
return 'Domain::unpark';
}
public static function stage() {
return 'post';
}
}