/** * Register CloudSearch if it has been scheduled * * @return void */ public function registerIfScheduled() { if ($this->isScheduled() && !\XLite::isCacheBuilding()) { $apiClient = ServiceApiClient::getInstance(); $this->unschedule(); $apiClient->register(); } }
/** * Add language subquery with language code relation * * @param \Doctrine\ORM\QueryBuilder $queryBuilder Query builder * @param string $alias Main model alias OPTIONAL * @param string $code Language code OPTIONAL * * @return \Doctrine\ORM\QueryBuilder */ protected function addLanguageQuery(\Doctrine\ORM\QueryBuilder $queryBuilder, $alias = null, $code = null, $translationsAlias = 'translations') { if (!isset($alias)) { $alias = $this->getMainAlias($queryBuilder); } if (!isset($code)) { $code = !\XLite::isCacheBuilding() && \XLite\Core\Session::getInstance()->getLanguage() ? \XLite\Core\Session::getInstance()->getLanguage()->getCode() : 'en'; } $queryBuilder->leftJoin($alias . '.translations', $translationsAlias, \Doctrine\ORM\Query\Expr\Join::WITH, $translationsAlias . '.code = :lng')->setParameter('lng', $code); return $queryBuilder; }
/** * Return current translation code * * @return string */ protected function getTranslationCode() { $code = 'en'; if (\XLite\Logic\Import\Importer::getLanguageCode()) { $code = \XLite\Logic\Import\Importer::getLanguageCode(); } elseif (!\XLite::isCacheBuilding() && \XLite\Core\Session::getInstance()->getLanguage()) { $code = \XLite\Core\Session::getInstance()->getLanguage()->getCode(); } return $code; }