‪TYPO3CMS  10.4
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 QueryResultInterface findAll ()
 
QueryResultInterface findByExtensionKeyOrderedByVersion ($extensionKey)
 
array QueryResultInterface findOneByCurrentVersionByExtensionKey ($extensionKey)
 
array QueryResultInterface findOneByExtensionKeyAndVersion ($extensionKey, $version)
 
mixed findByTitleOrAuthorNameOrExtensionKey ($searchString)
 
QueryResultInterface findByVersionRangeAndExtensionKeyOrderedByVersion ($extensionKey, $lowestVersion=0, $highestVersion=0, $includeCurrentVersion=true)
 
QueryResultInterface findAllCommunityDistributions ()
 
QueryResultInterface findAllOfficialDistributions ()
 
int countByVersionRangeAndExtensionKey ($extensionKey, $lowestVersion=0, $highestVersion=0)
 
Extension findHighestAvailableVersion ($extensionKey)
 
int insertLastVersion ($repositoryUid=1)
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Extbase\Persistence\Repository
 injectPersistenceManager (PersistenceManagerInterface $persistenceManager)
 
 __construct (ObjectManagerInterface $objectManager)
 
 add ($object)
 
 remove ($object)
 
 update ($modifiedObject)
 
 removeAll ()
 
object null findByUid ($uid)
 
object null findByIdentifier ($identifier)
 
 setDefaultOrderings (array $defaultOrderings)
 
 setDefaultQuerySettings (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 ()
 
QueryInterface addDefaultConstraints (QueryInterface $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 34 of file ExtensionRepository.php.

Member Function Documentation

◆ addDefaultConstraints()

QueryInterface TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository::addDefaultConstraints ( QueryInterface  $query)
protected

◆ 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 297 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 371 of file ExtensionRepository.php.

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

◆ findAll()

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

◆ findAllCommunityDistributions()

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

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

Returns
‪QueryResultInterface

Definition at line 250 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery(), TYPO3\CMS\Extensionmanager\Domain\Model\Extension\DISTRIBUTION_CATEGORY, and TYPO3\CMS\Extbase\Persistence\QueryInterface\ORDER_DESCENDING.

◆ findAllOfficialDistributions()

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

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

Returns
‪QueryResultInterface

Definition at line 272 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery(), TYPO3\CMS\Extensionmanager\Domain\Model\Extension\DISTRIBUTION_CATEGORY, and TYPO3\CMS\Extbase\Persistence\QueryInterface\ORDER_DESCENDING.

◆ findByExtensionKeyOrderedByVersion()

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

Find an extension by extension key ordered by version

Parameters
string$extensionKey
Returns
‪QueryResultInterface

Definition at line 86 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery(), and TYPO3\CMS\Extbase\Persistence\QueryInterface\ORDER_DESCENDING.

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

◆ findByVersionRangeAndExtensionKeyOrderedByVersion()

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
‪QueryResultInterface

Definition at line 211 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery(), and TYPO3\CMS\Extbase\Persistence\QueryInterface\ORDER_DESCENDING.

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

◆ findHighestAvailableVersion()

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

Find highest version available of an extension

Parameters
string$extensionKey
Returns
‪Extension

Definition at line 308 of file ExtensionRepository.php.

References TYPO3\CMS\Extbase\Persistence\Repository\createQuery(), and TYPO3\CMS\Extbase\Persistence\QueryInterface\ORDER_DESCENDING.

◆ findOneByCurrentVersionByExtensionKey()

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

Find the current version by extension key

Parameters
string$extensionKey
Returns
‪array|QueryResultInterface

Definition at line 105 of file ExtensionRepository.php.

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

◆ findOneByExtensionKeyAndVersion()

array 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|QueryResultInterface

Definition at line 126 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 412 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 338 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 39 of file ExtensionRepository.php.