Bug #56307 ยป changes.diff

Some of the changes already done and tested in "one big block" - Steffen Ritter, 2014-02-26 13:52

View differences:

typo3/sysext/about/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\About;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the About package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var bool
39
	 */
40
	protected $partOfFactoryDefault = TRUE;
41
}
typo3/sysext/about/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"about": "*"
14
	},
15
	"extra": {
16
		"protected": false,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": false
14 19
	}
15 20
}
typo3/sysext/aboutmodules/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Aboutmodules;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the Aboutmodules package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var bool
39
	 */
40
	protected $partOfFactoryDefault = TRUE;
41
}
typo3/sysext/aboutmodules/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"aboutmodules": "*"
14
	},
15
	"extra": {
16
		"protected": false,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": false
14 19
	}
20

  
15 21
}
typo3/sysext/backend/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Backend;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Thomas Maroschik <tmaroschik@dfau.de>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the backend package
34
 *
35
 * @author Thomas Maroschik <tmaroschik@dfau.de>
36
 */
37
class Package extends BasePackage {
38

  
39
	/**
40
	 * @var boolean
41
	 */
42
	protected $protected = TRUE;
43

  
44
	/**
45
	 * @var bool
46
	 */
47
	protected $partOfFactoryDefault = TRUE;
48

  
49
	/**
50
	 * @var bool
51
	 */
52
	protected $partOfMinimalUsableSystem = TRUE;
53
}
typo3/sysext/backend/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"backend": "*"
14
	},
15
	"extra": {
16
		"protected": true,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": true
14 19
	}
20

  
15 21
}
typo3/sysext/belog/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Belog;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the Belog package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var bool
39
	 */
40
	protected $partOfFactoryDefault = TRUE;
41
}
typo3/sysext/belog/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"belog": "*"
14
	},
15
	"extra": {
16
		"protected": false,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": false
14 19
	}
15 20
}
typo3/sysext/beuser/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Beuser;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the Beuser package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var bool
39
	 */
40
	protected $partOfFactoryDefault = TRUE;
41
}
typo3/sysext/beuser/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"beuser": "*"
14
	},
15
	"extra": {
16
		"protected": false,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": false
14 19
	}
15 20
}
typo3/sysext/cms/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Cms;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Thomas Maroschik <tmaroschik@dfau.de>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the cms package
34
 *
35
 * @author Thomas Maroschik <tmaroschik@dfau.de>
36
 */
37
class Package extends BasePackage {
38

  
39
	/**
40
	 * @var boolean
41
	 */
42
	protected $protected = TRUE;
43

  
44
	/**
45
	 * @var bool
46
	 */
47
	protected $partOfFactoryDefault = TRUE;
48

  
49
	/**
50
	 * @var bool
51
	 */
52
	protected $partOfMinimalUsableSystem = TRUE;
53
}
typo3/sysext/cms/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"cms": "*"
14
	},
15
	"extra": {
16
		"protected": true,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": true
14 19
	}
20

  
15 21
}
typo3/sysext/cms/tslib/index_ts.php
44 44
// Timetracking started
45 45
if ($_COOKIE[\TYPO3\CMS\Core\Authentication\BackendUserAuthentication::getCookieName()]) {
46 46
	$TT = new \TYPO3\CMS\Core\TimeTracker\TimeTracker();
47
	$TT->start();
47 48
} else {
48 49
	$TT = new \TYPO3\CMS\Core\TimeTracker\NullTimeTracker();
49 50
}
50 51

  
51
$TT->start();
52 52

  
53 53
\TYPO3\CMS\Core\Core\Bootstrap::getInstance()->initializeTypo3DbGlobal();
54 54
// Hook to preprocess the current request:
......
67 67
		ob_clean();
68 68
		require $classPath;
69 69
	}
70
	die;
70
	exit;
71 71
}
72 72

  
73

  
74
\TYPO3\CMS\Core\Core\Bootstrap::getInstance()->setCacheHashOptions();
73 75
/** @var $TSFE \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController */
74 76
$TSFE = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
75 77
	'TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController',
typo3/sysext/context_help/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\ContextHelp;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the ContextHelp package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var bool
39
	 */
40
	protected $partOfFactoryDefault = TRUE;
41
}
typo3/sysext/context_help/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"context_help": "*"
14
	},
15
	"extra": {
16
		"protected": false,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": false
14 19
	}
20

  
15 21
}
typo3/sysext/core/Classes/Configuration/ConfigurationManager.php
66 66
	protected $additionalFactoryConfigurationFile = 'typo3conf/AdditionalFactoryConfiguration.php';
67 67

  
68 68
	/**
69
	 * @var array
70
	 */
71
	protected static $defaultConfiguration = NULL;
72

  
73
	/**
74
	 * @var array
75
	 */
76
	protected static $localConfiguration = NULL;
77

  
78
	/**
69 79
	 * @var string Absolute path to typo3conf directory
70 80
	 */
71 81
	protected $pathTypo3Conf = PATH_typo3conf;
......
90 100
	 * @return array
91 101
	 */
92 102
	public function getDefaultConfiguration() {
93
		return require $this->getDefaultConfigurationFileLocation();
103
		if (static::$defaultConfiguration === NULL) {
104
			static::$defaultConfiguration = require_once $this->getDefaultConfigurationFileLocation();
105
		}
106
		return static::$defaultConfiguration;
94 107
	}
95 108

  
96 109
	/**
......
110 123
	 * @return array Content array of local configuration file
111 124
	 */
112 125
	public function getLocalConfiguration() {
113
		return require $this->getLocalConfigurationFileLocation();
126
		if (static::$localConfiguration === NULL) {
127
			static::$localConfiguration = require_once $this->getLocalConfigurationFileLocation();
128
		}
129
		return static::$localConfiguration;
114 130
	}
115 131

  
116 132
	/**
......
306 322
			);
307 323
		}
308 324
		$configuration = Utility\ArrayUtility::sortByKeyRecursive($configuration);
325
		static::$localConfiguration = $configuration;
309 326
		return Utility\GeneralUtility::writeFile(
310 327
			$localConfigurationFile,
311 328
			'<?php' . LF .
typo3/sysext/core/Classes/Core/Bootstrap.php
239 239
			->defineUserAgentConstant()
240 240
			->registerExtDirectComponents()
241 241
			->transferDeprecatedCurlSettings()
242
			->setCacheHashOptions()
243 242
			->setDefaultTimezone()
244 243
			->initializeL10nLocales()
245
			->convertPageNotFoundHandlingToBoolean()
246 244
			->registerGlobalDebugFunctions()
247 245
			// SwiftMailerAdapter is
248 246
			// @deprecated since 6.1, will be removed two versions later - will be removed together with \TYPO3\CMS\Core\Utility\MailUtility::mail()
......
316 314
		Utility\ExtensionManagementUtility::setPackageManager($packageManager);
317 315
		$packageManager->injectClassLoader($this->getEarlyInstance('TYPO3\\CMS\\Core\\Core\\ClassLoader'));
318 316
		$packageManager->injectCoreCache($this->getEarlyInstance('TYPO3\\CMS\\Core\\Cache\\CacheManager')->getCache('cache_core'));
319
		$packageManager->injectDependencyResolver(Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Package\\DependencyResolver'));
320 317
		$packageManager->initialize($this, PATH_site);
321 318
		Utility\GeneralUtility::setSingletonInstance('TYPO3\\CMS\\Core\\Package\\PackageManager', $packageManager);
322 319
		$GLOBALS['TYPO3_LOADED_EXT'] = new \TYPO3\CMS\Core\Compatibility\LoadedExtensionsArray($packageManager);
......
348 345
	 * @internal This is not a public API method, do not use in own extensions
349 346
	 */
350 347
	public function loadTypo3LoadedExtAndExtLocalconf($allowCaching = TRUE) {
351
		$this->getInstance()
352
			->loadAdditionalConfigurationFromExtensions($allowCaching);
348
		$this->loadAdditionalConfigurationFromExtensions($allowCaching);
353 349
		return $this;
354 350
	}
355 351

  
......
512 508
	 *
513 509
	 * @return Bootstrap
514 510
	 */
515
	protected function setCacheHashOptions() {
511
	public function setCacheHashOptions() {
516 512
		$GLOBALS['TYPO3_CONF_VARS']['FE']['cacheHash'] = array(
517 513
			'cachedParametersWhiteList' => Utility\GeneralUtility::trimExplode(',', $GLOBALS['TYPO3_CONF_VARS']['FE']['cHashOnlyForParameters'], TRUE),
518 514
			'excludedParameters' => Utility\GeneralUtility::trimExplode(',', $GLOBALS['TYPO3_CONF_VARS']['FE']['cHashExcludedParameters'], TRUE),
......
558 554
	}
559 555

  
560 556
	/**
561
	 * Convert type of "pageNotFound_handling" setting in case it was written as a
562
	 * string (e.g. if edited in Install Tool)
563
	 *
564
	 * @TODO : Remove, if the Install Tool handles such data types correctly
565
	 * @return Bootstrap
566
	 */
567
	protected function convertPageNotFoundHandlingToBoolean() {
568
		if (!strcasecmp($GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'], 'TRUE')) {
569
			$GLOBALS['TYPO3_CONF_VARS']['FE']['pageNotFound_handling'] = TRUE;
570
		}
571
		return $this;
572
	}
573

  
574
	/**
575 557
	 * Register xdebug(), debug(), debugBegin() and debugEnd() as global functions
576 558
	 *
577 559
	 * Note: Yes, this is possible in php! xdebug() is then a global function, even
typo3/sysext/core/Classes/Core/ClassLoader.php
123 123
	 */
124 124
	public function injectClassesCache(Cache\Frontend\StringFrontend $classesCache) {
125 125
		/** @var $earlyClassLoaderBackend Cache\Backend\TransientMemoryBackend */
126
		$earlyClassesCache = $this->classesCache;
126
		$earlyClassLoaderBackend = $this->classesCache->getBackend();
127 127
		$this->classesCache = $classesCache;
128 128
		$this->isEarlyCache = FALSE;
129 129
		$this->classAliasMap->injectClassesCache($classesCache);
130
		foreach ($earlyClassesCache->getByTag('early') as $originalClassLoadingInformation) {
131
			$classLoadingInformation = explode("\xff", $originalClassLoadingInformation);
132
			$cacheEntryIdentifier = strtolower(str_replace('\\', '_', $classLoadingInformation[1]));
130
		foreach ($earlyClassLoaderBackend->findIdentifiersByTag('early') as $cacheEntryIdentifier) {
133 131
			if (!$this->classesCache->has($cacheEntryIdentifier)) {
134
				$this->classesCache->set($cacheEntryIdentifier, $originalClassLoadingInformation);
132
				$this->classesCache->set($cacheEntryIdentifier, $earlyClassLoaderBackend->get($cacheEntryIdentifier));
135 133
			}
136 134
		}
137 135
	}
......
144 142
	 * @return boolean
145 143
	 */
146 144
	public function loadClass($className) {
145
		if (strpos($className, ' ') !== FALSE) {
146
			return FALSE;
147
		}
147 148
		if ($className[0] === '\\') {
148 149
			$className = substr($className, 1);
149 150
		}
150 151

  
151
		if (!$this->isValidClassName($className)) {
152
			return FALSE;
153
		}
154 152

  
155 153
		$cacheEntryIdentifier = strtolower(str_replace('\\', '_', $className));
156 154
		$classLoadingInformation = NULL;
157 155
		try {
158 156
			$rawClassLoadingInformation = $this->classesCache->get($cacheEntryIdentifier);
159
			if ($rawClassLoadingInformation !== FALSE) {
160
				if ($rawClassLoadingInformation !== '') {
161
					$classLoadingInformation = explode("\xff", $rawClassLoadingInformation);
162
				}
157
			if ($rawClassLoadingInformation !== FALSE && $rawClassLoadingInformation !== '') {
158
				$classLoadingInformation = explode("\xff", $rawClassLoadingInformation);
163 159
			} else {
164 160
				$classLoadingInformation = $this->buildClassLoadingInformation($className);
165 161
				if ($classLoadingInformation !== NULL) {
......
184 180
			// but PHP fails to recognize the real path of the class. See #55904
185 181
			$loadingSuccessful = class_exists($classLoadingInformation[1], FALSE) || (bool)require_once $classLoadingInformation[0];
186 182
		}
187
		if ($loadingSuccessful && count($classLoadingInformation) > 2) {
188
			$originalClassName = $classLoadingInformation[1];
189
			foreach (array_slice($classLoadingInformation, 2) as $aliasClassName) {
190
				$this->setAliasForClassName($aliasClassName, $originalClassName);
183
		$elementCount = count($classLoadingInformation);
184
		if ($loadingSuccessful && $elementCount > 2) {
185
			for ($i = 2; $i < $elementCount; ++$i) {
186
				$this->setAliasForClassName($classLoadingInformation[$i], $classLoadingInformation[1]);
191 187
			}
192 188
		}
193 189

  
......
216 212
		return $classLoadingInformation;
217 213
	}
218 214

  
219
	/**
220
	 * Find out if a class name is valid
221
	 *
222
	 * @param string $className
223
	 * @return boolean
224
	 */
225
	protected function isValidClassName($className) {
226
		return strpos($className, ' ') === FALSE;
227
	}
228 215

  
229 216
	/**
230 217
	 * Retrieve class loading information for class from core package
......
236 223
		if (substr($className, 0, 14) === 'TYPO3\\CMS\\Core') {
237 224
			$classesFolder = substr($className, 15, 5) === 'Tests' ? '' : 'Classes/';
238 225
			$classFilePath = PATH_typo3 . 'sysext/core/' . $classesFolder . str_replace('\\', '/', substr($className, 15)) . '.php';
239
			if (@file_exists($classFilePath)) {
240
				return array($classFilePath, $className);
241
			}
226
			return array($classFilePath, $className);
242 227
		}
243 228
		return NULL;
244 229
	}
......
255 240
			return NULL;
256 241
		}
257 242
		$classInformation = $this->runtimeClassLoadingInformationCache[$lowercasedClassName];
258
		return @file_exists($classInformation[0]) ? $classInformation : NULL;
243
		return $classInformation;
259 244
	}
260 245

  
261 246
	/**
......
264 249
	 * @param string $className
265 250
	 * @return array|null
266 251
	 */
267
	protected function buildClassLoadingInformationForClassFromRegisteredPackages($className) {;
252
	protected function buildClassLoadingInformationForClassFromRegisteredPackages($className) {
253
		$nameSpacedLegacyClass = str_replace('_', '\\', $className);
268 254
		foreach ($this->packageNamespaces as $packageNamespace => $packageData) {
269
			if (substr(str_replace('_', '\\', $className), 0, $packageData['namespaceLength']) === $packageNamespace) {
255
			if (substr($nameSpacedLegacyClass, 0, $packageData['namespaceLength']) === $packageNamespace) {
270 256
				if ($packageData['substituteNamespaceInPath']) {
271 257
					// If it's a TYPO3 package, classes don't comply to PSR-0.
272 258
					// The namespace part is substituted.
typo3/sysext/core/Classes/Core/SystemEnvironmentBuilder.php
194 194
		require_once __DIR__ . '/../Utility/PathUtility.php';
195 195
		require_once __DIR__ . '/../SingletonInterface.php';
196 196
		require_once __DIR__ . '/../Configuration/ConfigurationManager.php';
197
		require_once __DIR__ . '/../Cache/Cache.php';
198
		require_once __DIR__ . '/../Cache/CacheFactory.php';
199
		require_once __DIR__ . '/../Cache/CacheManager.php';
197 200
		require_once __DIR__ . '/../Cache/Frontend/FrontendInterface.php';
198 201
		require_once __DIR__ . '/../Cache/Frontend/AbstractFrontend.php';
199 202
		require_once __DIR__ . '/../Cache/Frontend/StringFrontend.php';
......
204 207
		require_once __DIR__ . '/../Cache/Backend/TaggableBackendInterface.php';
205 208
		require_once __DIR__ . '/../Cache/Backend/AbstractBackend.php';
206 209
		require_once __DIR__ . '/../Cache/Backend/TransientMemoryBackend.php';
210
		require_once __DIR__ . '/../Cache/Backend/SimpleFileBackend.php';
207 211
		require_once __DIR__ . '/ClassLoader.php';
208 212
		require_once __DIR__ . '/ClassAliasMap.php';
209 213
	}
typo3/sysext/core/Classes/Localization/Locales.php
148 148
	);
149 149

  
150 150
	/**
151
	 * Array_flipped version of $isoReverseMapping;
152
	 *
151 153
	 * @var array
152 154
	 */
153
	protected $isoMapping;
155
	protected $isoMapping = array (
156
		'ba' => 'bs',
157
		'cz' => 'cs',
158
		'dk' => 'da',
159
		'gr' => 'el',
160
		'qc' => 'fr_CA',
161
		'ga' => 'gl',
162
		'jp' => 'ja',
163
		'ge' => 'ka',
164
		'gl' => 'kl',
165
		'kr' => 'ko',
166
		'my' => 'ms',
167
		'br' => 'pt_BR',
168
		'si' => 'sl',
169
		'se' => 'sv',
170
		'ua' => 'uk',
171
		'vn' => 'vi',
172
		'hk' => 'zh_HK',
173
		'ch' => 'zh_CN'
174
	);
154 175

  
155 176
	/**
156 177
	 * Dependencies for locales
157 178
	 *
158 179
	 * @var array
159 180
	 */
160
	protected $localeDependencies;
181
	protected $localeDependencies = array(
182
		'fr_CA' => 'fr',
183
		'pt_BR' => 'pt'
184
	);
161 185

  
162 186
	/**
163 187
	 * Initializes the languages.
......
167 191
	static public function initialize() {
168 192
		/** @var $instance \TYPO3\CMS\Core\Localization\Locales */
169 193
		$instance = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Localization\\Locales');
170
		$instance->isoMapping = array_flip($instance->isoReverseMapping);
171 194
		// Allow user-defined locales
172 195
		if (isset($GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['user']) && is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['user'])) {
173 196
			foreach ($GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['user'] as $locale => $name) {
174 197
				if (!isset($instance->languages[$locale])) {
175 198
					$instance->languages[$locale] = $name;
199
					if (strlen($locale) == 5) {
200
						$instance->localeDependencies[$locale] = array(substr($locale, 0, 2));
201
					}
176 202
				}
177 203
			}
178 204
		}
179
		// Initializes the locale dependencies with TYPO3 supported locales
180
		$instance->localeDependencies = array();
181
		foreach ($instance->languages as $locale => $name) {
182
			if (strlen($locale) == 5) {
183
				$instance->localeDependencies[$locale] = array(substr($locale, 0, 2));
184
			}
185
		}
186 205
		// Merge user-provided locale dependencies
187 206
		if (isset($GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['dependencies']) && is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['dependencies'])) {
188 207
			\TYPO3\CMS\Core\Utility\ArrayUtility::mergeRecursiveWithOverrule($instance->localeDependencies, $GLOBALS['TYPO3_CONF_VARS']['SYS']['localization']['locales']['dependencies']);
typo3/sysext/core/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Core;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Thomas Maroschik <tmaroschik@dfau.de>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the core package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var boolean
39
	 */
40
	protected $protected = TRUE;
41

  
42
	/**
43
	 * @var bool
44
	 */
45
	protected $partOfFactoryDefault = TRUE;
46

  
47
	/**
48
	 * @var bool
49
	 */
50
	protected $partOfMinimalUsableSystem = TRUE;
51
}
typo3/sysext/core/Classes/Package/Package.php
115 115
	}
116 116

  
117 117
	/**
118
	 * @param boolean $partOfFactoryDefault
119
	 * @internal
120
	 */
121
	public function setPartOfFactoryDefault($partOfFactoryDefault) {
122
		$this->partOfFactoryDefault = (boolean)$partOfFactoryDefault;
123
	}
124

  
125
	/**
126
	 * @param boolean $partOfMinimalUsableSystem
127
	 * @internal
128
	 */
129
	public function setPartOfMinimalUsableSystem($partOfMinimalUsableSystem) {
130
		$this->partOfMinimalUsableSystem = (boolean)$partOfMinimalUsableSystem;
131
	}
132

  
133
	/**
118 134
	 * @return bool
119 135
	 */
120 136
	protected function getExtensionEmconf() {
......
170 186
	 */
171 187
	public function getPackageReplacementKeys() {
172 188
		// The cast to array is required since the manifest returns data with type mixed
173
		return (array)$this->getComposerManifest('replace') ?: array();
189
		$replacement = (array)$this->getComposerManifest('replace');
190
		if ($replacement !== array()) {
191
			unset($replacement[$this->getPackageKey()]);
192
			return $replacement;
193
		} else {
194
			return array();
195
		}
174 196
	}
175 197

  
176 198
	/**
typo3/sysext/core/Classes/Package/PackageManager.php
68 68
	protected $runtimeActivatedPackages = array();
69 69

  
70 70
	/**
71
	 * @var array
72
	 */
73
	protected $protectedPackageKeys = array();
74

  
75
	/**
71 76
	 * Constructor
72 77
	 */
73 78
	public function __construct() {
......
285 290
					break;
286 291
				}
287 292
			}
293

  
288 294
			try {
289 295
				$composerManifest = self::getComposerManifest($composerManifestPath);
290
				$packageKey = \TYPO3\CMS\Core\Package\PackageFactory::getPackageKeyFromManifest($composerManifest, $packagePath, $packagesBasePath);
296
				$packageKey = PackageFactory::getPackageKeyFromManifest($composerManifest, $packagePath, $packagesBasePath);
291 297
				$this->composerNameToPackageKeyMap[strtolower($composerManifest->name)] = $packageKey;
298

  
292 299
				$this->packageStatesConfiguration['packages'][$packageKey]['manifestPath'] = substr($composerManifestPath, strlen($packagePath)) ? : '';
293 300
				$this->packageStatesConfiguration['packages'][$packageKey]['composerName'] = $composerManifest->name;
301
				$this->packageStatesConfiguration['packages'][$packageKey]['protected'] = FALSE;
302
				$this->packageStatesConfiguration['packages'][$packageKey]['partOfFactoryDefault'] = FALSE;
303
				$this->packageStatesConfiguration['packages'][$packageKey]['partOfMinimalUsableSystem'] = FALSE;
304
				if (isset($composerManifest->extra)) {
305
					if (isset($composerManifest->extra->protected)) {
306
						$this->packageStatesConfiguration['packages'][$packageKey]['protected'] = (boolean)$composerManifest->extra->protected;
307
					}
308
					if (isset($composerManifest->extra->partOfFactoryDefault)) {
309
						$this->packageStatesConfiguration['packages'][$packageKey]['partOfFactoryDefault'] = (boolean)$composerManifest->extra->partOfFactoryDefault;
310
					}
311
					if (isset($composerManifest->extra->partOfMinimalUsableSystem)) {
312
						$this->packageStatesConfiguration['packages'][$packageKey]['partOfMinimalUsableSystem'] = (boolean)$composerManifest->extra->partOfMinimalUsableSystem;
313
					}
314
				}
315

  
294 316
			} catch (\TYPO3\Flow\Package\Exception\MissingPackageManifestException $exception) {
295 317
				$relativePackagePath = substr($packagePath, strlen($packagesBasePath));
296 318
				$packageKey = substr($relativePackagePath, strpos($relativePackagePath, '/') + 1, -1);
......
342 364
	}
343 365

  
344 366
	/**
345
	 * Looks for composer.json in the given path and returns a path or NULL.
367
	 * Looks for composer.json in the given path and returns a path or NULL
368
	 * Needs to return array() if ext_emconf.php is present so package is not interpreted as "regular" package by
369
	 * Flow-Package-Management parts
346 370
	 *
347 371
	 * @param string $packagePath
348 372
	 * @return array
......
375 399

  
376 400
			try {
377 401
				$package = $this->packageFactory->create($this->packagesBasePath, $packagePath, $packageKey, $classesPath, $manifestPath);
402
				$package->setProtected($stateConfiguration['protected'] || $package->isProtected());
403
				if ($package instanceof Package) {
404
					$package->setPartOfFactoryDefault($stateConfiguration['partOfFactoryDefault']  || $package->isPartOfFactoryDefault());
405
					$package->setPartOfMinimalUsableSystem($stateConfiguration['partOfMinimalUsableSystem'] || $package->isPartOfMinimalUsableSystem());
406
				}
378 407
			} catch (\TYPO3\Flow\Package\Exception\InvalidPackagePathException $exception) {
379 408
				$this->unregisterPackageByPackageKey($packageKey);
380 409
				continue;
......
408 437
		$package = parent::registerPackage($package, $sortAndSave);
409 438
		if ($package instanceof PackageInterface) {
410 439
			foreach ($package->getPackageReplacementKeys() as $packageToReplace => $versionConstraint) {
411
				$this->packageAliasMap[strtolower($packageToReplace)] = $package->getPackageKey();
440
				if ($packageToReplace !== $package->getPackageKey()) {
441
					$this->packageAliasMap[strtolower($packageToReplace)] = $package->getPackageKey();
442
				}
412 443
			}
413 444
		}
414 445
		return $package;
......
610 641
	protected function sortAvailablePackagesByDependencies() {
611 642
		$this->resolvePackageDependencies();
612 643

  
613
		$this->packageStatesConfiguration['packages'] = $this->dependencyResolver->sortPackageStatesConfigurationByDependency($this->packageStatesConfiguration['packages']);
644
		$this->packageStatesConfiguration['packages'] = $this->getDependencyResolver()
645
			->sortPackageStatesConfigurationByDependency($this->packageStatesConfiguration['packages']);
614 646

  
615 647
		// Reorder the packages according to the loading order
616 648
		$newPackages = array();
......
620 652
		$this->packages = $newPackages;
621 653
	}
622 654

  
655
	/**
656
	 * @return DependencyResolver
657
	 */
658
	protected function getDependencyResolver() {
659
		if ($this->dependencyResolver === NULL) {
660
			$this->dependencyResolver = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Package\\DependencyResolver');
661
		}
662
		return $this->dependencyResolver;
663
	}
623 664
}
typo3/sysext/core/Configuration/DefaultConfiguration.php
744 744
	),
745 745
	'LOG' => array(
746 746
		'writerConfiguration' => array(
747
			\TYPO3\CMS\Core\Log\LogLevel::DEBUG => array(
747
			7 => array( // equals \TYPO3\CMS\Core\Log\LogLevel::DEBUG - for performance reasons this is put as plain value
748 748
				'TYPO3\\CMS\\Core\\Log\\Writer\\FileWriter' => array(
749 749
					'logFile' => 'typo3temp/logs/typo3.log'
750 750
				)
......
752 752
		),
753 753
		'deprecated' => array(
754 754
			'writerConfiguration' => array(
755
				\TYPO3\CMS\Core\Log\LogLevel::WARNING => array(
755
				4 => array( // equals \TYPO3\CMS\Core\Log\LogLevel::WARNING - for performance reasons this is put as plain value
756 756
					'TYPO3\\CMS\\Core\\Log\\Writer\\FileWriter' => array(
757 757
						'logFile' => 'typo3conf/deprecation.log'
758 758
					)
typo3/sysext/core/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"core": "*"
14
	},
15
	"extra": {
16
		"protected": true,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": true
14 19
	}
20

  
15 21
}
typo3/sysext/cshmanual/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Cshmanual;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Thomas Maroschik <tmaroschik@dfau.de>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the cshmanual package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var boolean
39
	 */
40
	protected $protected = TRUE;
41

  
42
	/**
43
	 * @var bool
44
	 */
45
	protected $partOfFactoryDefault = TRUE;
46

  
47
	/**
48
	 * @var bool
49
	 */
50
	protected $partOfMinimalUsableSystem = TRUE;
51
}
typo3/sysext/cshmanual/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"cshmanual": "*"
14
	},
15
	"extra": {
16
		"protected": true,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": true
14 19
	}
15 20
}
typo3/sysext/css_styled_content/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"css_styled_content": "*"
14
	},
15
	"extra": {
16
		"protected": false,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": false
14 19
	}
15 20
}
typo3/sysext/dbal/composer.json
12 12
	"replace": {
13 13
		"dbal": "*"
14 14
	}
15
	,
16
	"extra": {
17
		"protected": false,
18
		"partOfFactoryDefault": false,
19
		"partOfMinimalUsableSystem": false
20
	}
21

  
15 22
}
typo3/sysext/documentation/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Documentation;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the Documentation package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var bool
39
	 */
40
	protected $partOfFactoryDefault = TRUE;
41
}
typo3/sysext/documentation/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"documentation": "*"
14
	},
15
	"extra": {
16
		"protected": false,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": false
14 19
	}
15 20
}
typo3/sysext/extbase/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Extbase;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Thomas Maroschik <tmaroschik@dfau.de>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the extbase package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var boolean
39
	 */
40
	protected $protected = TRUE;
41

  
42
	/**
43
	 * @var bool
44
	 */
45
	protected $partOfFactoryDefault = TRUE;
46

  
47
	/**
48
	 * @var bool
49
	 */
50
	protected $partOfMinimalUsableSystem = TRUE;
51
}
typo3/sysext/extbase/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"extbase": "*"
14
	},
15
	"extra": {
16
		"protected": true,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": true
14 19
	}
15 20
}
typo3/sysext/extensionmanager/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Extensionmanager;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Thomas Maroschik <tmaroschik@dfau.de>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the extensionmanager package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var boolean
39
	 */
40
	protected $protected = TRUE;
41

  
42
	/**
43
	 * @var bool
44
	 */
45
	protected $partOfFactoryDefault = TRUE;
46

  
47
	/**
48
	 * @var bool
49
	 */
50
	protected $partOfMinimalUsableSystem = TRUE;
51
}
typo3/sysext/extensionmanager/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"extensionmanager": "*"
14
	},
15
	"extra": {
16
		"protected": true,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": true
14 19
	}
15 20
}
typo3/sysext/extra_page_cm_options/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\ExtraPageCmOptions;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the ExtraPageCmOptions package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var bool
39
	 */
40
	protected $partOfFactoryDefault = TRUE;
41
}
typo3/sysext/extra_page_cm_options/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"extra_page_cm_options": "*"
14
	},
15
	"extra": {
16
		"protected": false,
17
		"partOfFactoryDefault": true,
18
		"partOfMinimalUsableSystem": false
14 19
	}
15 20
}
typo3/sysext/feedit/composer.json
11 11
	},
12 12
	"replace": {
13 13
		"feedit": "*"
14
	},
15
	"extra": {
16
		"protected": false,
17
		"partOfFactoryDefault": false,
18
		"partOfMinimalUsableSystem": false
14 19
	}
15 20
}
typo3/sysext/felogin/Classes/Package.php
1
<?php
2
namespace TYPO3\CMS\Felogin;
3

  
4
/***************************************************************
5
 *  Copyright notice
6
 *
7
 *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
8
 *  All rights reserved
9
 *
10
 *  This script is part of the TYPO3 project. The TYPO3 project is
11
 *  free software; you can redistribute it and/or modify
12
 *  it under the terms of the GNU General Public License as published by
13
 *  the Free Software Foundation; either version 2 of the License, or
14
 *  (at your option) any later version.
15
 *
16
 *  The GNU General Public License can be found at
17
 *  http://www.gnu.org/copyleft/gpl.html.
18
 *  A copy is found in the text file GPL.txt and important notices to the license
19
 *  from the author is found in LICENSE.txt distributed with these scripts.
20
 *
21
 *
22
 *  This script is distributed in the hope that it will be useful,
23
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
24
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
25
 *  GNU General Public License for more details.
26
 *
27
 *  This copyright notice MUST APPEAR in all copies of the script!
28
 ***************************************************************/
29

  
30
use TYPO3\CMS\Core\Package\Package as BasePackage;
31

  
32
/**
33
 * This is the Felogin package
34
 */
35
class Package extends BasePackage {
36

  
37
	/**
38
	 * @var bool
39
	 */
40
	protected $partOfFactoryDefault = TRUE;
41
}
... This diff was truncated because it exceeds the maximum size that can be displayed.
    (1-1/1)