35 'ext_tables_static+adt.sql',
36 'ext_typoscript_constants.txt',
37 'ext_typoscript_setup.txt' 51 $this->
package = $package;
63 $pathSite = PATH_site;
64 $pathSiteLength = strlen($pathSite);
65 $absolutePackagePath = $this->package->getPackagePath();
66 if (substr($absolutePackagePath, 0, $pathSiteLength) === $pathSite) {
67 $relativePackagePathToPathSite = substr($absolutePackagePath, $pathSiteLength);
68 $relativePackagePathToPathSiteSegments = explode(
'/', $relativePackagePathToPathSite);
69 $relativePackagePathToPathTypo3 = NULL;
72 switch (implode(
'/', array_slice($relativePackagePathToPathSiteSegments, 0, 2))) {
73 case 'typo3conf/Packages':
75 $relativePackagePathToPathTypo3 =
'../typo3conf/Packages/' . implode(
'/', array_slice($relativePackagePathToPathSiteSegments, 2));
79 $relativePackagePathToPathTypo3 =
'../typo3conf/ext/' . implode(
'/', array_slice($relativePackagePathToPathSiteSegments, 2));
81 case TYPO3_mainDir .
'ext':
83 $relativePackagePathToPathTypo3 =
'ext/' . implode(
'/', array_slice($relativePackagePathToPathSiteSegments, 2));
85 case TYPO3_mainDir .
'sysext':
87 $relativePackagePathToPathTypo3 =
'sysext/' . implode(
'/', array_slice($relativePackagePathToPathSiteSegments, 2));
89 case 'typo3temp/test_ext':
91 $relativePackagePathToPathTypo3 =
'../typo3temp/test_ext/' . implode(
'/', array_slice($relativePackagePathToPathSiteSegments, 2));
94 if ($packageType !== NULL && $relativePackagePathToPathSite !== NULL && $relativePackagePathToPathTypo3 !== NULL) {
95 $this->extensionInformation[
'type'] = $packageType;
96 $this->extensionInformation[
'siteRelPath'] = $relativePackagePathToPathSite;
97 $this->extensionInformation[
'typo3RelPath'] = $relativePackagePathToPathTypo3;
117 foreach ($this->extensionFilesToCheckFor as $fileName) {
118 $absolutePathToFile = $this->package->getPackagePath() . $fileName;
119 if (@file_exists($absolutePathToFile)) {
120 $this->extensionInformation[$fileName] = $absolutePathToFile;
132 return new \ArrayIterator($this->extensionInformation);
143 return isset($this->extensionInformation[$offset]);
154 return $this->extensionInformation[$offset];
167 throw new \InvalidArgumentException(
'The array $GLOBALS[\'TYPO3_LOADED_EXT\'] may not be modified.', 1361915115);
179 throw new \InvalidArgumentException(
'The array $GLOBALS[\'TYPO3_LOADED_EXT\'] may not be modified.', 1361915206);
189 return serialize($this->extensionInformation);
200 $this->extensionInformation =
unserialize($serialized);
210 return count($this->extensionInformation);
217 return iterator_to_array($this);
$extensionFilesToCheckFor
static getExtensionIcon($extensionPath, $returnFullPath=FALSE)
initializeExtensionFiles()
initializeBasicExtensionInformation()
offsetSet($offset, $value)
__construct(\TYPO3\Flow\Package\PackageInterface $package)
initializeExtensionIcon()