_serviceProfileFunc('getUnit', $iContentId); } public function serviceHasImage ($iContentId) { return false; } public function serviceProfilePicture ($iContentId) { return $this->_serviceProfileFunc('getPicture', $iContentId); } public function serviceProfileAvatar ($iContentId) { return $this->_serviceProfileFunc('getAvatar', $iContentId); } public function serviceProfileCover ($iContentId) { return $this->_serviceTemplateFunc('urlCover', $iContentId); } public function serviceProfileEditUrl ($iContentId) { return BX_DOL_URL_ROOT . BxDolPermalinks::getInstance()->permalink('page.php?i=account-settings-info'); } public function serviceProfileThumb ($iContentId) { return $this->_serviceProfileFunc('getThumb', $iContentId); } public function serviceProfileIcon ($iContentId) { return $this->_serviceProfileFunc('getIcon', $iContentId); } public function serviceProfileName ($iContentId) { return $this->_serviceProfileFunc('getDisplayName', $iContentId); } public function serviceProfileUrl ($iContentId) { return $this->_serviceProfileFunc('getUrl', $iContentId); } /** * @see iBxDolProfileService::serviceCheckAllowedProfileView */ public function serviceCheckAllowedProfileView($iContentId) { return _t('_Access denied'); } /** * @see iBxDolProfileService::serviceCheckAllowedPostInProfile */ public function serviceCheckAllowedPostInProfile($iContentId) { return _t('_Access denied'); } /** * @see iBxDolProfileService::serviceGetSpaceTitle */ public function serviceGetSpaceTitle() { return ''; } /** * @see iBxDolProfileService::serviceGetParticipatingProfiles */ public function serviceGetParticipatingProfiles($iProfileId, $aConnectionObject = false) { return array(); } /** * @see iBxDolProfileService::serviceCheckSpacePrivacy */ public function serviceCheckSpacePrivacy($iContentId) { return _t('_Access denied'); } public function serviceFormsHelper () { return new BxTemplAccountForms(); } public function serviceActAsProfile () { return false; } public function servicePrepareFields ($aFieldsProfile) { return $aFieldsProfile; } public function serviceProfilesSearch ($sTerm, $iLimit) { $oDb = BxDolAccountQuery::getInstance(); $aRet = array(); $a = $oDb->searchByTerm($sTerm, $iLimit); foreach ($a as $r) $aRet[] = array ('label' => $this->serviceProfileName($r['content_id']), 'value' => $r['profile_id']); return $aRet; } public function serviceKeywordSearch ($sSection, $aCondition, $sTemplate = '', $iStart = 0, $iPerPage = 0, $bLiveSearch = 0) { if (!$sSection || !isset($aCondition['keyword'])) return ''; $sClass = 'BxTemplSearch'; $sElsName = 'bx_elasticsearch'; $sElsMethod = 'is_configured'; if(BxDolRequest::serviceExists($sElsName, $sElsMethod) && BxDolService::call($sElsName, $sElsMethod)) { $oModule = BxDolModule::getInstance($sElsName); bx_import('Search', $oModule->_aModule); $sClass = 'BxElsSearch'; } $oSearch = new $sClass(array($sSection)); $oSearch->setLiveSearch($bLiveSearch); $oSearch->setMetaType(isset($aCondition['meta_type']) ? $aCondition['meta_type'] : ''); $oSearch->setCategoryObject(isset($aCondition['cat']) ? $aCondition['cat'] : ''); $oSearch->setCustomSearchCondition($aCondition); $oSearch->setRawProcessing(true); $oSearch->setCustomCurrentCondition(array( 'paginate' => array ( 'start' => $iStart, 'perPage' => $iPerPage ? $iPerPage : BX_DOL_SEARCH_RESULTS_PER_PAGE_DEFAULT, ))); if ($sTemplate) $oSearch->setUnitTemplate($sTemplate); return $oSearch->response(); } public function _serviceProfileFunc ($sFunc, $iContentId) { if (!$iContentId) return false; if (!($oAccount = BxDolAccount::getInstance($iContentId))) return false; return $oAccount->$sFunc(); } public function serviceAlertResponseProcessInstalled() { BxDolTranscoderImage::registerHandlersSystem(); } public function serviceAlertResponseProcessStorageChange ($oAlert) { if ('sys_storage_default' != $oAlert->aExtras['option']) return; $aStorages = BxDolStorageQuery::getStorageObjects(); foreach ($aStorages as $r) { if (0 == $r['current_size'] && 0 == $r['current_number'] && ($oStorage = BxDolStorage::getObjectInstance($r['object']))) $oStorage->changeStorageEngine($oAlert->aExtras['value']); } } /** * This service adds notification for users which open your site on mobile devices * and suggest to add your site to their mobile homepage. */ public function serviceAddToMobileHomepage () { BxDolTemplate::getInstance()->addJs('cubiq-add-to-homescreen/addtohomescreen.min.js'); BxDolTemplate::getInstance()->addCss(BX_DIRECTORY_PATH_PLUGINS_PUBLIC . 'cubiq-add-to-homescreen/style/|addtohomescreen.css'); return ""; } } /** @} */