‪TYPO3CMS  ‪main
TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider Class Reference

Public Member Functions

mixed translationInfo ($table, $uid, $languageUid=0, array $row=null, $selFieldList='')
 

Public Attributes

array< LanguageRef, function getSystemLanguages( $pageId=0) { if(isset( $this->systemLanguageCache[ $pageId])) { return $this-> systemLanguageCache [$pageId]
 
 $allSystemLanguages = []
 
 $siteFinder = GeneralUtility::makeInstance(SiteFinder::class)
 
if($pageId===0) else
 
if(!isset($siteLanguages[0])) $allSystemLanguages
 
$this systemLanguageCache [$pageId] = $allSystemLanguages
 
return $allSystemLanguages
 

Protected Member Functions

 addSiteLanguagesToConsolidatedList (array $allSystemLanguages, array $languagesOfSpecificSite, SiteInterface $site, bool $includeSiteSuffix)
 
 getBackendUserAuthentication ()
 

Protected Attributes

array $systemLanguageCache = []
 

Detailed Description

Contains translation tools

@phpstan-type LanguageRef -1|0|positive-int

The whole class is subject to be removed, fetch all language info from the current site object.

Definition at line 38 of file TranslationConfigurationProvider.php.

Member Function Documentation

◆ addSiteLanguagesToConsolidatedList()

TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::addSiteLanguagesToConsolidatedList ( array  $allSystemLanguages,
array  $languagesOfSpecificSite,
SiteInterface  $site,
bool  $includeSiteSuffix 
)
protected

◆ getBackendUserAuthentication()

TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::getBackendUserAuthentication ( )
protected

◆ translationInfo()

mixed TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::translationInfo (   $table,
  $uid,
  $languageUid = 0,
array  $row = null,
  $selFieldList = '' 
)

Information about translation for an element Will overlay workspace version of record too!

Parameters
string$table‪Table name
int$uid‪Record uid
int$languageUid‪Language uid. If 0, then all languages are selected.
array$row‪The record to be translated
array | string$selFieldList‪Select fields for the query which fetches the translations of the current record
Returns
‪mixed Array with information or error message as a string.

Definition at line 119 of file TranslationConfigurationProvider.php.

References $GLOBALS, TYPO3\CMS\Webhooks\Message\$uid, TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider\getBackendUserAuthentication(), TYPO3\CMS\Core\Database\Connection\PARAM_INT, and TYPO3\CMS\Core\Utility\GeneralUtility\trimExplode().

Member Data Documentation

◆ $allSystemLanguages [1/3]

TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::$allSystemLanguages = []

◆ $allSystemLanguages [2/3]

if (!isset( $siteLanguages[0])) TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::$allSystemLanguages
Initial value:
$siteLanguages,
$site,
false
)

Definition at line 78 of file TranslationConfigurationProvider.php.

◆ $allSystemLanguages [3/3]

return TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::$allSystemLanguages

Definition at line 87 of file TranslationConfigurationProvider.php.

◆ $siteFinder

TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::$siteFinder = GeneralUtility::makeInstance(SiteFinder::class)

Definition at line 55 of file TranslationConfigurationProvider.php.

◆ $systemLanguageCache

array TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::$systemLanguageCache = []
protected

Definition at line 40 of file TranslationConfigurationProvider.php.

◆ else

if ( $pageId===0) TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::else
Initial value:
{
try {
$site = ‪$siteFinder->getSiteByPageId((int)$pageId);
} catch (SiteNotFoundException $e) {
$site = new NullSite();
}
$siteLanguages = $site->getAvailableLanguages($this->‪getBackendUserAuthentication(), true)

Definition at line 68 of file TranslationConfigurationProvider.php.

◆ systemLanguageCache [1/2]

array<LanguageRef, function getSystemLanguages($pageId = 0) { if (isset($this->systemLanguageCache[$pageId])) { return $this-> TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::systemLanguageCache[ $pageId]

Returns array of languages given for a specific site (or "nullSite" if on page=0) The property flagIcon returns a string <flags-xx>.

Parameters
int$pageId‪Page id (used to get TSconfig configuration setting flag and label for default language)
Returns
‪array<LanguageRef, array{uid: int, title: string, ISOcode: string, flagIcon: string}> Array with languages

Definition at line 52 of file TranslationConfigurationProvider.php.

◆ systemLanguageCache [2/2]

$this TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider::systemLanguageCache[ $pageId] = $allSystemLanguages

Definition at line 86 of file TranslationConfigurationProvider.php.

‪TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider\$siteFinder
‪$siteFinder
Definition: TranslationConfigurationProvider.php:55
‪TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider\getBackendUserAuthentication
‪getBackendUserAuthentication()
Definition: TranslationConfigurationProvider.php:209
‪TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider\addSiteLanguagesToConsolidatedList
‪addSiteLanguagesToConsolidatedList(array $allSystemLanguages, array $languagesOfSpecificSite, SiteInterface $site, bool $includeSiteSuffix)
Definition: TranslationConfigurationProvider.php:90
‪TYPO3\CMS\Backend\Configuration\TranslationConfigurationProvider\$allSystemLanguages
‪$allSystemLanguages
Definition: TranslationConfigurationProvider.php:54