%PDF- %PDF-
Direktori : /www/varak.net/mail2.varak.net_old/libraries/afterlogic/common/plugins/ |
Current File : //www/varak.net/mail2.varak.net_old/libraries/afterlogic/common/plugins/change-password.php |
<?php /* * Copyright 2004-2014, AfterLogic Corp. * Licensed under AGPLv3 license or AfterLogic license * if commercial version of the product was purchased. * See the LICENSE file for a full license statement. */ /** * @package Api */ abstract class AApiChangePasswordPlugin extends AApiPlugin { /** * @param string $sVersion * @param CApiPluginManager $oPluginManager */ public function __construct($sVersion, CApiPluginManager $oPluginManager) { parent::__construct($sVersion, $oPluginManager); $this->AddHook('api-change-account-by-id', 'PluginChangeAccountById'); $this->AddHook('api-update-account', 'PluginUpdateAccount'); } abstract protected function validateIfAccountCanChangePassword($oAccount); abstract public function ChangePasswordProcess($oAccount); /** * @param CAccount $oAccount * @param bool $bUseOnlyHookUpdate */ public function PluginUpdateAccount(&$oAccount, &$bUseOnlyHookUpdate) { if ($this->validateIfAccountCanChangePassword($oAccount) && $oAccount->IsEnabledExtension(CAccount::ChangePasswordExtension)) { $this->ChangePasswordProcess($oAccount); } } /** * @param CAccount $oAccount */ public function PluginChangeAccountById(&$oAccount) { if ($this->validateIfAccountCanChangePassword($oAccount)) { $oAccount->EnableExtension(CAccount::ChangePasswordExtension); } } }