HEX
Server: Apache
System: Linux hz.vslconceptsdomains.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: dkfounda (3233)
PHP: 8.1.34
Disabled: exec,passthru,shell_exec,system
Upload Files
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';
    }
}