TYPO3 CMS  TYPO3_7-6
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

 injectDataMapper (\TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper $dataMapper)
 
 countAll ()
 
 findAll ()
 
 findByExtensionKeyOrderedByVersion ($extensionKey)
 
 findOneByCurrentVersionByExtensionKey ($extensionKey)
 
 findOneByExtensionKeyAndVersion ($extensionKey, $version)
 
 findByTitleOrAuthorNameOrExtensionKey ($searchString)
 
 findByVersionRangeAndExtensionKeyOrderedByVersion ($extensionKey, $lowestVersion=0, $highestVersion=0, $includeCurrentVersion=true)
 
 findAllCommunityDistributions ()
 
 findAllOfficialDistributions ()
 
 countByVersionRangeAndExtensionKey ($extensionKey, $lowestVersion=0, $highestVersion=0)
 
 findHighestAvailableVersion ($extensionKey)
 
 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)
 
 findAll ()
 
 countAll ()
 
 removeAll ()
 
 findByUid ($uid)
 
 findByIdentifier ($identifier)
 
 setDefaultOrderings (array $defaultOrderings)
 
 setDefaultQuerySettings (\TYPO3\CMS\Extbase\Persistence\Generic\QuerySettingsInterface $defaultQuerySettings)
 
 createQuery ()
 
 __call ($methodName, $arguments)
 

Public Attributes

const TABLE_NAME = 'tx_extensionmanager_domain_model_extension'
 

Protected Member Functions

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

Protected Attributes

 $databaseConnection
 
 $dataMapper
 
- Protected Attributes inherited from TYPO3\CMS\Extbase\Persistence\Repository
 $persistenceManager
 
 $objectManager
 
 $objectType
 
 $defaultOrderings = []
 
 $defaultQuerySettings = null
 

Detailed Description

A repository for extensions

Definition at line 20 of file ExtensionRepository.php.

Member Function Documentation

◆ addDefaultConstraints()

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$querythe query to adjust
Returns

Definition at line 374 of file ExtensionRepository.php.

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

◆ countAll()

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

◆ countByVersionRangeAndExtensionKey()

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 272 of file ExtensionRepository.php.

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

◆ fetchMaximalVersionsForAllExtensions()

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 335 of file ExtensionRepository.php.

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

◆ findAll()

TYPO3\CMS\Lang\Domain\Repository\ExtensionRepository::findAll ( )

Finds all extensions

Returns
array|

Returns all objects of this repository

Returns
array The extensions

Implements TYPO3\CMS\Extbase\Persistence\RepositoryInterface.

Definition at line 76 of file ExtensionRepository.php.

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

◆ findAllCommunityDistributions()

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

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

Returns

Definition at line 225 of file ExtensionRepository.php.

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

◆ findAllOfficialDistributions()

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

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

Returns

Definition at line 247 of file ExtensionRepository.php.

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

◆ findByExtensionKeyOrderedByVersion()

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

Find an extension by extension key ordered by version

Parameters
string$extensionKey
Returns

Definition at line 94 of file ExtensionRepository.php.

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

◆ findByTitleOrAuthorNameOrExtensionKey()

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$searchStringThe string to search for extensions
Returns
mixed

Definition at line 150 of file ExtensionRepository.php.

◆ findByVersionRangeAndExtensionKeyOrderedByVersion()

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

Definition at line 186 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\Repository\ExtensionRepository::findHighestAvailableVersion (   $extensionKey)

Find highest version available of an extension

Parameters
string$extensionKey
Returns

Definition at line 283 of file ExtensionRepository.php.

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

◆ findOneByCurrentVersionByExtensionKey()

TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::findOneByCurrentVersionByExtensionKey (   $extensionKey)

Find the current version by extension key

Parameters
string$extensionKey
Returns
array|

Definition at line 108 of file ExtensionRepository.php.

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

◆ findOneByExtensionKeyAndVersion()

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|

Definition at line 129 of file ExtensionRepository.php.

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

◆ getNumberOfCurrentExtensions()

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

Returns the number of extensions that are current.

Returns
int

Definition at line 358 of file ExtensionRepository.php.

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

◆ injectDataMapper()

TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::injectDataMapper ( \TYPO3\CMS\Extbase\Persistence\Generic\Mapper\DataMapper  $dataMapper)

◆ insertLastVersion()

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" TYPO3_DB is used here directly.

Parameters
int$repositoryUid
Returns
void

Definition at line 314 of file ExtensionRepository.php.

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

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

Member Data Documentation

◆ $databaseConnection

TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::$databaseConnection
protected

Definition at line 30 of file ExtensionRepository.php.

◆ $dataMapper

TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::$dataMapper
protected

◆ TABLE_NAME

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

Definition at line 25 of file ExtensionRepository.php.