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';
}
}