Ejemplo n.º 1
0
 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);
         }
     }
 }
Ejemplo n.º 2
0
 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;
         }
     }
 }
Ejemplo n.º 3
0
 /**
  * @param CAccount $oAccount
  */
 public function BeforeValidateLicenseKey()
 {
     $oLicensingApi = CApi::Manager('licensing');
     if ($oLicensingApi && 0 === strlen($oLicensingApi->GetLicenseKey())) {
         $oLicensingApi->UpdateLicenseKey($oLicensingApi->GetT());
     }
 }
Ejemplo n.º 4
0
 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;
         }
     }
 }
Ejemplo n.º 5
0
 /**
  * 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;
 }
Ejemplo n.º 6
0
 public function getMinMan()
 {
     if ($this->oApiMin == null) {
         $this->oApiMin = \CApi::Manager('min');
     }
     return $this->oApiMin;
 }
Ejemplo n.º 7
0
 /**
  * @return \CApiGcontactsManager
  */
 public function ApiGContacts()
 {
     if (null === $this->oApiGcontacts) {
         $this->oApiGcontacts = \CApi::Manager('gcontacts');
     }
     return $this->oApiGcontacts;
 }
Ejemplo n.º 8
0
 protected function GetTwofactorauthManager()
 {
     if (null === $this->oApiTwofactorauth) {
         $this->oApiTwofactorauth = \CApi::Manager('twofactorauth');
     }
     return $this->oApiTwofactorauth;
 }
Ejemplo n.º 9
0
 /**
  * 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);
 }
Ejemplo n.º 10
0
 public function getUsersMan()
 {
     if ($this->oApiUsers == null) {
         $this->oApiUsers = \CApi::Manager('users');
     }
     return $this->oApiUsers;
 }
Ejemplo n.º 11
0
 public function getContactsManager()
 {
     if (!isset($this->oApiContactsManager)) {
         $this->oApiContactsManager = \CApi::Manager('contacts');
     }
     return $this->oApiContactsManager;
 }
Ejemplo n.º 12
0
 /**
  * @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));
 }
Ejemplo n.º 13
0
 /**
  * @return CApiTenantsManager|null
  */
 private function _getApiTenantsManager()
 {
     if (null === $this->oApiTenantsManager) {
         $this->oApiTenantsManager = CApi::Manager('tenants');
     }
     return $this->oApiTenantsManager;
 }
Ejemplo n.º 14
0
 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());
         }
     }
 }
Ejemplo n.º 15
0
 /**
  * @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;
 }
Ejemplo n.º 16
0
 /**
  * @return CSubscription|null
  */
 public function TenantManager()
 {
     if (null === $this->oTenants) {
         $this->oTenants = CApi::Manager('tenants');
     }
     return $this->oTenants;
 }
Ejemplo n.º 17
0
 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']);
     }
 }
Ejemplo n.º 18
0
 /**
  * @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;
 }
Ejemplo n.º 19
0
 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());
         }
     }
 }
Ejemplo n.º 20
0
 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');
 }
Ejemplo n.º 21
0
 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;');
 }
Ejemplo n.º 22
0
 /**
  * @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');
 }
Ejemplo n.º 23
0
 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);
 }
Ejemplo n.º 24
0
 /**
  * @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();
         }
     }
 }
Ejemplo n.º 25
0
 /**
  * @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');
 }
Ejemplo n.º 26
0
 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);
             }
         }
     }
 }
Ejemplo n.º 27
0
 /**
  * @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)) : '';
 }
Ejemplo n.º 28
0
 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;
 }
Ejemplo n.º 29
0
 /**
  * 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;
 }
Ejemplo n.º 30
0
 /**
  * @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;
 }