oDefaultDomain = null; require_once __DIR__.'/da_api.php'; $this->oDAApi = new DirectAdminAPI('http://localhost:2222'); } /** * @param CAccount $oAccount * @return bool */ public function ValidateIfAccountCanChangePassword($oAccount) { if (null === $this->oDefaultDomain) { /* @var $oApiDomainsManager CApiDomainsManager */ $oApiDomainsManager = CApi::Manager('domains'); if ($oApiDomainsManager) { $this->oDefaultDomain = $oApiDomainsManager->GetDefaultDomain(); } } return ( $this->oDefaultDomain && $oAccount instanceof CAccount && $this->oDefaultDomain->IncomingMailServer === $oAccount->IncomingMailServer ); } /** * @param CAccount $oAccount */ public function ChangePasswordProcess($oAccount) { if ($oAccount instanceof CAccount && 0 < strlen($oAccount->PreviousMailPassword) && $oAccount->PreviousMailPassword !== $oAccount->IncomingMailPassword) { $this->oDAApi->CMD_CHANGE_EMAIL_PASSWORD( $oAccount->IncomingMailLogin, $oAccount->PreviousMailPassword, $oAccount->IncomingMailPassword, $oAccount->IncomingMailPassword ); } } } return new CDirectAdminChangePasswordPlugin($this);