/** * Validates a username and password * * This method should return true or false depending on if login * succeeded. * * @return bool */ protected function validateUserPass($sUserName, $sPassword) { if (class_exists('CApi') && \CApi::IsValid()) { /* @var $oApiCalendarManager \CApiCalendarManager */ $oApiCalendarManager = \CApi::Manager('calendar'); /* @var $oApiCapabilityManager \CApiCapabilityManager */ $oApiCapabilityManager = \CApi::Manager('capability'); if ($oApiCalendarManager && $oApiCapabilityManager) { $oAccount = \afterlogic\DAV\Utils::GetAccountByLogin($sUserName); if ($oAccount && $oAccount->IsDisabled) { return false; } $bIsOutlookSyncClient = \afterlogic\DAV\Utils::ValidateClient('outlooksync'); $bIsMobileSync = false; $bIsOutlookSync = false; $bIsDemo = false; if ($oAccount) { $bIsMobileSync = $oApiCapabilityManager->IsMobileSyncSupported($oAccount); $bIsOutlookSync = $oApiCapabilityManager->IsOutlookSyncSupported($oAccount); \CApi::Plugin()->RunHook('plugin-is-demo-account', array(&$oAccount, &$bIsDemo)); } if ($oAccount && $oAccount->IncomingMailPassword === $sPassword && ($bIsMobileSync && !$bIsOutlookSyncClient || $bIsOutlookSync && $bIsOutlookSyncClient) || $bIsDemo || $sUserName === $oApiCalendarManager->GetPublicUser()) { \afterlogic\DAV\Utils::CheckPrincipals($sUserName); return true; } } } return false; }
public function getDigestHash($sRealm, $sUserName) { if (class_exists('CApi') && \CApi::IsValid()) { /* @var $oApiCapabilityManager \CApiCapabilityManager */ $oApiCapabilityManager = \CApi::GetSystemManager('capability'); if ($oApiCapabilityManager) { $oAccount = \Afterlogic\DAV\Utils::GetAccountByLogin($sUserName); if ($oAccount && $oAccount->IsDisabled) { return null; } $bIsOutlookSyncClient = \Afterlogic\DAV\Utils::ValidateClient('outlooksync'); $bIsMobileSync = false; $bIsOutlookSync = false; $bIsDemo = false; if ($oAccount) { $bIsMobileSync = $oApiCapabilityManager->isMobileSyncSupported($oAccount); $bIsOutlookSync = $oApiCapabilityManager->isOutlookSyncSupported($oAccount); \CApi::Plugin()->RunHook('plugin-is-demo-account', array(&$oAccount, &$bIsDemo)); } if ($oAccount && ($bIsMobileSync && !$bIsOutlookSyncClient || $bIsOutlookSync && $bIsOutlookSyncClient) || $bIsDemo || $sUserName === \CApi::ExecuteMethod('Dav::GetPublicUser')) { return md5($sUserName . ':' . $sRealm . ':' . ($bIsDemo ? 'demo' : $oAccount->IncomingMailPassword)); } } } return null; }
/** * Validates a username and password * * This method should return true or false depending on if login * succeeded. * * @return bool */ protected function validateUserPass($sUserName, $sPassword) { $mResult = false; if (class_exists('CApi') && \CApi::IsValid()) { /* @var $oApiCapabilityManager \CApiCapabilityManager */ $oApiCapabilityManager = \CApi::GetSystemManager('capability'); if ($oApiCapabilityManager) { $oDavDecorator = \CApi::GetModuleDecorator('Dav'); if ($oDavDecorator) { $mResult = $oDavDecorator->Login($sUserName, $sPassword); } $bIsOutlookSyncClient = \Afterlogic\DAV\Utils::ValidateClient('outlooksync'); $bIsMobileSync = false; $bIsOutlookSync = false; $bIsDemo = false; // if ($mResult !== false) { // $iIdUser = isset($mResult['id']) ? $mResult['id'] : 0; // return true; /* $bIsMobileSync = $oApiCapabilityManager->isMobileSyncSupported($iIdUser); $bIsOutlookSync = $oApiCapabilityManager->isOutlookSyncSupported($iIdUser); \CApi::Plugin()->RunHook( 'plugin-is-demo-account', array(&$oAccount, &$bIsDemo) ); * */ // } /* if (($oAccount && $oAccount->IncomingMailPassword === $sPassword && (($bIsMobileSync && !$bIsOutlookSyncClient) || ($bIsOutlookSync && $bIsOutlookSyncClient))) || $bIsDemo || $sUserName === \CApi::ExecuteMethod('Dav::GetPublicUser')) { return true; } * */ } } return $mResult; }