%PDF- %PDF-
| Direktori : /www/varak.net/mail2.varak.net_old/libraries/afterlogic/DAV/Auth/Backend/ |
| Current File : /www/varak.net/mail2.varak.net_old/libraries/afterlogic/DAV/Auth/Backend/Basic.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.
*/
namespace afterlogic\DAV\Auth\Backend;
class Basic extends \Sabre\DAV\Auth\Backend\AbstractBasic
{
/**
* Creates the backend object.
*
* @return void
*/
public function __construct()
{
}
public function setCurrentUser($user)
{
$this->currentUser = $user;
}
/**
* 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;
}
}