/** * 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; }
/** * Get identifiers list for specified query builder object * * @param \Doctrine\ORM\QueryBuilder $qb Query builder * @param string $name Name * @param mixed $value Value * * @return void */ protected function addImportCondition(\Doctrine\ORM\QueryBuilder $qb, $name, $value) { $alias = $qb->getMainAlias(); if (property_exists($this->getClassMetadata()->name, $name)) { $qb->andWhere($alias . '.' . $name . ' = :' . $name); } elseif (property_exists($this->getClassMetadata()->name, 'translations')) { $qb->andWhere('translations.' . $name . ' = :' . $name); if (is_array($value)) { $value = $value[\XLite\Logic\Import\Importer::getLanguageCode()]; } } $qb->setParameter($name, $value); }
/** * Return current translation code * * @param string $code Language code OPTIONAL * * @return string */ protected function getTranslationCode($code = null) { if (!isset($code)) { if ($this->editLanguage) { $code = $this->editLanguage; } elseif (\XLite\Logic\Export\Generator::getLanguageCode()) { $code = \XLite\Logic\Export\Generator::getLanguageCode(); } elseif (\XLite\Logic\Import\Importer::getLanguageCode()) { $code = \XLite\Logic\Import\Importer::getLanguageCode(); } elseif (\XLite\Core\Translation::getTmpMailTranslationCode()) { $code = \XLite\Core\Translation::getTmpMailTranslationCode(); } else { $code = $this->getSessionLanguageCode(); } } return $code; }
/** * Get value for default language * * @param mixed $value Value * * @return mixed */ protected function getDefLangValue($value) { $code = $this->importer->getLanguageCode(); return is_array($value) ? isset($value[$code]) ? $value[$code] : null : trim($value); }