‪TYPO3CMS  9.5
TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository Class Reference
Inheritance diagram for TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository:
TYPO3\CMS\Extbase\Persistence\Repository TYPO3\CMS\Extbase\Persistence\RepositoryInterface TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 initializeObject ()
 
int countAll ()
 
array TYPO3 CMS Extbase Persistence QueryResultInterface findAll ()
 
TYPO3 CMS Extbase Persistence QueryResultInterface findByExtensionKeyOrderedByVersion ($extensionKey)
 
array TYPO3 CMS Extbase Persistence QueryResultInterface findOneByCurrentVersionByExtensionKey ($extensionKey)
 
array TYPO3 CMS Extbase Persistence QueryResultInterface findOneByExtensionKeyAndVersion ($extensionKey, $version)
 
mixed findByTitleOrAuthorNameOrExtensionKey ($searchString)
 
TYPO3 CMS Extbase Persistence QueryResultInterface findByVersionRangeAndExtensionKeyOrderedByVersion ($extensionKey, $lowestVersion=0, $highestVersion=0, $includeCurrentVersion=true)
 
TYPO3 CMS Extbase Persistence QueryResultInterface findAllCommunityDistributions ()
 
TYPO3 CMS Extbase Persistence QueryResultInterface findAllOfficialDistributions ()
 
int countByVersionRangeAndExtensionKey ($extensionKey, $lowestVersion=0, $highestVersion=0)
 
TYPO3 CMS Extensionmanager Domain Model Extension findHighestAvailableVersion ($extensionKey)
 
int insertLastVersion ($repositoryUid=1)
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Extbase\Persistence\Repository
 injectPersistenceManager (\TYPO3\CMS\Extbase\Persistence\PersistenceManagerInterface $persistenceManager)
 
 __construct (\TYPO3\CMS\Extbase\Object\ObjectManagerInterface $objectManager)
 
 add ($object)
 
 remove ($object)
 
 update ($modifiedObject)
 
 removeAll ()
 
object findByUid ($uid)
 
object findByIdentifier ($identifier)
 
 setDefaultOrderings (array $defaultOrderings)
 
 setDefaultQuerySettings (\TYPO3\CMS\Extbase\Persistence\Generic\QuerySettingsInterface $defaultQuerySettings)
 
TYPO3 CMS Extbase Persistence QueryInterface createQuery ()
 
mixed __call ($methodName, $arguments)
 

Public Attributes

const TABLE_NAME = 'tx_extensionmanager_domain_model_extension'
 

Protected Member Functions

 markExtensionWithMaximumVersionAsCurrent ($repositoryUid)
 
array fetchMaximalVersionsForAllExtensions ($repositoryUid)
 
int getNumberOfCurrentExtensions ()
 
TYPO3 CMS Extbase Persistence Generic Query addDefaultConstraints (\TYPO3\CMS\Extbase\Persistence\Generic\Query $query)
 
- ‪Protected Member Functions inherited from ‪TYPO3\CMS\Extbase\Persistence\Repository
string getRepositoryClassName ()
 

Additional Inherited Members

- ‪Protected Attributes inherited from ‪TYPO3\CMS\Extbase\Persistence\Repository
TYPO3 CMS Extbase Persistence PersistenceManagerInterface $persistenceManager
 
TYPO3 CMS Extbase Object ObjectManagerInterface $objectManager
 
string $objectType
 
array $defaultOrderings = array( )
 
TYPO3 CMS Extbase Persistence Generic QuerySettingsInterface $defaultQuerySettings
 

Detailed Description

A repository for extensions

This class is a specific domain repository implementation and is not part of the Public TYPO3 API.

Definition at line 26 of file ExtensionRepository.php.

Member Function Documentation

◆ addDefaultConstraints()

TYPO3 CMS Extbase Persistence Generic Query TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::addDefaultConstraints ( \TYPO3\CMS\Extbase\Persistence\Generic\Query  $query)
protected

Adds default constraints to the query - in this case it enables us to always just search for the latest version of an extension

Parameters
\TYPO3\CMS\Extbase\Persistence\Generic\Query$query‪the query to adjust
Returns
‪\TYPO3\CMS\Extbase\Persistence\Generic\Query

Definition at line 423 of file ExtensionRepository.php.

Referenced by TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository\countAll(), and TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository\findAll().

◆ countAll()

int TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::countAll ( )

◆ countByVersionRangeAndExtensionKey()

int TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::countByVersionRangeAndExtensionKey (   $extensionKey,
  $lowestVersion = 0,
  $highestVersion = 0 
)

Count extensions with a certain key between a given version range

Parameters
string$extensionKey
int$lowestVersion
int$highestVersion
Returns
‪int

Definition at line 285 of file ExtensionRepository.php.

References TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository\findByVersionRangeAndExtensionKeyOrderedByVersion().

◆ fetchMaximalVersionsForAllExtensions()

array TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::fetchMaximalVersionsForAllExtensions (   $repositoryUid)
protected

Fetches the UIDs of all maximal versions for all extensions. This is done by doing a LEFT JOIN to itself ("a" and "b") and comparing both integer_version fields.

Parameters
int$repositoryUid
Returns
‪array

Definition at line 359 of file ExtensionRepository.php.

Referenced by TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository\markExtensionWithMaximumVersionAsCurrent().

◆ findAll()

array TYPO3 CMS Extbase Persistence QueryResultInterface TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::findAll ( )

Finds all extensions

Returns
‪array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface

Reimplemented from TYPO3\CMS\Extbase\Persistence\Repository.

Definition at line 61 of file ExtensionRepository.php.

References TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository\addDefaultConstraints(), and TYPO3\CMS\Extbase\Persistence\Repository\createQuery().

◆ findAllCommunityDistributions()

TYPO3 CMS Extbase Persistence QueryResultInterface TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::findAllCommunityDistributions ( )

Finds all extensions with category "distribution" not published by the TYPO3 CMS Team

Returns
‪\TYPO3\CMS\Extbase\Persistence\QueryResultInterface

Definition at line 238 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery().

◆ findAllOfficialDistributions()

TYPO3 CMS Extbase Persistence QueryResultInterface TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::findAllOfficialDistributions ( )

Finds all extensions with category "distribution" that are published by the TYPO3 CMS Team

Returns
‪\TYPO3\CMS\Extbase\Persistence\QueryResultInterface

Definition at line 260 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery().

◆ findByExtensionKeyOrderedByVersion()

TYPO3 CMS Extbase Persistence QueryResultInterface TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::findByExtensionKeyOrderedByVersion (   $extensionKey)

Find an extension by extension key ordered by version

Parameters
string$extensionKey
Returns
‪\TYPO3\CMS\Extbase\Persistence\QueryResultInterface

Definition at line 79 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery().

◆ findByTitleOrAuthorNameOrExtensionKey()

mixed TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::findByTitleOrAuthorNameOrExtensionKey (   $searchString)

Find an extension by title, author name or extension key This is the function used by the TER search. It is using a scoring for the matches to sort the extension with an exact key match on top

Parameters
string$searchString‪The string to search for extensions
Returns
‪mixed

Definition at line 135 of file ExtensionRepository.php.

◆ findByVersionRangeAndExtensionKeyOrderedByVersion()

TYPO3 CMS Extbase Persistence QueryResultInterface TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::findByVersionRangeAndExtensionKeyOrderedByVersion (   $extensionKey,
  $lowestVersion = 0,
  $highestVersion = 0,
  $includeCurrentVersion = true 
)

Find an extension between a certain version range ordered by version number

Parameters
string$extensionKey
int$lowestVersion
int$highestVersion
bool$includeCurrentVersion
Returns
‪\TYPO3\CMS\Extbase\Persistence\QueryResultInterface

Definition at line 199 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery().

Referenced by TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository\countByVersionRangeAndExtensionKey().

◆ findHighestAvailableVersion()

TYPO3 CMS Extensionmanager Domain Model Extension TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::findHighestAvailableVersion (   $extensionKey)

Find highest version available of an extension

Parameters
string$extensionKey
Returns
‪\TYPO3\CMS\Extensionmanager\Domain\Model\Extension

Definition at line 296 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery().

◆ findOneByCurrentVersionByExtensionKey()

array TYPO3 CMS Extbase Persistence QueryResultInterface TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::findOneByCurrentVersionByExtensionKey (   $extensionKey)

Find the current version by extension key

Parameters
string$extensionKey
Returns
‪array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface

Definition at line 93 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery().

◆ findOneByExtensionKeyAndVersion()

array TYPO3 CMS Extbase Persistence QueryResultInterface TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::findOneByExtensionKeyAndVersion (   $extensionKey,
  $version 
)

Find one extension by extension key and version

Parameters
string$extensionKey
string$version‪(example: 4.3.10)
Returns
‪array|\TYPO3\CMS\Extbase\Persistence\QueryResultInterface

Definition at line 114 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery().

◆ getNumberOfCurrentExtensions()

int TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::getNumberOfCurrentExtensions ( )
protected

Returns the number of extensions that are current.

Returns
‪int

Definition at line 400 of file ExtensionRepository.php.

Referenced by TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository\insertLastVersion().

◆ initializeObject()

TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::initializeObject ( )

◆ insertLastVersion()

int TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::insertLastVersion (   $repositoryUid = 1)

◆ markExtensionWithMaximumVersionAsCurrent()

TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::markExtensionWithMaximumVersionAsCurrent (   $repositoryUid)
protected

Sets current_version = 1 for all extensions where the extension version is maximal.

For performance reasons, the "native" database connection is used here directly.

Parameters
int$repositoryUid

Definition at line 326 of file ExtensionRepository.php.

References TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository\fetchMaximalVersionsForAllExtensions(), and TYPO3\CMS\Core\Database\Platform\PlatformInformation\getMaxBindParameters().

Referenced by TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository\insertLastVersion().

Member Data Documentation

◆ TABLE_NAME

const TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::TABLE_NAME = 'tx_extensionmanager_domain_model_extension'

Definition at line 31 of file ExtensionRepository.php.