public function CommonSocial(ap_Standard_Screen &$oScreen) { $oApiCapa = CApi::Manager('capability'); /* @var $oApiCapa CApiCapabilityManager */ if ($oApiCapa && !$this->oAdminPanel->IsOnlyReadAuthType()) { $oTenant = $this->oModule->GetTenantAdminObject(); if ($oTenant) { $aConnectors = array(); $oPlugin = \CApi::Plugin()->GetPluginByName('external-services'); if ($oPlugin) { $aEnableConnectors = $oPlugin->GetEnabledConnectors(); $aSocials = $oTenant->getSocials(); foreach ($aSocials as $sKey => $oSocial) { if (in_array($sKey, $aEnableConnectors)) { $oSocial->SupportedScopes = $oPlugin->GetSupportedScopes($sKey); $oSocial->TranslatedScopes = $oPlugin->GetTranslatedScopes($oSocial->SupportedScopes); $oSocial->HasApiKey = $oPlugin->HasApiKey($sKey); $aConnectors[$sKey] = $oSocial; } } } $oScreen->Data->SetValue('Socials', $aConnectors); } } }
public function CommonSocial() { $oApiCapa = CApi::Manager('capability'); /* @var $oApiCapa CApiCapabilityManager */ if ($oApiCapa) { $oTenant = $this->oModule->GetTenantAdminObject(); if ($oTenant) { $aSocials = $oTenant->GetDefaultSocials(); $aTenentSocials = array(); foreach ($aSocials as $sKey => $oSocial) { $oTenentSocial = new CTenantSocials(); $oTenentSocial->IdTenant = $oTenant->IdTenant; $oTenentSocial->SocialAllow = CPost::GetCheckBox($sKey . '_chSocialAllow'); $oTenentSocial->SocialName = ucfirst($sKey); $oTenentSocial->SocialId = CPost::Get($sKey . '_txtSocialId'); $oTenentSocial->SocialSecret = CPost::Get($sKey . '_txtSocialSecret'); $oTenentSocial->SocialApiKey = CPost::Get($sKey . '_txtSocialApiKey'); $oTenentSocial->SocialScopes = CPost::Get($sKey . '_txtSocialScopes'); $aTenentSocials[$sKey] = $oTenentSocial; } $oTenant->SetSocials($aTenentSocials); } if ($oTenant && $this->oModule->UpdateTenantAdminObject($oTenant)) { $this->LastMessage = AP_LANG_SAVESUCCESSFUL; $this->LastError = ''; } else { $this->LastMessage = ''; $this->LastError = AP_LANG_SAVEUNSUCCESSFUL; } } }
/** * @param CAccount $oAccount */ public function BeforeValidateLicenseKey() { $oLicensingApi = CApi::Manager('licensing'); if ($oLicensingApi && 0 === strlen($oLicensingApi->GetLicenseKey())) { $oLicensingApi->UpdateLicenseKey($oLicensingApi->GetT()); } }
public function CommonSocial() { $oApiCapa = CApi::Manager('capability'); /* @var $oApiCapa CApiCapabilityManager */ if ($oApiCapa) { $oTenant = $this->oModule->GetTenantAdminObject(); if ($oTenant) { $oTenant->SocialFacebookAllow = CPost::Get('chSocialFacebookAllow'); $oTenant->SocialFacebookId = CPost::Get('txtSocialFacebookId'); $oTenant->SocialFacebookSecret = CPost::Get('txtSocialFacebookSecret'); $oTenant->SocialGoogleAllow = CPost::Get('chSocialGoogleAllow'); $oTenant->SocialGoogleId = CPost::Get('txtSocialGoogleId'); $oTenant->SocialGoogleSecret = CPost::Get('txtSocialGoogleSecret'); $oTenant->SocialGoogleApiKey = CPost::Get('txtSocialGoogleApiKey'); $oTenant->SocialTwitterAllow = CPost::Get('chSocialTwitterAllow'); $oTenant->SocialTwitterId = CPost::Get('txtSocialTwitterId'); $oTenant->SocialTwitterSecret = CPost::Get('txtSocialTwitterSecret'); $oTenant->SocialDropboxAllow = CPost::Get('chSocialDropboxAllow'); $oTenant->SocialDropboxKey = CPost::Get('txtSocialDropboxKey'); $oTenant->SocialDropboxSecret = CPost::Get('txtSocialDropboxSecret'); } if ($oTenant && $this->oModule->UpdateTenantAdminObject($oTenant)) { $this->LastMessage = AP_LANG_SAVESUCCESSFUL; $this->LastError = ''; } else { $this->LastMessage = ''; $this->LastError = AP_LANG_SAVEUNSUCCESSFUL; } } }
/** * 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 getMinMan() { if ($this->oApiMin == null) { $this->oApiMin = \CApi::Manager('min'); } return $this->oApiMin; }
/** * @return \CApiGcontactsManager */ public function ApiGContacts() { if (null === $this->oApiGcontacts) { $this->oApiGcontacts = \CApi::Manager('gcontacts'); } return $this->oApiGcontacts; }
protected function GetTwofactorauthManager() { if (null === $this->oApiTwofactorauth) { $this->oApiTwofactorauth = \CApi::Manager('twofactorauth'); } return $this->oApiTwofactorauth; }
/** * Sets up the backend. */ public function __construct() { $oPdo = \CApi::GetPDO(); $dbPrefix = \CApi::GetSettings()->GetConf('Common/DBPrefix'); $this->oApiUsersManager = \CApi::Manager('users'); parent::__construct($oPdo, $dbPrefix . Constants::T_PRINCIPALS, $dbPrefix . Constants::T_GROUPMEMBERS); }
public function getUsersMan() { if ($this->oApiUsers == null) { $this->oApiUsers = \CApi::Manager('users'); } return $this->oApiUsers; }
public function getContactsManager() { if (!isset($this->oApiContactsManager)) { $this->oApiContactsManager = \CApi::Manager('contacts'); } return $this->oApiContactsManager; }
/** * @param CAdminPanel $oAdminPanel * @param string $sPath * @return CCommonModule */ public function __construct(CAdminPanel &$oAdminPanel, $sPath) { parent::__construct($oAdminPanel, $sPath); $this->oDomainsApi = CApi::Manager('domains'); $this->oUsersApi = CApi::Manager('users'); $this->oCapabilityApi = CApi::Manager('capability'); $this->oWebmailApi = CApi::Manager('webmail'); $this->oIntegratorApi = CApi::Manager('integrator'); $this->oTenantsApi = CApi::Manager('tenants'); if (\CApi::GetConf('labs.allow-social-integration', true)) { $this->aTabs[] = AP_TAB_COMMON; } $this->aTabs[] = AP_TAB_DOMAINS; $this->aTabs[] = AP_TAB_SYSTEM; $this->aQueryActions[] = 'edit'; $this->aQueryActions[] = 'list'; $this->oPopulateData = new CCommonPopulateData($this); $this->oStandardPostAction = new CCommonPostAction($this); $this->oStandardPopAction = new CCommonPopAction($this); $this->oTableAjaxAction = new CCommonAjaxAction($this); $aTabs =& $oAdminPanel->GetTabs(); if (\CApi::GetConf('labs.allow-social-integration', true)) { array_push($aTabs, array(CApi::I18N('ADMIN_PANEL/TABNAME_COMMON'), AP_TAB_COMMON)); } array_push($aTabs, array(CApi::I18N('ADMIN_PANEL/TABNAME_DOMAINS'), AP_TAB_DOMAINS), array(CApi::I18N('ADMIN_PANEL/TABNAME_SYSTEM'), AP_TAB_SYSTEM)); }
/** * @return CApiTenantsManager|null */ private function _getApiTenantsManager() { if (null === $this->oApiTenantsManager) { $this->oApiTenantsManager = CApi::Manager('tenants'); } return $this->oApiTenantsManager; }
public function SystemLogging() { if (isset($_POST['btnClearLog']) || isset($_POST['btnUserActivityClearLog'])) { /* @var $oApiLoggerManager CApiLoggerManager */ $oApiLoggerManager = CApi::Manager('logger'); $bResult = false; if (isset($_POST['btnClearLog'])) { $bResult = $oApiLoggerManager->DeleteCurrentLog(); } else { $bResult = $oApiLoggerManager->DeleteCurrentUserActivityLog(); } if ($bResult) { $this->LastMessage = WM_INFO_LOGCLEARSUCCESSFUL; } else { $this->LastError = AP_LANG_ERROR; } } else { if ($this->isStandartSubmit()) { $this->oSettings->SetConf('Common/EnableLogging', CPost::GetCheckBox('ch_EnableDebugLogging')); $this->oSettings->SetConf('Common/EnableEventLogging', CPost::GetCheckBox('ch_EnableUserActivityLogging')); $this->oSettings->SetConf('Common/LoggingLevel', EnumConvert::FromPost(CPost::Get('selVerbosity', ''), 'ELogLevel')); $this->checkBolleanWithMessage($this->oSettings->SaveToXml()); } } }
/** * @param int $iUserId * @param string $sTempFileName * @param int $iParsedCount * @param int $iGroupId * @param bool $bIsShared * @return int */ public function Import($iUserId, $sTempFileName, &$iParsedCount, $iGroupId, $bIsShared) { $iCount = -1; $iParsedCount = 0; if (file_exists($sTempFileName)) { $aCsv = api_Utils::CsvToArray($sTempFileName); if (is_array($aCsv)) { $oApiUsersManager = CApi::Manager('users'); $oAccount = $oApiUsersManager->GetDefaultAccount($iUserId); $iCount = 0; foreach ($aCsv as $aCsvItem) { set_time_limit(30); $this->oParser->Reset(); $oContact = new CContact(); $oContact->IdUser = $iUserId; $this->oParser->SetContainer($aCsvItem); $aParameters = $this->oParser->GetParameters(); foreach ($aParameters as $sPropertyName => $mValue) { if ($oContact->IsProperty($sPropertyName)) { $oContact->{$sPropertyName} = $mValue; } } if (0 === strlen($oContact->FullName)) { $oContact->FullName = trim($oContact->FirstName . ' ' . $oContact->LastName); } if (0 !== strlen($oContact->HomeEmail)) { $oContact->PrimaryEmail = \EPrimaryEmailType::Home; $oContact->ViewEmail = $oContact->HomeEmail; } else { if (0 !== strlen($oContact->BusinessEmail)) { $oContact->PrimaryEmail = \EPrimaryEmailType::Business; $oContact->ViewEmail = $oContact->BusinessEmail; } else { if (0 !== strlen($oContact->OtherEmail)) { $oContact->PrimaryEmail = \EPrimaryEmailType::Other; $oContact->ViewEmail = $oContact->OtherEmail; } } } if (strlen($oContact->BirthdayYear) === 2) { $oDt = DateTime::createFromFormat('y', $oContact->BirthdayYear); $oContact->BirthdayYear = $oDt->format('Y'); } $iParsedCount++; $oContact->__SKIP_VALIDATE__ = true; if ($oAccount) { $oContact->IdDomain = $oAccount->IdDomain; $oContact->IdTenant = $oAccount->IdTenant; } $oContact->SharedToAll = $bIsShared; $oContact->GroupsIds = array($iGroupId); if ($this->oApiContactsManager->CreateContact($oContact)) { $iCount++; } unset($oContact, $aParameters, $aCsvItem); } } } return $iCount; }
/** * @return CSubscription|null */ public function TenantManager() { if (null === $this->oTenants) { $this->oTenants = CApi::Manager('tenants'); } return $this->oTenants; }
public function getChildForPrincipal(array $principal) { $oApiCapabilityManager = \CApi::Manager('capability'); $oAccount = $this->getAccount($principal['uri']); if ($oAccount instanceof \CAccount && $oApiCapabilityManager->IsPersonalContactsSupported($oAccount)) { return new UserAddressBooks($this->carddavBackend, $principal['uri']); } else { return new EmptyAddressBooks($this->carddavBackend, $principal['uri']); } }
/** * @param CAccount $oAccount * @return bool */ protected function validateIfAccountCanChangePassword($oAccount) { if (null === $this->oDefaultDomain) { /* @var $oApiDomainsManager CApiDomainsManager */ $oApiDomainsManager = CApi::Manager('domains'); if ($oApiDomainsManager) { $this->oDefaultDomain = $oApiDomainsManager->GetDefaultDomain(); } } return $oAccount instanceof CAccount && $this->oDefaultDomain && $this->oDefaultDomain->IncomingMailServer === $oAccount->IncomingMailServer; }
public function CommonSocial(ap_Standard_Screen &$oScreen) { $oApiCapa = CApi::Manager('capability'); /* @var $oApiCapa CApiCapabilityManager */ if ($oApiCapa && !$this->oAdminPanel->IsOnlyReadAuthType()) { $oTenant = $this->oModule->GetTenantAdminObject(); if ($oTenant) { $oScreen->Data->SetValue('Socials', $oTenant->GetSocials()); } } }
public function __construct() { $oSettings =& CApi::GetSettings(); $this->aAccounts = array(); $this->aCalendars = array(); $this->sCurRunFilePath = CApi::DataPath() . '/reminder-run'; $this->sLang = $oSettings->GetConf('Common/DefaultLanguage'); $this->oApiUsersManager = CApi::Manager('users'); $this->oApiCalendarManager = CApi::Manager('calendar'); $this->oApiMailManager = CApi::Manager('mail'); }
public function TemplateValues() { $sMessage = ''; if (isset($_SESSION['wm_install_server_test_message'])) { $sMessage = $_SESSION['wm_install_server_test_message']; unset($_SESSION['wm_install_server_test_message']); } if (!isset($_SESSION['wm_install_server_test_ch_smtp'])) { $_SESSION['wm_install_server_test_ch_smtp'] = true; } return array('Host' => isset($_SESSION['wm_install_server_test_host']) ? $_SESSION['wm_install_server_test_host'] : '127.0.0.1', 'chSMTP' => isset($_SESSION['wm_install_server_test_ch_smtp']) && $_SESSION['wm_install_server_test_ch_smtp'] ? 'checked="checked"' : '', 'chIMAP' => isset($_SESSION['wm_install_server_test_ch_imap4']) && $_SESSION['wm_install_server_test_ch_imap4'] ? 'checked="checked"' : '', 'FootMessage' => $sMessage, 'LiteScript' => CApi::Manager('licensing') ? CApi::Manager('collaboration') ? 'window.__awm_au = true;' : '' : 'window.__awm_lite = true;'); }
/** * @param CApiGlobalManager &$oManager */ public function __construct(CApiGlobalManager &$oManager) { parent::__construct('sabredav', $oManager); $this->Account = null; $this->aAddressBooksCache = array(); $this->aContactItemsCache = array(); $this->aGroupItemsCache = array(); $this->ContactsCache = array(); $this->GroupsCache = array(); $this->AccountsCache = array(); $this->ApiUsersManager = CApi::Manager('users'); }
public static function getTenantUser($oAccount) { $sEmail = 'default_' . Constants::DAV_TENANT_PRINCIPAL; if ($oAccount->IdTenant > 0) { $oApiTenantsMan = \CApi::Manager('tenants'); $oTenant = $oApiTenantsMan ? $oApiTenantsMan->getTenantById($oAccount->IdTenant) : null; if ($oTenant) { $sEmail = $oTenant->Login . '_' . Constants::DAV_TENANT_PRINCIPAL; } } return Backend::Principal()->getPrincipalByEmail($sEmail); }
/** * @param CAccount $oAccount */ public function BeforeGetLicenseKey() { $oSettings =& CApi::GetSettings(); $sLicenseKey = $oSettings->GetConf('Common/LicenseKey'); if (empty($sLicenseKey)) { $oLicensingApi = CApi::Manager('licensing'); if ($oLicensingApi) { $oSettings->SetConf('Common/LicenseKey', $oLicensingApi->GetT()); $oSettings->SaveToXml(); } } }
/** * @param CApiGlobalManager &$oManager * @param string $sForcedStorage */ public function __construct(CApiGlobalManager &$oManager, $sForcedStorage = '') { parent::__construct('ios', $oManager); /* * @var $oApiUsersManager CApiUsersManager */ $this->oApiUsersManager = CApi::Manager('users'); /* * @var $oApiDavManager CApiDavManager */ $this->oApiDavManager = CApi::Manager('dav'); }
public function System() { $sType = isset($_GET['type']) ? $_GET['type'] : ''; $sAction = isset($_GET['action']) ? $_GET['action'] : ''; $iLimit = CApi::GetConf('log.max-view-size', 100) * 1024; if ('log' === $sType && 'view' === $sAction || 'useractivity' === $sType && 'view' === $sAction) { /* @var $oApiLoggerManager CApiLoggerManager */ $oApiLoggerManager = CApi::Manager('logger'); $iSize = 0; $rLog = 'log' === $sType ? $oApiLoggerManager->GetCurrentLogStream($iSize) : $oApiLoggerManager->GetCurrentUserActivityLogStream($iSize); @header('Content-type: text/plain; charset=utf-8'); if ($rLog && false !== $iSize) { if (0 === $iSize) { echo 'Log file empty'; } else { if ($iLimit < $iSize) { @fseek($rLog, $iSize - $iLimit); } @fpassthru($rLog); } } else { echo 'Log file can\'t be read'; } if ($rLog) { @fclose($rLog); } } else { if ('dllog' === $sType || 'dluseractivity' === $sType) { /* @var $oApiLoggerManager CApiLoggerManager */ $oApiLoggerManager = CApi::Manager('logger'); $iSize = 0; $rLog = 'dllog' === $sType ? $oApiLoggerManager->GetCurrentLogStream($iSize) : $oApiLoggerManager->GetCurrentUserActivityLogStream($iSize); // IE @header('Expires: 0', true); @header('Cache-Control: must-revalidate, post-check=0, pre-check=0', true); @header('Pragma: public', true); $sName = 'dllog' === $sType ? $oApiLoggerManager->LogName() : $oApiLoggerManager->CurrentUserActivityLogName(); @header('Accept-Ranges: bytes', true); @header('Content-Disposition: attachment; filename="' . urlencode($sName) . '"; charset=utf-8'); @header('Content-Transfer-Encoding: binary', true); @header('Content-Length: ' . $iSize); @header('Content-type: text/plain; charset=utf-8', true); if ($rLog && false !== $iSize) { @fpassthru($rLog); } if ($rLog) { @fclose($rLog); } } } }
/** * @param int $iIdUser * @param null $iGroupId = null * @param bool $bWatchShare = false * @param bool $bWatchShareAndUser = true * @param string $sTablePrefix = '' * @param bool $bAll = false * * @return string */ protected function sharedItemsSqlHelper($iIdUser, $iGroupId = null, $bWatchShare = false, $bWatchShareAndUser = false, $sTablePrefix = '', $bAll = false) { if ($bAll) { $bWatchShare = true; $bWatchShareAndUser = true; } $aTypes[] = sprintf('%stype = %d', $sTablePrefix, EContactType::Personal); if ($iGroupId && 0 < $iGroupId) { $aTypes[] = sprintf('%stype = %d', $sTablePrefix, EContactType::Global_); } if ($bWatchShare && null !== $iIdUser) { $oAccount = null; if (isset($this->aAccountsCache[$iIdUser])) { $oAccount = $this->aAccountsCache[$iIdUser]; } if (!$oAccount) { if (null === $this->oUsersManager) { $this->oUsersManager = CApi::Manager('users'); } $oAccount = $this->oUsersManager ? $this->oUsersManager->getDefaultAccount($iIdUser) : null; if ($oAccount) { $this->aAccountsCache[$iIdUser] = $oAccount; } } if ($oAccount) { $sEnd = '1 = 0'; if (EContactsGABVisibility::Off !== $oAccount->GlobalAddressBook) { if (0 <= $oAccount->IdDomain && $oAccount->Domain) { if (EContactsGABVisibility::DomainWide === $oAccount->GlobalAddressBook) { $sEnd = sprintf('%sid_domain = %d', $sTablePrefix, $oAccount->IdDomain); } else { if (EContactsGABVisibility::TenantWide === $oAccount->GlobalAddressBook) { $sEnd = sprintf('%sid_tenant = %d', $sTablePrefix, $oAccount->Domain->IdTenant); } else { if (EContactsGABVisibility::SystemWide === $oAccount->GlobalAddressBook) { $sEnd = '1 = 1'; } } } } } if ($bAll) { $aTypes[] = sprintf('%stype = %d', $sTablePrefix, EContactType::GlobalAccounts); $aTypes[] = sprintf('%stype = %d', $sTablePrefix, EContactType::GlobalMailingList); } return '(' . '(' . implode(' OR ', $aTypes) . ') AND (' . sprintf('(%sshared_to_all = 1 AND %s)', $sTablePrefix, $sEnd) . ($bAll ? sprintf(' OR ((%stype = %d OR %stype = %d) AND %s)', $sTablePrefix, EContactType::GlobalAccounts, $sTablePrefix, EContactType::GlobalMailingList, $sEnd) : '') . ($bWatchShareAndUser ? sprintf(' OR (%sid_user = %d AND %sshared_to_all = 0)', $sTablePrefix, $iIdUser, $sTablePrefix) : '') . '))'; } } return null !== $iIdUser ? sprintf('(%sid_user = %d AND %sshared_to_all = 0 AND (%s))', $sTablePrefix, $iIdUser, $sTablePrefix, implode(' OR ', $aTypes)) : ''; }
protected function initNewDomainByPost(CDomain &$oDomain) { /* @var $oApiDomainsManager CApiDomainsManager */ $oApiDomainsManager = CApi::Manager('domains'); /* @var $oDefaultDomain CDomain */ $oDefaultDomain = $oApiDomainsManager->getDefaultDomain(); $oDomain->IncomingMailProtocol = $oDefaultDomain->IncomingMailProtocol; $oDomain->IncomingMailServer = $oDefaultDomain->IncomingMailServer; $oDomain->IncomingMailPort = $oDefaultDomain->IncomingMailPort; $oDomain->OutgoingMailServer = $oDefaultDomain->OutgoingMailServer; $oDomain->OutgoingMailPort = $oDefaultDomain->OutgoingMailPort; $oDomain->ExternalHostNameOfDAVServer = $oDefaultDomain->ExternalHostNameOfDAVServer; $oDomain->ExternalHostNameOfLocalImap = $oDefaultDomain->ExternalHostNameOfLocalImap; $oDomain->ExternalHostNameOfLocalSmtp = $oDefaultDomain->ExternalHostNameOfLocalSmtp; }
/** * Returns a list of addressbooks * * @return array */ public function getChildren() { $objs = array(); /* @var $oApiCapaManager \CApiCapabilityManager */ $oApiCapaManager = \CApi::Manager('capability'); $addressbooks = $this->carddavBackend->getAddressbooksForUser($this->principalUri); foreach ($addressbooks as $addressbook) { $objs[] = new AddressBook($this->carddavBackend, $addressbook); } if ($oApiCapaManager->isCollaborationSupported()) { $sharedAddressbook = $this->carddavBackend->getSharedAddressBook($this->principalUri); $objs[] = new SharedAddressBook($this->carddavBackend, $sharedAddressbook, $this->principalUri); } return $objs; }
/** * @param CAccount $oAccount * @param array $aNumbers * @param bool $bUseCache = true * @return array */ public function getNamesByCallersNumbers($oAccount, $aNumbers, $bUseCache = true) { $mResult = false; $oApiContactsManager = CApi::Manager('contactsmain'); if (is_array($aNumbers) && 0 < count($aNumbers) && $oAccount && $oApiContactsManager) { $bFromCache = false; $sCacheKey = ''; $mNamesResult = null; $oApiFileCache = $bUseCache ? CApi::Manager('filecache') : false; if ($oApiFileCache) { $sCacheKey = $this->_generateCacheFileName($oAccount->IdUser); if (!empty($sCacheKey)) { $sData = $oApiFileCache->get($oAccount, $sCacheKey); if (!empty($sData)) { $mNamesResult = @json_decode($sData, true); if (!is_array($mNamesResult)) { $mNamesResult = null; } else { $bFromCache = true; CApi::Log('Cache: get contacts names from cache (count:' . count($mNamesResult) . ')'); } } } } if (!is_array($mNamesResult)) { $mNamesResult = $oApiContactsManager->GetAllContactsNamesWithPhones($oAccount); } if (is_array($mNamesResult)) { if (!$bFromCache && $oApiFileCache && 0 < strlen($sCacheKey)) { $oApiFileCache->put($oAccount, $sCacheKey, @json_encode($mNamesResult)); CApi::Log('Cache: save contacts names to cache (count:' . count($mNamesResult) . ')'); } $aNormNumbers = array(); foreach ($aNumbers as $sNumber) { $aNormNumbers[$sNumber] = api_Utils::ClearPhone($sNumber); } foreach ($aNormNumbers as $sInputNumber => $sClearNumber) { $aNormNumbers[$sInputNumber] = isset($mNamesResult[$sClearNumber]) ? $mNamesResult[$sClearNumber] : ''; } $mResult = $aNormNumbers; } } else { if (is_array($aNumbers)) { $mResult = array(); } } return $mResult; }