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/PreAccountsRemove.php
<?php

namespace MailChannels;

require_once(dirname(__FILE__) . '/Hook.php');

class PreAccountsRemove extends Hook {
    public function execute($hookData) {
        $result = true;
        $message = "";

        try {
            if (isset($hookData['data']) && isset($hookData['data']['user'])) {
                $user = $hookData['data']['user'];
                $deprovisionResult = $this->whostMgrAccountsDeProvision($user);

                if ($deprovisionResult[0] === false) {
                    $message = $deprovisionResult[1];
                } else {
                    return $deprovisionResult;
                }
            } else {
                $message = "Could not find the user in the hook data.";
                $result = false;
            }
        } catch (\Exception $e) {
            App::getLogger()->error("Error in PreAccountsRemove hook: " . $e->getMessage());
            $message = "An internal error occurred in PreAccountsRemove hook.";
        }

        return array($result, $message);
    }

    public static function category() {
        return 'Whostmgr';
    }

    public static function event() {
        return 'Accounts::Remove';
    }

    public static function stage() {
        return 'pre';
    }
}