[TASK] Integrate external projects Fluid and Extbase as Git submodules
authorOliver Hader <oliver@typo3.org>
Tue, 14 Jun 2011 18:04:30 +0000 (20:04 +0200)
committerOliver Hader <oliver@typo3.org>
Tue, 14 Jun 2011 18:19:30 +0000 (20:19 +0200)
Change-Id: I43fd669a02faeaf75cc1dabd61516a4527c896d1
Resolves: #27446
Reviewed-on: http://review.typo3.org/2740
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
531 files changed:
.gitmodules
typo3/sysext/extbase [new submodule]
typo3/sysext/extbase/ChangeLog.txt [deleted file]
typo3/sysext/extbase/Classes/Configuration/AbstractConfigurationManager.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/BackendConfigurationManager.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/ConfigurationManager.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/ConfigurationManagerInterface.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/Exception.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/Exception/ContainerIsLocked.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/Exception/InvalidConfigurationType.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/Exception/NoSuchFile.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/Exception/NoSuchOption.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/Exception/ParseError.php [deleted file]
typo3/sysext/extbase/Classes/Configuration/FrontendConfigurationManager.php [deleted file]
typo3/sysext/extbase/Classes/Core/Bootstrap.php [deleted file]
typo3/sysext/extbase/Classes/Dispatcher.php [deleted file]
typo3/sysext/extbase/Classes/Domain/Model/FrontendUser.php [deleted file]
typo3/sysext/extbase/Classes/Domain/Model/FrontendUserGroup.php [deleted file]
typo3/sysext/extbase/Classes/Domain/Repository/FrontendUserGroupRepository.php [deleted file]
typo3/sysext/extbase/Classes/Domain/Repository/FrontendUserRepository.php [deleted file]
typo3/sysext/extbase/Classes/DomainObject/AbstractDomainObject.php [deleted file]
typo3/sysext/extbase/Classes/DomainObject/AbstractEntity.php [deleted file]
typo3/sysext/extbase/Classes/DomainObject/AbstractValueObject.php [deleted file]
typo3/sysext/extbase/Classes/DomainObject/DomainObjectInterface.php [deleted file]
typo3/sysext/extbase/Classes/Error/Error.php [deleted file]
typo3/sysext/extbase/Classes/Exception.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Controller/AbstractController.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Controller/ActionController.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Controller/Argument.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Controller/ArgumentError.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Controller/Arguments.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Controller/ArgumentsValidator.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Controller/ControllerContext.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Controller/ControllerInterface.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Controller/FlashMessages.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Dispatcher.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InfiniteLoop.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidActionName.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidArgumentName.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidArgumentType.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidArgumentValue.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidController.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidControllerName.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidExtensionName.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidMarker.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidOrNoRequestHash.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidRequestMethod.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidRequestType.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidTemplateResource.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidUriPattern.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/InvalidViewHelper.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/NoSuchAction.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/NoSuchArgument.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/NoSuchController.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/StopAction.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Exception/UnsupportedRequestType.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Request.php [deleted file]
typo3/sysext/extbase/Classes/MVC/RequestHandlerInterface.php [deleted file]
typo3/sysext/extbase/Classes/MVC/RequestHandlerResolver.php [deleted file]
typo3/sysext/extbase/Classes/MVC/RequestInterface.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Response.php [deleted file]
typo3/sysext/extbase/Classes/MVC/ResponseInterface.php [deleted file]
typo3/sysext/extbase/Classes/MVC/View/AbstractView.php [deleted file]
typo3/sysext/extbase/Classes/MVC/View/EmptyView.php [deleted file]
typo3/sysext/extbase/Classes/MVC/View/NotFoundView.php [deleted file]
typo3/sysext/extbase/Classes/MVC/View/ViewInterface.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Web/AbstractRequestHandler.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Web/BackendRequestHandler.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Web/FrontendRequestHandler.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Web/Request.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Web/RequestBuilder.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Web/Response.php [deleted file]
typo3/sysext/extbase/Classes/MVC/Web/Routing/UriBuilder.php [deleted file]
typo3/sysext/extbase/Classes/Object/Container/ClassInfo.php [deleted file]
typo3/sysext/extbase/Classes/Object/Container/ClassInfoCache.php [deleted file]
typo3/sysext/extbase/Classes/Object/Container/ClassInfoFactory.php [deleted file]
typo3/sysext/extbase/Classes/Object/Container/Container.php [deleted file]
typo3/sysext/extbase/Classes/Object/Container/Exception/CannotInitializeCacheException.php [deleted file]
typo3/sysext/extbase/Classes/Object/Container/Exception/TooManyRecursionLevelsException.php [deleted file]
typo3/sysext/extbase/Classes/Object/Container/Exception/UnknownObjectException.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception/CannotBuildObject.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception/CannotReconstituteObject.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception/InvalidClass.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception/InvalidObject.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception/InvalidObjectConfiguration.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception/ObjectAlreadyRegistered.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception/UnknownClass.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception/UnknownInterface.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception/UnresolvedDependencies.php [deleted file]
typo3/sysext/extbase/Classes/Object/Exception/WrongScope.php [deleted file]
typo3/sysext/extbase/Classes/Object/Manager.php [deleted file]
typo3/sysext/extbase/Classes/Object/ObjectManager.php [deleted file]
typo3/sysext/extbase/Classes/Object/ObjectManagerInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Backend.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/BackendInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/CleanStateNotMemorized.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/IllegalObjectType.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/InvalidClass.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/InvalidNumberOfConstraints.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/InvalidPropertyType.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/MissingBackend.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/RepositoryException.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/TooDirty.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/UnexpectedTypeException.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/UnknownObject.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/UnsupportedMethod.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/UnsupportedOrder.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Exception/UnsupportedRelation.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/IdentityMap.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/LazyLoadingProxy.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/LazyObjectStorage.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/LoadingStrategyInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Manager.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/ManagerInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Mapper/ColumnMap.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Mapper/DataMap.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Mapper/DataMapFactory.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Mapper/DataMapper.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/ObjectMonitoringInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/ObjectStorage.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/PropertyType.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/AndInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/BindVariableValue.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/BindVariableValueInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/Comparison.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/ComparisonInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/Constraint.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/ConstraintInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/DynamicOperand.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/DynamicOperandInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/EquiJoinCondition.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/EquiJoinConditionInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/Join.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/JoinConditionInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/JoinInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/LogicalAnd.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/LogicalNot.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/LogicalOr.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/LowerCase.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/LowerCaseInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/NotInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/Operand.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/OperandInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/OrInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/Ordering.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/OrderingInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/PropertyValue.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/PropertyValueInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/QueryObjectModelConstantsInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/QueryObjectModelFactory.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/QueryObjectModelFactoryInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/Selector.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/SelectorInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/SourceInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/Statement.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/StaticOperand.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/StaticOperandInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/UpperCase.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QOM/UpperCaseInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Query.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QueryFactory.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QueryFactoryInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QueryInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QueryResult.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QueryResultInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/QuerySettingsInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Repository.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/RepositoryInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Session.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Storage/BackendInterface.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Storage/Exception/BadConstraint.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Storage/Exception/SqlError.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Storage/Typo3DbBackend.php [deleted file]
typo3/sysext/extbase/Classes/Persistence/Typo3QuerySettings.php [deleted file]
typo3/sysext/extbase/Classes/Property/Exception.php [deleted file]
typo3/sysext/extbase/Classes/Property/Exception/FormatNotSupported.php [deleted file]
typo3/sysext/extbase/Classes/Property/Exception/InvalidDataType.php [deleted file]
typo3/sysext/extbase/Classes/Property/Exception/InvalidFormat.php [deleted file]
typo3/sysext/extbase/Classes/Property/Exception/InvalidProperty.php [deleted file]
typo3/sysext/extbase/Classes/Property/Exception/InvalidSource.php [deleted file]
typo3/sysext/extbase/Classes/Property/Exception/InvalidTarget.php [deleted file]
typo3/sysext/extbase/Classes/Property/Mapper.php [deleted file]
typo3/sysext/extbase/Classes/Property/MappingResults.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/ClassReflection.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/ClassSchema.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/DocCommentParser.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/Exception.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/Exception/InvalidPropertyType.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/Exception/PropertyNotAccessibleException.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/MethodReflection.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/ObjectAccess.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/ParameterReflection.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/PropertyReflection.php [deleted file]
typo3/sysext/extbase/Classes/Reflection/Service.php [deleted file]
typo3/sysext/extbase/Classes/Security/Channel/RequestHashService.php [deleted file]
typo3/sysext/extbase/Classes/Security/Cryptography/HashService.php [deleted file]
typo3/sysext/extbase/Classes/Security/Exception.php [deleted file]
typo3/sysext/extbase/Classes/Security/Exception/InvalidArgumentForHashGeneration.php [deleted file]
typo3/sysext/extbase/Classes/Security/Exception/InvalidArgumentForRequestHashGeneration.php [deleted file]
typo3/sysext/extbase/Classes/Security/Exception/SyntacticallyWrongRequestHash.php [deleted file]
typo3/sysext/extbase/Classes/Utility/Arrays.php [deleted file]
typo3/sysext/extbase/Classes/Utility/Cache.php [deleted file]
typo3/sysext/extbase/Classes/Utility/ClassLoader.php [deleted file]
typo3/sysext/extbase/Classes/Utility/ExtbaseRequirementsCheck.php [deleted file]
typo3/sysext/extbase/Classes/Utility/Extension.php [deleted file]
typo3/sysext/extbase/Classes/Utility/FrontendSimulator.php [deleted file]
typo3/sysext/extbase/Classes/Utility/Localization.php [deleted file]
typo3/sysext/extbase/Classes/Utility/TypeHandling.php [deleted file]
typo3/sysext/extbase/Classes/Utility/TypoScript.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Error.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Exception.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Exception/InvalidSubject.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Exception/InvalidValidationConfiguration.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Exception/InvalidValidationOptions.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Exception/NoSuchValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Exception/NoValidatorFound.php [deleted file]
typo3/sysext/extbase/Classes/Validation/PropertyError.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/AbstractCompositeValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/AbstractObjectValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/AbstractValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/AlphanumericValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/ConjunctionValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/DateTimeValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/DisjunctionValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/EmailAddressValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/FloatValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/GenericObjectValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/IntegerValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/NotEmptyValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/NumberRangeValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/NumberValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/ObjectValidatorInterface.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/RawValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/RegularExpressionValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/StringLengthValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/StringValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/TextValidator.php [deleted file]
typo3/sysext/extbase/Classes/Validation/Validator/ValidatorInterface.php [deleted file]
typo3/sysext/extbase/Classes/Validation/ValidatorResolver.php [deleted file]
typo3/sysext/extbase/Documentation/README.txt [deleted file]
typo3/sysext/extbase/Resources/Private/.htaccess [deleted file]
typo3/sysext/extbase/Resources/Private/Language/locallang_db.xml [deleted file]
typo3/sysext/extbase/Resources/Private/MVC/NotFoundView_Template.html [deleted file]
typo3/sysext/extbase/Tests/BaseTestCase.php [deleted file]
typo3/sysext/extbase/Tests/SeleniumBaseTestCase.php [deleted file]
typo3/sysext/extbase/Tests/Unit/BaseTestCase.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Configuration/AbstractConfigurationManagerTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Configuration/BackendConfigurationManagerTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Configuration/FrontendConfigurationManagerTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/DomainObject/AbstractEntityTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Fixtures/Entity.php [deleted file]
typo3/sysext/extbase/Tests/Unit/MVC/Controller/AbstractControllerTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/MVC/Controller/ActionControllerTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/MVC/Controller/ArgumentTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/MVC/Controller/ArgumentsTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/MVC/DispatcherTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/MVC/Web/RequestBuilderTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/MVC/Web/RequestTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/MVC/Web/Routing/UriBuilderTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Object/Container/ClassInfoFactoryTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Object/Container/ContainerTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Object/Container/Fixtures/Testclasses.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Persistence/Mapper/DataMapFactoryTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Persistence/ObjectStorageTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Persistence/QueryResultTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Persistence/QueryTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Persistence/RepositoryTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Persistence/SessionTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Persistence/Storage/Typo3DbBackendTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Reflection/Fixture/ArrayAccessClass.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Reflection/Fixture/DummyClassWithGettersAndSetters.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Reflection/ObjectAccessTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Reflection/ServiceTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Security/Channel/RequestHashServiceTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Security/Cryptography/HashServiceTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Utility/ExtensionTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Utility/LocalizationTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Utility/TypoScriptTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/AlphanumericValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/ConjunctionValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/DateTimeValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/EmailAddressValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/FloatValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/GenericObjectValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/IntegerValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/NotEmptyValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/NumberRangeValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/NumberValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/RawValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/RegularExpressionValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/StringLengthValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/Validator/TextValidatorTest.php [deleted file]
typo3/sysext/extbase/Tests/Unit/Validation/ValidatorResolverTest.php [deleted file]
typo3/sysext/extbase/ext_autoload.php [deleted file]
typo3/sysext/extbase/ext_emconf.php [deleted file]
typo3/sysext/extbase/ext_icon.gif [deleted file]
typo3/sysext/extbase/ext_localconf.php [deleted file]
typo3/sysext/extbase/ext_tables.php [deleted file]
typo3/sysext/extbase/ext_tables.sql [deleted file]
typo3/sysext/extbase/ext_typoscript_setup.txt [deleted file]
typo3/sysext/extbase/last_synched_target [deleted file]
typo3/sysext/fluid [new submodule]
typo3/sysext/fluid/ChangeLog.txt [deleted file]
typo3/sysext/fluid/Classes/Compatibility/DocbookGeneratorService.php [deleted file]
typo3/sysext/fluid/Classes/Compatibility/TemplateParserBuilder.php [deleted file]
typo3/sysext/fluid/Classes/Core/Exception.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/Configuration.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/Exception.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/Interceptor/Escape.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/InterceptorInterface.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/ParsedTemplateInterface.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/ParsingState.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/SyntaxTree/AbstractNode.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/SyntaxTree/ArrayNode.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/SyntaxTree/NodeInterface.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/SyntaxTree/ObjectAccessorNode.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/SyntaxTree/RenderingContextAwareInterface.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/SyntaxTree/RootNode.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/SyntaxTree/TextNode.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/SyntaxTree/ViewHelperNode.php [deleted file]
typo3/sysext/fluid/Classes/Core/Parser/TemplateParser.php [deleted file]
typo3/sysext/fluid/Classes/Core/Rendering/RenderingContext.php [deleted file]
typo3/sysext/fluid/Classes/Core/Rendering/RenderingContextInterface.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/AbstractConditionViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/AbstractTagBasedViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/AbstractViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/ArgumentDefinition.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/Arguments.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/Exception.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/Exception/InvalidVariableException.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/Exception/RenderingContextNotAccessibleException.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/Facets/ChildNodeAccessInterface.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/Facets/PostParseInterface.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/TagBasedViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/TagBuilder.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/TemplateVariableContainer.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/ViewHelperInterface.php [deleted file]
typo3/sysext/fluid/Classes/Core/ViewHelper/ViewHelperVariableContainer.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/AbstractWidgetController.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/AbstractWidgetViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/AjaxWidgetContextHolder.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/Bootstrap.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/Exception.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/Exception/MissingControllerException.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/Exception/RenderingContextNotFoundException.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/Exception/WidgetContextNotFoundException.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/Exception/WidgetRequestNotFoundException.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/WidgetContext.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/WidgetRequest.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/WidgetRequestBuilder.php [deleted file]
typo3/sysext/fluid/Classes/Core/Widget/WidgetRequestHandler.php [deleted file]
typo3/sysext/fluid/Classes/Exception.php [deleted file]
typo3/sysext/fluid/Classes/Fluid.php [deleted file]
typo3/sysext/fluid/Classes/Service/DocbookGenerator.php [deleted file]
typo3/sysext/fluid/Classes/View/AbstractTemplateView.php [deleted file]
typo3/sysext/fluid/Classes/View/Exception.php [deleted file]
typo3/sysext/fluid/Classes/View/Exception/InvalidSectionException.php [deleted file]
typo3/sysext/fluid/Classes/View/Exception/InvalidTemplateResourceException.php [deleted file]
typo3/sysext/fluid/Classes/View/StandaloneView.php [deleted file]
typo3/sysext/fluid/Classes/View/TemplateView.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/AliasViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/BaseViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/AbstractBackendViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/Buttons/CshViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/Buttons/IconViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/Buttons/ShortcutViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/ContainerViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/Menus/ActionMenuItemViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/Menus/ActionMenuViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/PageInfoViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/PagePathViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/Security/IfAuthenticatedViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/Security/IfHasRoleViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Be/TableListViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/CObjectViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/CountViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/CycleViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/DebugViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/ElseViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/EscapeViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/FlashMessagesViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/ForViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/AbstractFormFieldViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/AbstractFormViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/CheckboxViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/ErrorsViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/HiddenViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/PasswordViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/RadioViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/SelectViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/SubmitViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/TextareaViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/TextboxViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/TextfieldViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Form/UploadViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/FormViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Format/CropViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Format/CurrencyViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Format/DateViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Format/HtmlViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Format/Nl2brViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Format/NumberViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Format/PaddingViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Format/PrintfViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/GroupedForViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/IfViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/ImageViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/LayoutViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Link/ActionViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Link/EmailViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Link/ExternalViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Link/PageViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/RenderChildrenViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/RenderFlashMessagesViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/RenderViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/SectionViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Security/IfAuthenticatedViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Security/IfHasRoleViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/ThenViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/TranslateViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Uri/ActionViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Uri/EmailViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Uri/ExternalViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Uri/ImageViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Uri/PageViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Uri/ResourceViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Widget/AutocompleteViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Widget/Controller/AutocompleteController.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Widget/Controller/PaginateController.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Widget/LinkViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Widget/PaginateViewHelper.php [deleted file]
typo3/sysext/fluid/Classes/ViewHelpers/Widget/UriViewHelper.php [deleted file]
typo3/sysext/fluid/Configuration/TypoScript/setup.txt [deleted file]
typo3/sysext/fluid/Resources/Private/Templates/ViewHelpers/Widget/Autocomplete/Index.html [deleted file]
typo3/sysext/fluid/Resources/Private/Templates/ViewHelpers/Widget/Paginate/Index.html [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Fixtures/TestViewHelper.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/Fixtures/ChildNodeAccessFacetViewHelper.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/Fixtures/PostParseFacetViewHelper.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture01-shorthand-split.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture01-shorthand.html [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture06-split.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture06.html [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture14-split.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/Fixtures/TemplateParserTestFixture14.html [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/Interceptor/EscapeTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/ParsingStateTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/SyntaxTree/AbstractNodeTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/SyntaxTree/TextNodeTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/SyntaxTree/ViewHelperNodeComparatorTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/SyntaxTree/ViewHelperNodeTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/TemplateParserPatternTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Parser/TemplateParserTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Rendering/RenderingContextTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/AbstractTagBasedViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/AbstractViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/ArgumentDefinitionTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/ConditionViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/TagBuilderTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/TemplateVariableContainerTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/ViewHelperVariableContainerTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Widget/AbstractWidgetControllerTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Widget/AbstractWidgetViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Widget/AjaxWidgetContextHolderTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Widget/WidgetContextTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Widget/WidgetRequestBuilderTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Widget/WidgetRequestHandlerTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/Core/Widget/WidgetRequestTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/View/AbstractTemplateViewTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/View/Fixtures/LayoutFixture [deleted file]
typo3/sysext/fluid/Tests/Unit/View/Fixtures/LayoutFixture.html [deleted file]
typo3/sysext/fluid/Tests/Unit/View/Fixtures/LayoutFixture.xml [deleted file]
typo3/sysext/fluid/Tests/Unit/View/Fixtures/StandaloneViewFixture.html [deleted file]
typo3/sysext/fluid/Tests/Unit/View/Fixtures/TemplateViewFixture.php [deleted file]
typo3/sysext/fluid/Tests/Unit/View/Fixtures/TemplateViewSectionFixture.html [deleted file]
typo3/sysext/fluid/Tests/Unit/View/Fixtures/TransparentSyntaxTreeNode.php [deleted file]
typo3/sysext/fluid/Tests/Unit/View/Fixtures/UnparsedTemplateFixture.html [deleted file]
typo3/sysext/fluid/Tests/Unit/View/StandaloneViewTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/View/TemplateViewTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/AliasViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/BaseViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/IfAuthenticatedViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Be/IfHasRoleViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/CountViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/CycleViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/ElseViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Fixtures/ConstraintSyntaxTreeNode.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Fixtures/IfFixture.html [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Fixtures/IfThenElseFixture.html [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/ForViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/AbstractFormFieldViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/AbstractFormViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/CheckboxViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/ErrorsViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/Fixtures/EmptySyntaxTreeNode.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/Fixtures/Fixture_UserDomainClass.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/HiddenViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/RadioViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/SelectViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/SubmitViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/TextareaViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/TextboxViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Form/UploadViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/FormViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Format/CropViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Format/CurrencyViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Format/DateViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Format/Nl2brViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Format/NumberViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Format/PaddingViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Format/PrintfViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/GroupedForViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/IfViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/EmailViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/ExternalViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/RenderChildrenViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/RenderViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Security/IfAuthenticatedViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Security/IfHasRoleViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/ThenViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Uri/EmailViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/Uri/ExternalViewHelperTest.php [deleted file]
typo3/sysext/fluid/Tests/Unit/ViewHelpers/ViewHelperBaseTestcase.php [deleted file]
typo3/sysext/fluid/ext_autoload.php [deleted file]
typo3/sysext/fluid/ext_emconf.php [deleted file]
typo3/sysext/fluid/ext_icon.gif [deleted file]
typo3/sysext/fluid/ext_tables.php [deleted file]
typo3/sysext/fluid/ext_typoscript_setup.txt [deleted file]
typo3/sysext/fluid/last_synched_target [deleted file]

index 44bffbf..0c6cc76 100644 (file)
@@ -7,3 +7,9 @@
 [submodule "typo3/sysext/dbal"]
        path = typo3/sysext/dbal
        url = git://git.typo3.org/TYPO3v4/Extensions/dbal.git
+[submodule "typo3/sysext/extbase"]
+       path = typo3/sysext/extbase
+       url = git://git.typo3.org/TYPO3v4/CoreProjects/MVC/extbase.git
+[submodule "typo3/sysext/fluid"]
+       path = typo3/sysext/fluid
+       url = git://git.typo3.org/TYPO3v4/CoreProjects/MVC/fluid.git
diff --git a/typo3/sysext/extbase b/typo3/sysext/extbase
new file mode 160000 (submodule)
index 0000000..8417a98
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 8417a982814f2ab5573d0fbec7a1b19a0e4014b7
diff --git a/typo3/sysext/extbase/ChangeLog.txt b/typo3/sysext/extbase/ChangeLog.txt
deleted file mode 100644 (file)
index 4c78caa..0000000
+++ /dev/null
@@ -1,788 +0,0 @@
-ChangeLog for Extbase
-=====================
-
-Changes for 1.3.0:
-==================
-included in TYPO3 4.5.0 LTS.
-
-This release fixes an important bug in the persistence layer, which caused related objects not to be updated.
-
-Full Changes for 1.3.0:
-=======================
-
-[+BUGFIX] Extbase (Tests): reset added t3lib_div instances in UriBuilder & Extension tests
-[+BUGFIX] Extbase (Persistence): Fixed updating of related objects. Thanks to Björn Steinbrück and Bastian Waidelich for digging into this issue. Resolves #9270, #9182, #10211.
-       This is the second attempt after having reverted the first one in r3920. The patch includes some clean-up. Important additional changes:
-       * The objects within an ObjectStorage are now added to the queue. This is necessary to persist changes made to those contained objects without having changed the composition of objects.
-       * Moved the _memorizeCleanState() from the AbstractEntity to the AbstractDomainObject. In theory ValueObjects are immutable, but we need this as sometimes ValueObjects are stored in two steps (1. to get a UID, 2. to persist its properties). Maybe we have to recheck this for 1.4.
-       * Fixed some possible problems with detecting an ObjectStorage (namely SplObjectStorage->getUid()).
-[+TASK] Extbase (Persistence): Added two properties to describe a weird PHP behavior if calling current() on an ObjectStorage.
-[+BUGFIX] Extbase (MVC): Fixed argument order of Tx_Extbase_Utility_Extension::isActionCacheable() call in UriBuilder
-[+TASK] Extbase (DomainObject): Added setPid() and getPid() to the DomainObjectInterface and removed the "final" keyword.
-[~TASK] Extbase: Moved isActionCacheable() from UriBuilder to Utility/Extension helper class
-       Moved the protected method to a public static functions in Tx_Extbase_Utility_Extension
-       and added respective unit tests.
-       Note: We're not happy with all the public static functions in Utility/Extension.php
-       but that's currently the place for those helper functions.
-[+TASK] Extbase (Utility): implemented validation of arguments passed to sql statements in Tx_Extbase_Utility_Cache. (resolves #11978)
-
-Changes for 1.3.0 RC1:
-======================
-included in TYPO3 4.5.0 RC1.
-
-This release features many bugfixes, in the following areas:
-* Persistence - invalid SQL has been fixed at various places
-* MVC - the URI Builder can now handle cached / uncached actions correctly
-* Improved error handling to catch some configuration errors
-* Localization - TypoScript overrides for locallang keys with dot inside now works (_LOCAL_LANG.foo.bar)
-* Persistence - added "pid" property and getter and setter to AbstractDomainModel; thus you can now move
-  domain objects to different pages. However, this feature has *no support for workspaces* yet.
-* Dependency Injection - now allows the injection of prototypes (see below)
-* Configuration - for defining the Storage PID, one can use arbitary TypoScript objects (see below)
-
-Dependency Injection Improvements
----------------------------------
-
-Now, Prototype objects are allowed to be injected into other objects. This means the following cases
-are supported:
-
-* Singletons which need Singletons (most common)
-* Singletons which need Prototypes (very uncommon,
-  as it usually hints at the fact that the injected
-  prototype should be a singleton). In this case,
-  WE WRITE A DEVLOG MESSAGE
-* Prototypes which need Singletons
-* Prototypes which need Prototypes
-
-TypoScript Storage PID Improvements
------------------------------------
-
-The persistence.storagePid now has stdWrap properties so the storagePid can be set dynamically.
-Now follows an example for use in the Frontend:
-       plugin.tx_extkey.persistence.storagePid.cObject = TEXT
-       plugin.tx_extkey.persistence.storagePid.cObject.value = 8,3
-... and this is how you can use it in the backend:
-       module.tx_extkey.persistence.storagePid.cObject = TEXT
-       module.tx_extkey.persistence.storagePid.cObject.value = 8,3
-
-Full Changes for 1.3.0 RC1:
-===========================
-[+BUGFIX] Extbase (Object): constructor injection now works if default value for a dependency is NULL. Thanks to Lienhart Woitok! Resolves #11623
-[+BUGFIX] Extbase (Object): Allow injection of prototypes via dependency injection. Resolves #12013
-[+BUGFIX] Extbase (Persistence): Use sql_free_result() in Typo3DbBackend to free result memory. Resolves #10957
-[~BUGFIX] Extbase (Persistence): fixed an wrong referenced exception (resolves #12403)
-[~BUGFIX] Extbase (Persistence): make Tx_Extbase_Persistence_Repository::remove() handle freshly created objects right. (resolves #11128)
-[+BUGFIX] Extbase (MVC): UriBuilder automatically added a cHash even on links to nonCacheable actions where this is not needed/recommended (resolves #8565)
-[~BUGFIX] Extbase (Persistence): made union statement on comma seperated list use find_in_set (Thanks to Marc Bastian Heinrichs) (resolves #9772)
-[~FOLLOWUP] Extbase (Utility): allow clearPageCache() to clear single, multiple and all pageCaches. (resolves 11978)
-[+TASK] Extbase (Utility): allow clearPageCache() to clear single, multiple and all pageCaches.
-[+BUGFIX] Extbase (MVC): Improve Error Handling in Request Builder. Resolves #11302
-[+BUGFIX] Extbase (Persistence): remove superfluous require_once statements. Thanks to Oliver Klee. Resolves #12324
-[+BUGFIX] Extbase (Tests): Remove require_once of phpunit testclasses. Thanks to Oliver Klee. Resolves #12323
-[+BUGFIX] Extbase (Utility): Make _LOCAL_LANG override work with dots. Thanks to Thomas Maroschik. Resolves #12121
-[+BUGFIX] Extbase (Persistence): Fixed using the correct columnname for contains comparison with RELATION_HAS_MANY and empty parentKeyFieldName. Resolves #11048
-[+BUGFIX] Extbase (Persistence): Added the missing pid property to the AbstractDomainModel. Related to #11361
-[+BUGFIX] Extbase (Persistence): Language Oberlay now works with page table as well. Thanks to Andre Stoesel. Resolves #11319
-[+BUGFIX] Extbase (Persistence): The QueryObject gets cloned now in the getFirst() method of the QueryResult (as it was intended). Thanks to Sebastian Fischer. Resolves #11855.
-[+BUGFIX] Extbase (Bootstrap): Bootstrap calls initialize on reflectionService if it's already initialized. Resolves #12346, resolves #12156
-[+BUGFIX] Extbase (Persistence): Fix equals constraint with $caseSensitive FALSE (closing bracket missing). Thanks to Alexander Berl. Resolves #10781
-[+BUGFIX] Extbase (Reflection): ObjectAccess::isPropertyGettable works for ArrayAccess objects. Resolves #10148
-[+BUGFIX] Extbase (Configuration): Allow StoragePid to be manually defined by TS. Thanks to Rens Admiraal! Resolves #8397
-[+BUGFIX] Extbase (Configuration): Fix warning in AbstractConfigurationManager. Resolves #11631
-[+BUGFIX] Extbase (Object): Disabling Dependency Injection for injectSettings method. Resolves #11011
-
-
-Changes for 1.3.0 Beta 4:
-=========================
-included in TYPO3 4.5.0 Beta 4.
-
-This release contains numerous bugfixes, and a few small features:
-
-* Tx_Extbase_Utility_Extension::registerPlugin() now has a fourth parameter $pluginIconPathAndFilename
-  that you can set to the path of an icon, that will be displayed in the plugin dropdown in the backend.
-  You can use it like:
-  Tx_Extbase_Utility_Extension::registerPlugin(
-               $_EXTKEY,
-               'MyPlugin',
-               'My Plugin description',
-               t3lib_extMgm::extRelPath($_EXTKEY) . 'Resources/Public/Icons/someIcon.gif'
-  );
-* Hidden Records in Workspaces now work
-  Before, if t3lib_pageSelect::getRecordOverlay returned FALSE (if
-  no translation is found), a fatal error occured:
-  PHP Catchable Fatal Error: Argument 2 passed to Tx_Extbase_Persistence_Mapper_DataMapper::getTargetType()
-  must be an array, boolean given, called in Persistence/Mapper/DataMapper.php
-
-Full Changes for 1.3.0 Beta 4:
-==============================
-
-[+TASK] Extbase (Tests): Fixed a repository unit test so that it works in CLI mode
-[+TASK] Extbase (Tests): Fixed Extbase unit tests
-[+BUGFIX] Extbase (Persistence): Hidden Records in Workspaces now work
-[~TASK] Extbase: Fixed line endings (Windows to Unix).
-[~TASK] Fluid (Tests): Fixed some more testcase class names and some unit tests
-[+FEATURE] Extbase (Utility): Add support for custom specify custom plugin icon. Resolves #11179
-
-Changes for 1.3.0 Beta 3:
-=========================
-included in TYPO3 4.5.0 Beta 3.
-
-This release features numerous stability improvements, the biggest one
-being a re-written core of the Object Manager, such that Lifecycle Methods
-are supported now. This means, that a method "initializeObject()" gets called
-as soon as all dependencies are injected and initialized.
-
-Additionally, Extbase didn't work in all cases in the TYPO3 Backend. This has
-also been improved, so Extbase (again) works in the backend
-with an empty page tree.
-
-Full Changes for 1.3.0 Beta 3:
-=============================
-
-[+BUGFIX] Extbase (Tests): Fixed Tx_Extbase_MVC_Controller_AbstractController_testcase. Thanks to Oliver Klee. Resolves #11567.
-[BUGFIX] Extbase (Configuration): Make Extbase work again in Backend
-[!!!][+TASK] Extbase (Object): Rewritten Object Container
-[+BUGFIX] Extbase (MVC): Improve Exception message
-       If one misses the @dontvalidate annotation, he will
-       get a strange error which does not have a hint that
-       the @dontvalidate is missing. Now, the exception message
-       is extended.
-[+API] Extbase (Configuration): Adding getContentObject to API
-[+TASK] Extbase (Reflection): Added deprecation annotation to ObjectAccess::getAccessiblePropertyNames()
-       To stay in sync with FLOW3, the methods getAccessibleProperties() and getAccessiblePropertyNames() to
-       getGettableProperties() and getGettablePropertyNames().
-       For compatibility reasons the old methods will stay in Extbase until version 1.5.
-       Note: you can now check wheter properties are settable as well
-[+FEATURE] Extbase (Reflection): Tx_Extbase_Reflection_ObjectAccess supports stdClass objects now
-       I've backported the ObjectAccess class and its unit tests from FLOW3.
-       Note: FLOW3's implementation allows to specify a third argument for the
-       method getPropertyPath() in order to support Closures.
-       This part is not backported as it's not compatible with PHP < 5.3.
-
-Changes for 1.3.0 Beta 2a:
-==========================
-included in TYPO3 4.5.0 Beta 2.
-
-This release includes a whole bunch of bugfixes and refactorings, the most important ones listed below.
-Because the FlashMessages now use t3lib_FlashMessage, TYPO3 4.5 is MANDATORY!
-
-The main changes are:
-
-* Tx_Extbase_MVC_Controller_FlashMessages now internally uses the
-  t3lib_FlashMessageQueue that has been introduced with TYPO3 4.3.
-  This results in following changes:
-  - flashmessages are now treated globally, not in a per-extension-scope. As soon as you output the messages first, the session will be flushed
-  - a flashmessage is not a simple strings anymore, but consists of
-    message body and (optionally) title & severity.
-    You can specify title and severity like this:
-    $this->flashMessages->add('Your message', 'some title', t3lib_FlashMessage::WARNING);
-  - you can now output flashmessages in backend that were set from other TYPO3 classes
-  - a revised flashmessage ViewHelper allows you to render flashmessages in the style
-    of core flashmessages now (see Fluid changelog)
-  - Resolves #10821
-* Configuration Manager can now deal with recurring FlexForm Sections (#6067)
-* Fixed Tx_Extbase_Domain_Model_FrontendUser (and marked the old API as deprecated)
-* Bugfixes related to Lazy Loading
-
-Full Changes for 1.3.0 Beta 2a:
-==============================
-[+BUGFIX] Extbase (Configuration): change the order of methods to determine the current pageId for backend modules, which is used to fetch the TS framework configuration. Fixes #11205
-[+TASK] Extbase (Object): Make sure the class info cache is returning valid objects
-[+BUGFIX] Extbase (Persistence): Persistence_Backend::getIdentifierByObject should work with LazyLoadingProxy
-       getIdentifierByObject should check if object is an instance of Tx_Extbase_Persistence_LazyLoadingProxy and should return the
-       identifier of the real object.
-[+BUGFIX] Extbase (Configuration): slightly tweaked FrontendConfigurationManager (basically replaced explode() by t3lib_div::trimExplode() call)
-[+TASK] Extbase (Tests): Added some unit tests for Backend- and FrontendConfigurationManager. To be continued
-[+BUGFIX] Extbase (DomainObject): added default __toString method to Tx_Extbase_DomainObject_AbstractDomainObject. Thanks to Marco Huber. Resolves #8083
-[+BUGFIX] Extbase (MVC): Fixed UriBuilder for handling LazyLoadingProxy objects as arguments. Resolves #10705
-[+TASK] Extbase (Object): re-added Tx_Extbase_Object_Manager to gain more backwards compatibility. This class is marked deprecated and will be removed in Extbase 1.5
-[+BUGFIX] Extbase (Tests): tweaked ObjectContainer tests. Tests are failing deliberately for now
-       The DI implementation has to be rewritten, as discussed.
-       This relates to: #11160
-[+BUGFIX] Extbase (Domain): fixed (non-breaking) method name for getting usergroup in Tx_Extbase_Domain_Model_FrontendUser. Resolves #11019
-[+TASK] extbase (ConfigurationManager): Made FrontendConfigurationManager parse recurring sections in flexforms right. Thanks to Franz Koch (resolves #6067)
-[+BUGFIX] Extbase (Configuration): Slightly tweaked AbstractConfigurationManager
-[+TASK] Extbase (Tests): Added unit tests for AbstractConfigurationManager
-       Note: the ConfigurationManager now always overrides switchableControllerActions
-       when retrieving configuration for the current plugin. Before that only happened
-       when no extensionName/pluginName was specified.
-       Additionally: It's not possible anymore to specify new controllers in
-       switchableControllerAction configuration. That was the intended behavior.
-[+TASK] Extbase (Tests): Renamed test files from "*_testcase.php" to "*Test.php"
-[+TASK] Extbase (Tests): Moving all Tests in "Unit" directory.
-[+FEATURE] Extbase (MVC): add possibility to output FlashMessageQueue (Resolves #10821)
-[+TASK] Extbase (Persistence): counting query results does not work with limit constraints (resolves #10956)   Tx_Extbase_Persistence_Storage_Typo3DbBackend::getObjectCountByQuery() replaces the SELECT part
-       of a query by COUNT(*) before executing a statement.
-       This did not work as expected in some cases, e.g. the LIMIT constraint was ignored by the count query.
-[+TASK] Extbase (Persistence): findOneBy*() methods should return NULL if no item was found (Resolves #10958)
-[+TASK] Extbase (Core): Slightly improved error handling in bootstrap (Resolves #11055)
-[~TASK] Extbase (Utility): Changed Tx_Extbase_Utility_TypoScript:convertPlainArrayToTypoScriptArray to self::convertPlainArrayToTypoScriptArray. Resolves #10538.
-[+BUGFIX] Extbase (MVC): UriBuilder: use current plugin if no pluginName has been specified
-       If multiple plugins are found, that are configured to handle the specified action, Extbase
-       will throw an Exception. Now, this only happens if the *current* plugin does not contain
-       the action.
-
-Changes for 1.3.0 Beta 1a:
-==========================
-included in TYPO3 4.5.0 Beta 1.
-
-Extbase 1.3.0 Beta 1 has a lot new and greatly improved features, and also many bugfixes.
-The highlights are outlined below, and explained in-depth a little further down.
-
-NOTE: This release brings new table definitions, so please visit the install tool or the Extension
-Manager and update the tables of Extbase.
-
-*** EVERY FEATURE IS DESCRIBED IN DEPTH BELOW ***
-
-* Dependency Injection
-* Dispatcher Refactoring & Completely re-done Configuration Manager
-       This means that Tx_Extbase_Dispatcher is now DEPRECATED!
-       Additionally, if you defined the TypoScript setup for a plugin by hand (which you should not),
-       the syntax has changed a bit there.
-* QueryResult refactoring (needed for Fluid Widgets)
-       THIS COULD BE A BREAKING CHANGE FOR YOU!
-
-Additionally, the following smaller features were implemented:
-
-* Configurable plugin namespaces (#8365)
-* Automatic target page determination (#9121)
-* Improved resolveView() mechanism
-* Allowing plugins to be registered as new content element (#10666)
-* Default Orderings & QuerySettings (#10319)
-
-Breaking Changes:
-
-* The UriBuilder now uses the current cObject instead of creating a new instance in the constructor. This is a breaking change if you instantiated the UriBuilder in your code. Please use the Extbase ObjectManager or inject the ConfigurationManager manually.
-* fixed typo in getter and setter of Tx_Extbase_Domain_Model_FrontendUser::lastlogin
-* Flashmessages now share a scope throughout the extension. Before, every plugin had it's own scope leading to the messages only being output when entering the same plugin again (e.g. redirecting from one plugin to another would never display the messages)
-
-Known issues:
-
-* The Unit Tests do not fully work again, we will fix that in the next days.
-* There might be still issues with the support of backend modules, we are working on that!
-
-Dependency Injection
---------------------
-
-Instead of creating objects through t3lib_div::makeInstance, and connecting them together manually,
-you yan now use Dependency Injection (DI) for that. Let's give an example: If my class "Tx_Foo_Controller_MyController"
-needs another class "Tx_Foo_Service_LoggingService", it can get an instance of the logging service
-by Dependency Injection, by specifying the following code:
-
-class Tx_Foo_Controller_MyController {
-       protected $loggingService;
-
-       /**
-        * @param Tx_Foo_Service_LoggingService $loggingService
-        */
-       public function injectLoggingService(Tx_Foo_Service_LoggingService $loggingService) {
-               $this->loggingService = $loggingService;
-       }
-}
-
-The DI container finds that the class "MyController" has an method whose name starts with "inject",
-and thus passes the logging service to MyController.
-It is important that you can *only retrieve Singletons* through the inject annotations. If you need
-to instanciate a prototype object, it is important to *not* use t3lib_div::makeInstance() anymore
-(as it bypasses the DI container), but instead you need to inject the ObjectManager, and ask it
-to create your prototype object using the create() method. Example:
-
-class Tx_Foo_Controller_MyController {
-       protected $logFile;
-
-       /**
-        * @param Tx_Extbase_Object_ObjectManagerInterface $objectManager
-        */
-       public function injectObjectManager(Tx_Extbase_Object_ObjectManagerInterface $objectManager) {
-               $this->logFile = $objectManager->create('Tx_Foo_Domain_Model_LogFile');
-       }
-}
-
-In the above example, you have seen that we reference not the concrete implementation *ObjectManager*,
-but instead the *ObjectManagerInterface*. If a name ends with "...Interface", Extbase DI automatically
-strips away the "Interface" from the name, and expects to find a concrete implementation of that interface.
-This is generally a very good practice: For your core classes, you should always reference an *interface*,
-and let the DI container instanciate the concrete class.
-
-Additionally, Extbase DI allows to *replace* certain implementation classes by other classes through
-configuration in TypoScript. Let's give an example, and then you can see the concept:
-
-config.tx_extbase.objects {
-       Tx_Extbase_Persistence_Storage_BackendInterface {
-               className = Tx_Extbase_Persistence_Storage_Typo3DbBackend
-       }
-}
-
-This essentially means to the DI container: "At all places where you encounter a "BackendInterface",
-you should instanciate the "Typo3DbBackend" class."
-
-However, note that this setting can only be configured *globally* right now, it is not possible
-to override that on a per-extension basis.
-
-Generally, the Extbase DI container provides a subset of the functionality of FLOW3's dependency injection.
-
-Dispatcher Refactoring & Completely re-done Configuration Manager
------------------------------------------------------------------
-
-In the last versions of Extbase, the Dispatcher (Tx_Extbase_Dispatcher) was the main entry point to Extbase.
-However, as we did not have Dependency Injection at that point, it became really complex and did lots of things
-which it should not do in the first place. That's why we greatly improved that part. Now, any Extbase extension
-is invoked using the Tx_Extbase_Core_Bootstrap. Additionally, the TypoScript used for the registration of any
-Extbase extension has been cleaned up and adjusted:
-
-lib.foo = USER
-lib.foo {
-       userFunc = tx_extbase_core_bootstrap->run
-       extensionName = YourExtension
-       pluginName = YourPlugin
-}
-
-Additionally, you can also override the list of Switchable Controller Actions through TypoScript:
-
-lib.foo = USER
-lib.foo {
-       userFunc = tx_extbase_core_bootstrap->run
-       extensionName = YourExtension
-       pluginName = YourPlugin
-       switchableControllerActions {
-               Standard {
-                       1 = action2
-                       2 = action3
-               }
-       }
-}
-
-Of course, you cannot call actions which were not defined previously in the plugin; so the Switchable
-Controller Actions in TypoScript can be only used to shrink the number of actions available.
-
-NOTE: If you manually defined the above snippet, notice that there is a NON-BACKWARDS-COMPATIBLE change
-in there. But you did that at your own risk, as that was never public API ;)
-
-If you used Tx_Extbase_Dispatcher before in your own code, it should still work, but it is deprecated.
-Instead, instead
-
-OLD: Tx_Extbase_Dispatcher::getConfigurationManager()
-NEW: inject Tx_Extbase_Configuration_ConfigurationManagerInterface into your class
-
-OLD: Tx_Extbase_Dispatcher::getPersistenceManager()
-NEW: inject Tx_Extbase_Persistence_ManagerInterface into your class
-
-OLD: Tx_Extbase_Dispatcher::getExtbaseFrameworkConfiguration()
-NEW: inject Tx_Extbase_Configuration_ConfigurationManagerInterface into your class,
-     and call $configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
-     on the ConfigurationManager.
-
-Please note that the Configuration Manager is STILL NO PUBLIC API, and its method signature has also changed.
-
-QueryResult refactoring (needed for Fluid Widgets)
---------------------------------------------------
-
-Before this change, a call of $query->execute() inside a repository immediately executed the query and
-returned the result as array.
-Now, queries are executed lazily at the first moment where you really need them. This means that $query->execute()
-returns an object of type Tx_Extbase_Persistence_QueryResultInterface, which behaves like an array, meaning you
-can use foreach() to loop over the query result.
-However, due to an inconsistency of PHP, the array_* methods, and the iteration methods like current(),
-next(), ... do NOT work on objects which implement ArrayAccess -- that's the reason why the QueryResult
-refactoring is a breaking change.
-
-Now, however, the following is possible:
-* Return the first query result: $query->execute()->getFirst()
-* Get the underlying query: $query->execute()->getQuery()
-* Convert the result to array: $query->execute()->toArray()
-
-This change is a prerequisite for Fluid Widgets to work. See the Fluid ChangeLog for details.
-
-
-Configurable Plugin Namespaces
-------------------------------
-
-By default each Extbase plugin has a unique URI prefix to avoid collisions with other plugins on your website.
-This so called plugin namespace usually has the format tx_yourextension_yourplugin.
-With Extbase 1.3 it is possible to override this namespace. This comes in handy if want to interact with 3rd party
-extensions, for example with tt_news:
-
-plugin.tx_yourextension.view.pluginNamespace = tx_ttnews
-
-This sets the plugin namespace of all your plugins inside the extension to "tx_ttnews", making it possibl
-to directly access tt_news parameters in your controller:
-
-/**
- * @param integer $tt_news tt_news Article uid
- * @return void
- */
-public function yourAction($tt_news) {
-       // interact with $tt_news uid
-}
-
-This works with automatic mapping to Domain models too of course:
-
-/**
- * @param Tx_YourExtension_Domain_Model_NewsArticle $tt_news tt_news Article
- * @return void
- */
-public function yourAction(Tx_YourExtension_Domain_Model_NewsArticle $tt_news) {
-       // interact with $tt_news object
-}
-
-You can also override the plugin namespace for a single instance by adding the section <view.pluginNamespace> to your
-plugin FlexForm.
-
-
-Automatic target page determination
------------------------------------
-
-In TYPO3 v5 we won't have the notion of page uids. To accustom developers to this change, we're trying to free you from
-the need to specify target pages from within your Extension. Of course you can put all your functionality into one fully
-fledged plugin, then you won't have to deal with target pages as the current page is used by default.
-
-But sometimes you want to be able to change the surrounding contents of a special view of your extension (e.g. the
-subcontent column of a details page). As before you can still specify the target page explicitly like:
-
-<f:link.action action="foo" pageUid="123" />
-
-With Extbase 1.3 you can also use a new feature called "automatic target page determination". It is disabled by default,
-but you can enable it with the following TypoScript:
-
-plugin.tx_yourextension.view.defaultPid = auto
-
-Then Extbase will search the page tree for a plugin that is configured to handle the specified action and you can omit
-the "pageUid" parameter in your links. Of course, this does not work if you use the same plugin multiple times in your
-page tree. In this case you can override the default page ID for the respective plugins:
-
-plugin.tx_yourextension_yourplugin.view.defaultPid = 123
-
-Note: By default this feature is not activated, because that would be a breaking change in some cases
-
-
-Improved resolveView() mechanism
---------------------------------
-
-Another feature we backported from FLOW3 is the improved view resolving.
-You can now change the default view implementation *per format* by inserting the following line in your Controller:
-
-protected $viewFormatToObjectNameMap = array(
-       'json' => 'Tx_YourExtension_View_JsonView',
-       'html' => 'Tx_YourExtension_View_HtmlView'
-);
-
-
-Allowing plugins to be registered as new content element
---------------------------------------------------------
-
-This is done using an additional parameter to Tx_Extbase_Utility_Extension::configurePlugin
-that allows you to specify the plugin type. Example:
-
-Tx_Extbase_Utility_Extension::configurePlugin(
-       $_EXTKEY,
-       'BlogList',
-       array('Blog' => 'index'),
-       array(),
-       Tx_Extbase_Utility_Extension::PLUGIN_TYPE_CONTENT_ELEMENT
-);
-(The default value for the pluginType parameter is Tx_Extbase_Utility_Extension::PLUGIN_TYPE_PLUGIN)
-
-Default Orderings & QuerySettings
----------------------------------
-
-It is now possible to change the default orderings of a repository without you having to modify the query by setting
-the $defaultOrderings property of your Repository to a non-empty array:
-
-protected $defaultOrderings = array(
-       'title' => Tx_Extbase_Persistence_QueryInterface::ORDER_ASCENDING,
-       'date' => 'title' => Tx_Extbase_Persistence_QueryInterface::ORDER_DESCENDING
-);
-
-This will change the default ordering for all queries created by this repository. Of course you can override the
-ordering by calling $query->setOrderings() in your custom finder method.
-
-Besides it's now possible to change the default query settings of a repository. This way you could for instance disable
-"respect storage pid" for all queries. We added a life-cycle method "initializeObject" to the repository which will be
-executed as soon as the repository is created. Just override it like the following:
-
-public function initializeObject() {
-       $querySettings = $this->objectManager->create('Tx_Extbase_Persistence_Typo3QuerySettings');
-       $querySettings->setRespectStoragePage(FALSE);
-       $this->setDefaultQuerySettings($querySettings);
-}
-
-Of course, QuerySettings can be overridden too in your custom finder method by calling $query->setQuerySettings();
-
-
-Full Changes for 1.3.0 Beta 1a:
-===============================
-[+TASK] Extbase: Re-implement support for BE modules
-[+FEATURE] Extbase (Utility): Allow plugins to be registered as new content element
-       Added a fifth parameter to Tx_Extbase_Utility_Extension::configurePlugin that allows
-       you to specify the plugin type (currently "list_type" and "CType" are supported).
-       Thanks to Marc Bastian Heinrichs, Rens Admiraal & Franz Koch for your help!
-       Resolves: #10666
-[+BUGFIX] Extbase (Utility): Added condition to Tx_Extbase_Utility_Extension::getTargetPidByPlugin() in order to only select tt_content entries that are of CType "list". Thanks to Marc Bastian Heinrichs
-[!!!][~TASK] Extbase (Configuration): Major rework of the ConfigurationManager
-       Configuration of controllers and actions is now stored in a global registry
-       ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions']). But you
-       should never access this directly. Instead always retrieve the frameworkConfiguration
-       from the ConfigurationManager.
-       Inserting an Extbase plugin is now as simple as:
-       lib.foo = USER
-       lib.foo {
-         userFunc = tx_extbase_core_bootstrap->run
-         extensionName = YourExtension
-         pluginName = YourPlugin
-       }
-       This is not really a breaking change as it does not change the public API. But it's not unlikely that it changes the behavior of your Extension in case you modified the TypoScript, that is generated by Tx_Extbase_Utility_Extension::configurePlugin().
-       NOTE: Unit tests of Extbase and Fluid v4 are broken currently. We'll be fixing those asap
-[~TAKS] Extbase (MVC): FrontendRequestHandler now retrieves the current cObject through the ConfigurationManager
-[+BUGFIX] Extbase (MVC): FrontendRequestHandler was refering to $this->frameworkConfiguration which wasn't available
-[-API] Extbase (MVC): marked Tx_Extbase_MVC_Web_Request::getContentObjectData() deprecated as should retrieve the current cObject through the ConfigurationManager
-[+TASK] Extbase (MVC): modified the Tx_Extbase_MVC_Web_RequestBuilder so that it's possible to change the action only by specifying the action parameter. Before you had to specify the controller as well, even if it was the default controller
-[+BUGFIX] Extbase (MVC): Flashmessages now share a scope throughout the extension. Before, every plugin had it's own scope leading to the messages only being output when entering the same plugin again (e.g. redirecting from one plugin to another would never display the messages)
-[~TASK] Extbase (Core): The Flashmessages now get persisted in the Bootstrap in resetSingletons()
-[-TASK] Extbase (Core): Removed some commented lines from Bootstrap
-[FEATURE] Extbase (Object): Make DI Class Mapping configurable through TS
-       It is now possible to configure the Dependency Injection class mapping by specifying:
-       config.tx_extbase.objects.[FullyQualifiedObjectName].className = [NewClassName]
-       This has the effect of effectively replacing [FullyQualifiedObjectName] with
-       [NewClassName].
-       Resolves: #10559
-[-TASK] Extbase (Utility): Removed two obsolete checks for $GLOBALS['TSFE']->tmpl->setup['tt_content.']['list.']['20.'] in Tx_Extbase_Utility_Extension
-[~TASK] Extbase: added two doc comments that were missing
-[+BUGFIX] Extbase (Persistence): Extbase still used PHPs current() on some QueryResults in Persistence/Repository. Replaced these by calls to the getFirst() method of the QueryResult
-[+TASK] Extbase (Persistence): added a private field to the QueryResult to make the above case easier to debug: When calling current() on an Iterator, PHP returns the first field of that object instead of calling the current() method of the Iterator interface.. With our somewhat pragmatic approach you'll see the warning if you debug the results of current($query->execute())
-[+BUGFIX] Extbase (Persistence): Replaced two occurrences of Query->count() by Query->execute()->count() to avoid deprecated warnings in the Core
-[+BUGFIX] Extbase (MVC): view configuration (templateRootPath, ...) has to be set before View::canRender() is called
-[!!!][+TASK] Extbase (MVC): The UriBuilder now uses the current cObject instead of creating a new instance in the constructor. This is a breaking change if you instantiated the UriBuilder in your code. Please use the Extbase ObjectManager or inject the ConfigurationManager manually.
-[+BUGFIX] Extbase (Reflection): ReflectionService now uses a cacheIdentifier per Extension. Besides the Bootstrap now resets the ReflectionService after dispatching a request. This resolves #10146
-[+TASK] Extbase (Configuration): The ConfigurationManager now holds the current cObject. You can retrieve it via ConfigurationManagerInterface::getContentObject()
-[+BUGFIX] Extbase (Configuration): When loading configuration of other plugins, the context specific configuration (e.g. flexform settings) are no longer merged with the frameworkConfiguration
-[+BUGFIX] Extbase (MVC): Controllers are no Singletons by default. If a controller contains stateful fields (e.g. $this->settings) this breaks multiple plugins on one page
-[+TASK] Extbase (Persistence): QuerySettings now also store the storage page id(s). This is required for the upcoming Ajax Widgets
-[+BUGFIX] Extbase: fixed php warning in Tx_Extbase_Persistence_LazyLoadingProxy when loading the real instance would return NULL. Resolves #10683
-[+BUGFIX] Extbase: use 3rd parameter = TRUE of t3lib_div::trimExplode to split switchableControllerActionParts from flexform. Thanks to Georg Ringer. Resolves #10688
-[+TASK] Extbase: Replaced "public static" by "static public" in various places to be CGL conform
-[+TASK] Extbase: Marked Utitlity_Extension camelCase/underscore helper functions deprecated
-[+TASK] Extbase: Removed obsolete FIXME comments, whitespace fixes
-[!!!] Extbase: Reintegrating branch "dispatcher" to trunk. Resolves: #10605
-       Branch history:
-[+FEATURE] Extbase (Configuration): Extend ConfigurationManager so that it can load configuration of different plugins
-[+FEATURE] Extbase (Configuration): 1st level cache for ConfigurationManager. Resolves: #10717. Resolves: #10716
-[+TASK] Extbase: cleaned up Configuration* implementation, replaced t3lib_div::makeInstance() calls
-       Streamlined ConfigurationManager API and enforced its usage throughout the Extbase classes.
-       Replaced all t3lib_div::makeInstance() calls by $objectManager->create()/$objectManager->get() throughout the Extbase classes.
-       Some smaller tweaks and fixes. Resolves: #10655. Resolves: #10712
-[TASK] Extbase (Object): Make tests work again. Resolves: #10709
-[TASK] Extbase (Object): Updated autoload.php and emconf. Relates to: #10561
-[TASK] Extbase (Object): Use typed exceptions. Relates to: #10561
-[TASK] Extbase (Object): CGL cleanup
-       Additionally, removed support for @inject annotations at methods. Relates to: #10561
-[TASK] Extbase (Object): Remove getParents. Relates to: #10561
-[TASK] Extbase (Object): Remove isSingleton. Relates to: #10561
-[TASK] Extbase (Object): Remove injectExtensionSettings feature. Relates to: #10561
-[TASK] Extbase (Object): Change namespaces to Tx_Extbase_Object_Container. Relates to: #10561
-[TASK] Extbase (Object): Add Container to Extbase. Relates to: #10561
-[+TASK] Extbase (Core): moved Tx_Extbase_Bootstrap to Tx_Extbase_Core_Bootstrap
-       Moving Bootstrap to be compliant with FLOW3
-       Removed obsolete Classes. Resolves: #10704
-[+TASK] Extbase: Merged current trunk (r2689) with local modifications into dispatcher branch
-       Note: This still needs a cleanup and some fixes (see FIXME comments) before it can be merged back to the trunk. Relates to: #10605. Relates to: #10655
-[+TASK] Extbase (Configuration): Moved CONFIGURATION_TYPE_* constraints to ConfigurationManagerInterface. Resolves #10604.
-[~TASK] Extbase (Configuration): The concrete configuration management strategy gets instanciate only once now.
-[+FEATURE] Extbase (MVC): Decoupled framework settings from Dispatcher.
-       With the new dependency injection feature you can get the Configuration Manager injected by adding the lines
-       protected $configurationManager;
-       public function injectConfigurationManager(Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager) {
-               $this->configurationManager = $configurationManager;
-       }
-       You can get various types of configuration invoking
-       $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManager::CONFIGURATION_TYPE_EXTBASE)
-       where the class constant must be either CONFIGURATION_TYPE_EXTBASE (for Extbase settings), or CONFIGURATION_TYPE_SETTINGS (for the current module/plugin settings), or CONFIGURATION_TYPE_TYPOSCRIPT (for a raw TS array). Resolves #4741.
-[~TAKS] Extbase: Removed obsolete code.
-[~TASK] Extbase: Added core patch for mod.php (see previous commit).
-[+TASK] Extbase: Changed the way a module gets called.
-       - You can now specify a function name to be invoked by mod.php:
-$TBE_MODULES['_dispatcher'][] = 'Tx_Extbase_Bootstrap->callModule';
-       - This requires a core patch.
-[~TASK] Extbase: Changed configuration of the RequestHandler class names to TypoScript.
-       - The request handlers can now be registered in TypoScript with the setting:
-          config.tx_extbase.mvc.requestHandlers.[RequestHandlerClassName] = [RequestHandlerClassName].
-       - There are now two RequestHandlers in Extbase: FrontendRequestHandler and BackendRequestHandler. Common functionality is in the AbstractRequestHandler.
-[+API][+FEATURE] Extbase (Utility): Implemented mechanism to register RequestHandlers.
-[+TASK] Extbase: Backported Request Handler Resolver.
-[~TASK] Extbase: Added "deprecated" annotation to Dispatcher.
-[~TASK] Extbase: Added missing comment.
-[+BUGFIX] Extbase (Reflection): The ReflectionService now gets injected to the dispatcher. Related to #10146.
-[+BUGFIX] Extbase (Reflection): Changed the way the Reflection Service and it's cache gets initialized.
-       * Removed check for pre-initialized Reflection Service in the Bootstrap.
-       * Now using a fixed cache key ('ReflectionData').
-       Related to #10146.
-[~TASK] Extbase: First step of the Dispatcher refactoring.
-       * Added and adapted some Unit Tests.
-       * Moved the Dispatcher to MVC.
-       * Added a backwards compatibility Dispatcher on root level.
-       * Added a Bootstrap class.
-       * Removed all backend module support for now.
-       Related to #7153.
-[+TASK] Extbase: Added branch for the dispatcher refactoring.
-[!!!][+BUGFIX] Extbase: fixed typo in getter and setter of Tx_Extbase_Domain_Model_FrontendUser::lastlogin . Thanks to Christian Schwan. Resolves #9345
-[+FEATURE] Extbase (MVC): Backport possibility to change the view object class name more easily
-       Backported FLOW3s improved resolveView() mechanism. Tx_Fluid_View_TemplateView is still the default implementation, but can be easily changed by setting $defaultViewObjectName in your controller. Besides it's possible to specifying different views depending on the current request format by setting $viewFormatToObjectNameMap.
-       NOTE: If the view can't be rendered, the new template based "NotFoundView" will be created. So instead of the invisible HTML comments of the EmptyView, you'll get a more meaningful error message if the template file could not be found
-       Resolves: #8990
-[!!!][+FEATURE] Extbase (Persistence): Backport QueryResult from FLOW3
-       Now Query::execute() returns an instance of QueryResultInterface that allows it to modify the query before actually accessing the records that it retrieves. This is required for the upcoming "Fluid widgets" backport (#10568).
-       NOTE: This change is not backwards compatible, if you work with PHPs array_* functions on the query result. To work around this issue, you'll have to convert the query result to an array before by calling the QueryResult::toArray() method. We're planning to add a compatibility mode, but that's not yet implemented.
-       Resolves: #10566
-[+BUGFIX] Extbase (Object): Minor fix in ObjectManager to make it compatible with PHP 5.2.x
-       Relates to: #9062
-[+BUGFIX] Extbase (Object): Refactor Object Manager
-       The Object Manager is now at the same location and
-       has the same API as in FLOW3.
-[+BUGFIX] Extbase: Major cleanups to Dependency Injection and Persistence
-       Now, DI finally works with Persistence, cleaning
-       this greatly up. Additionally, all internal
-       t3lib_div::makeInstance calls have been replaced.
-       Now, dependency injection is actually usable.
-       Additionally, we completely thought over which
-       persistence classes need to be singleton and which
-       should be prototype, leading finally to a
-       coherent design in the persistence layer.
-[+BUGFIX] Extbase: remove non-used interfaces
-       Removed classes which were not used.
-       Relates to: #9062
-       Resolves: #10585
-       Resolves: #10564
-       * Cleaned up Persistence Backend
-       * Cleaned up QOM Factory
-[+BUGFIX] Extbase (MVC): Fix arguments object
-       The arguments object is now correctly inheriting from ArrayObject
-       Resolves: #10562
-[+BUGFIX] Extbase (MVC): Make database connection work again
-       Resolves: #10585
-[+FEATURE] Extbase (DI): merging DI into trunk. (resolves #10558)
-[+TASK] Extbase: Undefined identifier in Tx_Extbase_Persistence_Storage_Typo3DbBackend::removeRow
-       Method clearPageCache was given an undefined variable $uid as second parameter.
-       Resolves: #10570
-[+TASK] Extbase: $query->contains generate incomplete SQL
-       Use FIND_IN_SET instead of a self-constructed query of LIKE statements
-       Resolves: #8959
-[+BUGFIX] Extbase (Persistence): Removed method createQuery from the QOMFactory. It is neither part of the API nor is it used by Extbase. Resolves #10215
-[+BUGFIX] Extbase (Property): Minor fix in PHP doc comment
-       Fix the order of @param annotation in Tx_Extbase_Property_Mapper::mapAndValidate()
-       Resolves: #5887
-[~CONFIGURATION] Extbase (MVC): Changed default value for automatic target page determination
-       The page id gets automatically detected if plugin.tx_extensionname_pluginname.view.defaultPid
-       is an empty string (was "auto" before). This ensures backwards compatibility.
-       Resolves #9121
-[TASK] Extbase: moved Release Notes to ChangeLog.txt.
-[+FEATURE] Extbase (MVC): Automatic target page determination
-       you can use the "pageUid" argument of the link.* and uri.* view helpers
-       to link to a different page. That is deprecated though as we won't have
-       the notion of "page uids" in v5. Instead the target page is now determined
-       automatically.
-       If the target page can't be determined because more than one active
-       plugin is capable of handling the action an exception will be thrown.
-       In that case you'll have to define the target page either by using the
-       pageUid argument or - preferably - by setting
-       plugin.tx_extensionname_pluginname.view.defaultPid to a fixed page uid.
-       Note: This feature still has to be documented!
-       Resolves: #9121
-[+FEATURE] Extbase (MVC): Configurable plugin namespace
-       until now the namespace (aka prefix) of Extbase plugins was
-       fixed (tx_extensionname_pluginname). This is now configurable
-       via TypoScript. Just write:
-       plugin.tx_extensionname_pluginname.view.pluginNamespace = my_custom_namespace
-       to change the prefix for a specific plugin or
-       plugin.tx_extensionname.view.pluginNamespace = my_custom_namespace
-       to change if for the whole extension.
-       Note: This feature still has to be documented!
-       Resolves: #8365
-
-Changes for 1.3.0 Alpha 2:
-==========================
-included in TYPO3 4.5.0 Alpha 2.
-
-Since the last version, one (possible BREAKING) change happened:
-
- * Fixed Extbase Caching Bug.
-   Non-cacheable actions were cached due to the fact that TYPO3s
-   TypoScript condition "GP" does not merge GET & POST vars.
-   Additionally "switchableControllerActions" that were overridden
-   in the plugin flexform were not taken into account.
-
-!!! This is a breaking change if you set up your TS configuration
-    of the plugin manually.
-
-Full Changes:
--------------
-
-[!!!][+BUGFIX] Extbase: Fix Extbase Caching Bug (thanks to Bastian Waidelich)
-
-[-TASK] Extbase (MVC): removed fallback to current page in AbstractController::redirect() as that's already done within the UriBuilder if $targetPageUid is NULL
-
-
-Changes for 1.3.0 Alpha 1:
-==========================
-included in TYPO3 4.5.0 Alpha 1.
-
-Since the last version, the following notable things happened:
-
-* All methods trying to find an object by uid now ignore the storagePid. This changes the behavior of argument mapping and the way extbase fetches 1:1 relations. Resolves #5631. You should not experience any negative side-effects of this change, i.e. if your extension worked before, it will definitely after this change. However, it makes the record handling more robust.
-* Performance improvements in TypoScript::convertTypoScriptArrayToPlainArray. Thanks to Timo Schmidt.
-* Numerous other bugfixes, see below.
-
-Full Changes:
--------------
-[~TASK] Extbase: Raised version number to 1.3.0-devel to reflect the version scheme defined in the wiki. Resolves #9152. Thanks Xavier for pointing to it.
-[+TASK] Extbase (MVC): cleaned up View implementations and added assign() and assignMultiple() methods to ViewInterface. This resolves #9137
-[+BUGFIX] Extbase: Fixed a small typo in extension description.
-[+BUGFIX] Extbase (Persistence): DataMapper now mapps NULL into a property on non-existing related object instead of FALSE. Resolves #8973.
-[+BUGFIX] Extbase (Reflection): getParentClass() in Tx_Extbase_Reflection_ClassReflection no longer causes a fatal error if no parent class exists. Resolves #8800.
-[+BUGFIX] Extbase (Utility): Improved performance of TypoScript::convertTypoScriptArrayToPlainArray. Thanks to Timo Schmidt. Resolves #8857.
-[~TASK] Extbase: Changed state to 'stable'. Resolves #8768.
-[+BUGFIX] Extbase: Fixed EOL and encoding of several files. Resolves #8876.
-[+BUGFIX] Extbase (MVC): Fixed a problem where a non-required action argument throwed Exception if it was not found in the Backend. Thanks to Marc Bastian Heinrichs. Resolves #7277.
-[!!!][+BUGFIX] Extbase (Persistence): All methods trying to find an object by uid now ignores the storagePid. This changes the behavior of argument mapping and the way extbase fetches 1:1 relations. Resolves #5631.
-[+BUGFIX] Extbase (Persistence): Fixed a problem where localized objects inside an aggregate are not translated. Resolves #8555.
-[~TASK] Extbase: Removed new lines at the end of php files.
-
-RELEASE NOTES of Extbase v1.0.0
-===============================
-
-This package contains the Extbase Framework for Extensions. You may
-also want to install the BlogExample (blog_example) to experiment
-with. This little example extension demonstrates some of the main
-features of Extbase. The documentation is bundled in a separate
-extension called doc_extbase. Both, the blog_example and the
-doc_extbase can downloaded via TER.
-
-http://typo3.org/extensions/repository/view/blog_example/current/
-http://typo3.org/extensions/repository/view/doc_extbase/current/
-
-Currently Extbase is in ALPHA state. Do not expect everything in the
-right place and shape. And keep in mind that the API may change
-until TYPO3 v4.3beta1 is released.
-
-If you have any feature requests or encountered issues regarding
-this package please use the facilities on forge to report.
-
-We are very open to answer your questions. Please use the newsgroup
-
-typo3.projects.typo3v4mvc on lists.netfielders.de
-
-so other developers can react to your comments and also
-profit from the postet solutions. Do not contact a member of the
-development team via private email (or skype, or visits, or ...)
-until he accepted this channel. We all do coding for Extbase on
-our sparetime and must handle our regular work load - and don't
-forget about our families ;-).
-
-We hope you have fun with this package!
-
--- Your Extbase Development Team
-
-HOW TO CREATE THE CHANGELOG
-===========================
-git log [startRevision]..HEAD --pretty=format:"%s%n%b%n" | grep -v "^$" | grep -v "git-svn-id"
-
-Verify that the merge into the Core succeeded:
-diff -urNw --exclude=".git" --exclude=".svn" -I "@version"  ../../../typo3/sysext/extbase/ .
diff --git a/typo3/sysext/extbase/Classes/Configuration/AbstractConfigurationManager.php b/typo3/sysext/extbase/Classes/Configuration/AbstractConfigurationManager.php
deleted file mode 100644 (file)
index fcf257d..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * Abstract base class for a general purpose configuration manager
- *
- * @package Extbase
- * @subpackage Configuration
- * @version $ID:$
- */
-abstract class Tx_Extbase_Configuration_AbstractConfigurationManager implements t3lib_Singleton {
-
-       /**
-        * Default backend storage PID
-        */
-       const DEFAULT_BACKEND_STORAGE_PID = 0;
-
-       /**
-        * Storage of the raw TypoScript configuration
-        * @var array
-        */
-       protected $configuration = array();
-
-       /**
-        * @var tslib_cObj
-        */
-       protected $contentObject;
-
-       /**
-        * @var Tx_Extbase_Object_ObjectManagerInterface
-        */
-       protected $objectManager;
-
-       /**
-        * name of the extension this Configuration Manager instance belongs to
-        * @var string
-        */
-       protected $extensionName;
-
-       /**
-        * name of the plugin this Configuration Manager instance belongs to
-        * @var string
-        */
-       protected $pluginName;
-
-       /**
-        * 1st level configuration cache
-        *
-        * @var array
-        */
-       protected $configurationCache = array();
-
-       /**
-        * @param Tx_Extbase_Object_ManagerInterface $objectManager
-        * @return void
-        */
-       public function injectObjectManager(Tx_Extbase_Object_ObjectManagerInterface $objectManager) {
-               $this->objectManager = $objectManager;
-       }
-
-       /**
-        * @param tslib_cObj $contentObject
-        * @return void
-        */
-       public function setContentObject(tslib_cObj $contentObject = NULL) {
-               $this->contentObject = $contentObject;
-       }
-
-       /**
-        * @return tslib_cObj
-        */
-       public function getContentObject() {
-               return $this->contentObject;
-       }
-
-       /**
-        * Sets the specified raw configuration coming from the outside.
-        * Note that this is a low level method and only makes sense to be used by Extbase internally.
-        *
-        * @param array $configuration The new configuration
-        * @return void
-        */
-       public function setConfiguration(array $configuration = array()) {
-               // reset 1st level cache
-               $this->configurationCache = array();
-
-               $this->extensionName = $configuration['extensionName'];
-               $this->pluginName = $configuration['pluginName'];
-               $this->configuration = Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($configuration);
-       }
-
-       /**
-        * Loads the Extbase Framework configuration.
-        *
-        * The Extbase framework configuration HAS TO be retrieved using this method, as they are come from different places than the normal settings.
-        * Framework configuration is, in contrast to normal settings, needed for the Extbase framework to operate correctly.
-        *
-        * @param string $extensionName if specified, the configuration for the given extension will be returned (plugin.tx_extensionname)
-        * @param string $pluginName if specified, the configuration for the given plugin will be returned (plugin.tx_extensionname_pluginname)
-        * @return array the Extbase framework configuration
-        */
-       public function getConfiguration($extensionName = NULL, $pluginName = NULL) {
-               // 1st level cache
-               if ($extensionName !== NULL) {
-                       if ($pluginName === NULL) {
-                               throw new Tx_Extbase_Configuration_Exception('You\'ll have to specify either both, extensionName and pluginName, or neither.', 1289852422);
-                       }
-                       $configurationCacheKey = strtolower($extensionName . '_' . $pluginName);
-               } else {
-                       $configurationCacheKey = strtolower($this->extensionName . '_' . $this->pluginName);
-               }
-               if (isset($this->configurationCache[$configurationCacheKey])) {
-                       return $this->configurationCache[$configurationCacheKey];
-               }
-
-               $frameworkConfiguration = $this->getExtbaseConfiguration();
-               if (!isset($frameworkConfiguration['persistence']['storagePid'])) {
-                       $frameworkConfiguration['persistence']['storagePid'] = self::DEFAULT_BACKEND_STORAGE_PID;
-               }
-
-               // only merge $this->configuration and override switchableControllerActions when retrieving configuration of the current plugin
-               if ($extensionName === NULL || ($extensionName === $this->extensionName && $pluginName === $this->pluginName)) {
-                       $pluginConfiguration = $this->getPluginConfiguration($this->extensionName, $this->pluginName);
-                       $pluginConfiguration = t3lib_div::array_merge_recursive_overrule($pluginConfiguration, $this->configuration);
-                       $pluginConfiguration['controllerConfiguration'] = $this->getSwitchableControllerActions($this->extensionName, $this->pluginName);
-                       if (isset($this->configuration['switchableControllerActions'])) {
-                               $this->overrideSwitchableControllerActions($pluginConfiguration, $this->configuration['switchableControllerActions']);
-                       }
-               } else {
-                       $pluginConfiguration = $this->getPluginConfiguration($extensionName, $pluginName);
-                       $pluginConfiguration['controllerConfiguration'] = $this->getSwitchableControllerActions($extensionName, $pluginName);
-               }
-               $frameworkConfiguration = t3lib_div::array_merge_recursive_overrule($frameworkConfiguration, $pluginConfiguration);
-
-               // only load context specific configuration when retrieving configuration of the current plugin
-               if ($extensionName === NULL || ($extensionName === $this->extensionName && $pluginName === $this->pluginName)) {
-                       $frameworkConfiguration = $this->getContextSpecificFrameworkConfiguration($frameworkConfiguration);
-               }
-
-               if (!empty($frameworkConfiguration['persistence']['storagePid']) &&
-                       is_array($frameworkConfiguration['persistence']['storagePid'])) {
-                               /**
-                                * We simulate the frontend to enable the use of cObjects in
-                                * stdWrap. Than we convert the configuration to normal TypoScript
-                                * and apply the stdWrap to the storagePid
-                                */
-                       Tx_Extbase_Utility_FrontendSimulator::simulateFrontendEnvironment($this->getContentObject());
-                       $conf = Tx_Extbase_Utility_TypoScript::convertPlainArrayToTypoScriptArray($frameworkConfiguration['persistence']);
-                       $frameworkConfiguration['persistence']['storagePid'] = $GLOBALS['TSFE']->cObj->stdWrap($conf['storagePid'], $conf['storagePid.']);
-                       Tx_Extbase_Utility_FrontendSimulator::resetFrontendEnvironment();
-               }
-
-               // 1st level cache
-               $this->configurationCache[$configurationCacheKey] = $frameworkConfiguration;
-               return $frameworkConfiguration;
-       }
-
-       /**
-        * Returns the TypoScript configuration found in config.tx_extbase
-        *
-        * @return array
-        */
-       protected function getExtbaseConfiguration() {
-               $setup = $this->getTypoScriptSetup();
-               $extbaseConfiguration = array();
-               if (isset($setup['config.']['tx_extbase.'])) {
-                       $extbaseConfiguration = Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['config.']['tx_extbase.']);
-               }
-               return $extbaseConfiguration;
-       }
-
-       /**
-        * @param array $frameworkConfiguration
-        * @param array $overriddenSwitchableControllerActions in the format array('Controller1' => array('action1', 'action2'), 'Controller2' => ...)
-        * @return void
-        */
-       protected function overrideSwitchableControllerActions(array &$frameworkConfiguration, array $switchableControllerActions) {
-               $overriddenSwitchableControllerActions = array();
-               foreach ($switchableControllerActions as $controllerName => $actions) {
-                       if (!isset($frameworkConfiguration['controllerConfiguration'][$controllerName])) {
-                               continue;
-                       }
-                       $overriddenSwitchableControllerActions[$controllerName] = array('actions' => $actions);
-                       $nonCacheableActions = $frameworkConfiguration['controllerConfiguration'][$controllerName]['nonCacheableActions'];
-
-                       if (!is_array($nonCacheableActions)) {
-                               // There are no non-cacheable actions, thus we can directly continue
-                               // with the next controller name.
-                               continue;
-                       }
-
-                       $overriddenNonCacheableActions = array_intersect($nonCacheableActions, $actions);
-                       if (!empty($overriddenNonCacheableActions)) {
-                               $overriddenSwitchableControllerActions[$controllerName]['nonCacheableActions'] = $overriddenNonCacheableActions;
-                       }
-               }
-               $frameworkConfiguration['controllerConfiguration'] = $overriddenSwitchableControllerActions;
-       }
-
-       /**
-        * The context specific configuration returned by this method
-        * will override the framework configuration which was
-        * obtained from TypoScript. This can be used f.e. to override the storagePid
-        * with the value set inside the Plugin Instance.
-        *
-        * WARNING: Make sure this method ALWAYS returns an array!
-        *
-        * @param array $frameworkConfiguration The framework configuration until now
-        * @return array context specific configuration which will override the configuration obtained by TypoScript
-        */
-       abstract protected function getContextSpecificFrameworkConfiguration(array $frameworkConfiguration);
-
-       /**
-        * Returns TypoScript Setup array from current Environment.
-        *
-        * @return array the TypoScript setup
-        */
-       abstract protected function getTypoScriptSetup();
-
-       /**
-        * Returns the TypoScript configuration found in plugin.tx_yourextension_yourplugin / module.tx_yourextension_yourmodule
-        * merged with the global configuration of your extension from plugin.tx_yourextension / module.tx_yourextension
-        *
-        * @param string $extensionName
-        * @param string $pluginName in FE mode this is the specified plugin name, in BE mode this is the full module signature
-        * @return array
-        */
-       abstract protected function getPluginConfiguration($extensionName, $pluginName);
-
-       /**
-        * Returns the configured controller/action pairs of the specified plugin/module in the format
-        * array(
-        *  'Controller1' => array('action1', 'action2'),
-        *  'Controller2' => array('action3', 'action4')
-        * )
-        *
-        * @param string $extensionName
-        * @param string $pluginName in FE mode this is the specified plugin name, in BE mode this is the full module signature
-        * @return array
-        */
-       abstract protected function getSwitchableControllerActions($extensionName, $pluginName);
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/BackendConfigurationManager.php b/typo3/sysext/extbase/Classes/Configuration/BackendConfigurationManager.php
deleted file mode 100644 (file)
index a4c36d8..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * A general purpose configuration manager used in backend mode.
- *
- * @package Extbase
- * @subpackage Configuration
- * @version $ID:$
- */
-class Tx_Extbase_Configuration_BackendConfigurationManager extends Tx_Extbase_Configuration_AbstractConfigurationManager {
-
-       /**
-        * @var array
-        */
-       protected $typoScriptSetupCache = NULL;
-
-       /**
-        * Returns TypoScript Setup array from current Environment.
-        *
-        * @return array the raw TypoScript setup
-        */
-       public function getTypoScriptSetup() {
-               if ($this->typoScriptSetupCache === NULL) {
-                       $template = t3lib_div::makeInstance('t3lib_TStemplate');
-                               // do not log time-performance information
-                       $template->tt_track = 0;
-                       $template->init();
-                               // Get the root line
-                       $sysPage = t3lib_div::makeInstance('t3lib_pageSelect');
-                               // get the rootline for the current page
-                       $rootline = $sysPage->getRootLine($this->getCurrentPageId());
-                               // This generates the constants/config + hierarchy info for the template.
-                       $template->runThroughTemplates($rootline, 0);
-                       $template->generateConfig();
-                       $this->typoScriptSetupCache = $template->setup;
-               }
-               return $this->typoScriptSetupCache;
-       }
-
-       /**
-        * Returns the TypoScript configuration found in module.tx_yourextension_yourmodule
-        * merged with the global configuration of your extension from module.tx_yourextension
-        *
-        * @param string $extensionName
-        * @param string $pluginName in BE mode this is actually the module signature. But we're using it just like the plugin name in FE
-        * @return array
-        */
-       protected function getPluginConfiguration($extensionName, $pluginName) {
-               $setup = $this->getTypoScriptSetup();
-               $pluginConfiguration = array();
-               if (is_array($setup['module.']['tx_' . strtolower($extensionName) . '.'])) {
-                       $pluginConfiguration = Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['module.']['tx_' . strtolower($extensionName) . '.']);
-               }
-               $pluginSignature = strtolower($extensionName . '_' . $pluginName);
-               if (is_array($setup['module.']['tx_' . $pluginSignature . '.'])) {
-                       $pluginConfiguration = t3lib_div::array_merge_recursive_overrule($pluginConfiguration, Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['module.']['tx_' . $pluginSignature . '.']));
-               }
-               return $pluginConfiguration;
-       }
-
-       /**
-        * Returns the configured controller/action pairs of the specified module in the format
-        * array(
-        *  'Controller1' => array('action1', 'action2'),
-        *  'Controller2' => array('action3', 'action4')
-        * )
-        *
-        * @param string $extensionName
-        * @param string $pluginName in BE mode this is actually the module signature. But we're using it just like the plugin name in FE
-        * @return array
-        */
-       protected function getSwitchableControllerActions($extensionName, $pluginName) {
-               $switchableControllerActions = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['modules'][$pluginName]['controllers'];
-               if (!is_array($switchableControllerActions)) {
-                       $switchableControllerActions = array();
-               }
-               return $switchableControllerActions;
-       }
-
-       /**
-        * Returns the page uid of the current page.
-        * If no page is selected, we'll return the uid of the first root page.
-        *
-        * @return integer current page id. If no page is selected current root page id is returned
-        */
-       protected function getCurrentPageId() {
-               $pageId = (integer)t3lib_div::_GP('id');
-               if ($pageId > 0) {
-                       return $pageId;
-               }
-
-                       // get current site root
-               $rootPages = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('uid', 'pages', 'deleted=0 AND hidden=0 AND is_siteroot=1', '', '', '1');
-               if (count($rootPages) > 0) {
-                       return $rootPages[0]['uid'];
-               }
-
-                       // get root template
-               $rootTemplates = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('pid', 'sys_template', 'deleted=0 AND hidden=0 AND root=1', '', '', '1');
-               if (count($rootTemplates) > 0) {
-                       return $rootTemplates[0]['pid'];
-               }
-
-                       // fallback
-               return self::DEFAULT_BACKEND_STORAGE_PID;
-       }
-
-       /**
-        * We need to set some default request handler if the framework configuration
-        * could not be loaded; to make sure Extbase also works in Backend modules
-        * in all contexts.
-        *
-        * @return array
-        */
-       protected function getContextSpecificFrameworkConfiguration(array $frameworkConfiguration) {
-               if (!isset($frameworkConfiguration['mvc']['requestHandlers'])) {
-                       $frameworkConfiguration['mvc']['requestHandlers'] = array(
-                               'Tx_Extbase_MVC_Web_FrontendRequestHandler' => 'Tx_Extbase_MVC_Web_FrontendRequestHandler',
-                               'Tx_Extbase_MVC_Web_BackendRequestHandler' => 'Tx_Extbase_MVC_Web_BackendRequestHandler'
-                       );
-               }
-               return $frameworkConfiguration;
-       }
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/ConfigurationManager.php b/typo3/sysext/extbase/Classes/Configuration/ConfigurationManager.php
deleted file mode 100644 (file)
index aac52d6..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * A configuration manager following the strategy pattern (GoF315). It hides the concrete
- * implementation of the configuration manager and provides an unified acccess point.
- *
- * Use the shutdown() method to drop the concrete implementation.
- *
- * @package Extbase
- * @subpackage Configuration
- * @version $ID:$
- */
-class Tx_Extbase_Configuration_ConfigurationManager implements Tx_Extbase_Configuration_ConfigurationManagerInterface {
-
-       /**
-        * @var Tx_Extbase_Object_ObjectManagerInterface
-        */
-       protected $objectManager;
-
-       /**
-        * @var Tx_Extbase_Configuration_AbstractConfigurationManager
-        **/
-       protected $concreteConfigurationManager;
-
-       /**
-        * @param Tx_Extbase_Object_ObjectManagerInterface $objectManager
-        * @return void
-        */
-       public function injectObjectManager(Tx_Extbase_Object_ObjectManagerInterface $objectManager) {
-               $this->objectManager = $objectManager;
-               $this->initializeConcreteConfigurationManager();
-       }
-
-       /**
-        * @return void
-        */
-       protected function initializeConcreteConfigurationManager() {
-               if (TYPO3_MODE === 'FE') {
-                       $this->concreteConfigurationManager = $this->objectManager->get('Tx_Extbase_Configuration_FrontendConfigurationManager');
-               } else {
-                       $this->concreteConfigurationManager = $this->objectManager->get('Tx_Extbase_Configuration_BackendConfigurationManager');
-               }
-       }
-
-       /**
-        * @param tslib_cObj $contentObject
-        * @return void
-        */
-       public function setContentObject(tslib_cObj $contentObject = NULL) {
-               $this->concreteConfigurationManager->setContentObject($contentObject);
-       }
-
-       /**
-        * @return tslib_cObj
-        */
-       public function getContentObject() {
-               return $this->concreteConfigurationManager->getContentObject();
-       }
-
-       /**
-        * Sets the specified raw configuration coming from the outside.
-        * Note that this is a low level method and only makes sense to be used by Extbase internally.
-        *
-        * @param array $configuration The new configuration
-        * @return void
-        */
-       public function setConfiguration(array $configuration = array()) {
-               $this->concreteConfigurationManager->setConfiguration($configuration);
-       }
-
-       /**
-        * Returns the specified configuration.
-        * The actual configuration will be merged from different sources in a defined order.
-        *
-        * Note that this is a low level method and only makes sense to be used by Extbase internally.
-        *
-        * @param string $configurationType The kind of configuration to fetch - must be one of the CONFIGURATION_TYPE_* constants
-        * @param string $extensionName if specified, the configuration for the given extension will be returned.
-        * @param string $pluginName if specified, the configuration for the given plugin will be returned.
-        * @return array The configuration
-        */
-       public function getConfiguration($configurationType, $extensionName = NULL, $pluginName = NULL) {
-               switch ($configurationType) {
-                       case self::CONFIGURATION_TYPE_SETTINGS :
-                               $configuration = $this->concreteConfigurationManager->getConfiguration($extensionName, $pluginName);
-                               return $configuration['settings'];
-                       case self::CONFIGURATION_TYPE_FRAMEWORK :
-                               return $this->concreteConfigurationManager->getConfiguration($extensionName, $pluginName);
-                       case self::CONFIGURATION_TYPE_FULL_TYPOSCRIPT :
-                               return $this->concreteConfigurationManager->getTypoScriptSetup();
-                       default :
-                               throw new Tx_Extbase_Configuration_Exception_InvalidConfigurationTypeException('Invalid configuration type "' . $configurationType . '"', 1206031879);
-               }
-       }
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/ConfigurationManagerInterface.php b/typo3/sysext/extbase/Classes/Configuration/ConfigurationManagerInterface.php
deleted file mode 100644 (file)
index 20f9fbc..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- *
- *
- * @package Extbase
- * @subpackage Configuration
- * @version $ID:$
- */
-interface Tx_Extbase_Configuration_ConfigurationManagerInterface extends t3lib_Singleton {
-
-       const CONFIGURATION_TYPE_FRAMEWORK = 'Framework';
-       const CONFIGURATION_TYPE_SETTINGS = 'Settings';
-       const CONFIGURATION_TYPE_FULL_TYPOSCRIPT = 'FullTypoScript';
-
-       /**
-        * @param tslib_cObj $contentObject
-        * @return void
-        */
-       public function setContentObject(tslib_cObj $contentObject = NULL);
-
-       /**
-        * Get the content object
-        *
-        * @return tslib_cObj
-        * @api (v4 only)
-        */
-       public function getContentObject();
-
-       /**
-        * Returns the specified configuration.
-        * The actual configuration will be merged from different sources in a defined order.
-        *
-        * Note that this is a low level method and only makes sense to be used by Extbase internally.
-        *
-        * @param string $configurationType The kind of configuration to fetch - must be one of the CONFIGURATION_TYPE_* constants
-        * @return array The configuration
-        */
-       public function getConfiguration($configurationType);
-
-       /**
-        * Sets the specified raw configuration coming from the outside.
-        * Note that this is a low level method and only makes sense to be used by Extbase internally.
-        *
-        * @param array $configuration The new configuration
-        * @return void
-        */
-       public function setConfiguration(array $configuration = array());
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Exception.php b/typo3/sysext/extbase/Classes/Configuration/Exception.php
deleted file mode 100644 (file)
index da4529e..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * A generic Configuration Exception
- *
- * @package Extbase
- * @subpackage Configuration
- * @version $ID:$
- */
-class Tx_Extbase_Configuration_Exception extends Tx_Extbase_Exception {
-
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Exception/ContainerIsLocked.php b/typo3/sysext/extbase/Classes/Configuration/Exception/ContainerIsLocked.php
deleted file mode 100644 (file)
index 516bf51..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * @version $Id: ContainerIsLocked.php 1051 2009-08-05 20:42:09Z sebastian $
- */
-
-/**
- * A Container Is Locked exception
- *
- * @package Extbase
- * @subpackage Configuration\Exception
- * @version $ID:$
- */
-class Tx_Extbase_Configuration_Exception_ContainerIsLocked extends Tx_Extbase_Configuration_Exception {
-
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Exception/InvalidConfigurationType.php b/typo3/sysext/extbase/Classes/Configuration/Exception/InvalidConfigurationType.php
deleted file mode 100644 (file)
index 5ddeea9..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * @version $Id: InvalidConfigurationType.php 1051 2009-08-05 20:42:09Z sebastian $
- */
-
-/**
- * An Invalid Configuration Type Exception
- *
- * @package Extbase
- * @subpackage Configuration\Exception
- * @version $ID:$
- */
-class Tx_Extbase_Configuration_Exception_InvalidConfigurationType extends Tx_Extbase_Configuration_Exception {
-
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Exception/NoSuchFile.php b/typo3/sysext/extbase/Classes/Configuration/Exception/NoSuchFile.php
deleted file mode 100644 (file)
index 97fca5f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * @version $Id: NoSuchFile.php 1051 2009-08-05 20:42:09Z sebastian $
- */
-
-/**
- * A No Such File exception
- *
- * @package Extbase
- * @subpackage Configuration\Exception
- * @version $ID:$
- */
-class Tx_Extbase_Configuration_Exception_NoSuchFile extends Tx_Extbase_Configuration_Exception {
-
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Exception/NoSuchOption.php b/typo3/sysext/extbase/Classes/Configuration/Exception/NoSuchOption.php
deleted file mode 100644 (file)
index 71286de..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * @version $Id: NoSuchOption.php 1051 2009-08-05 20:42:09Z sebastian $
- */
-
-/**
- * A No Such Option exception
- *
- * @package Extbase
- * @subpackage Configuration\Exception
- * @version $ID:$
- */
-class Tx_Extbase_Configuration_Exception_NoSuchOption extends Tx_Extbase_Configuration_Exception {
-
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/Exception/ParseError.php b/typo3/sysext/extbase/Classes/Configuration/Exception/ParseError.php
deleted file mode 100644 (file)
index 52e111f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * @version $Id: ParseError.php 1051 2009-08-05 20:42:09Z sebastian $
- */
-
-/**
- * A Parse Error exception
- *
- * @package Extbase
- * @subpackage Configuration\Exception
- * @version $ID:$
- */
-class Tx_Extbase_Configuration_Exception_ParseError extends Tx_Extbase_Configuration_Exception {
-
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Configuration/FrontendConfigurationManager.php b/typo3/sysext/extbase/Classes/Configuration/FrontendConfigurationManager.php
deleted file mode 100644 (file)
index b22a1c3..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * A general purpose configuration manager used in frontend mode.
- *
- * Should NOT be singleton, as a new configuration manager is needed per plugin.
- *
- * @package Extbase
- * @subpackage Configuration
- * @version $ID:$
- */
-class Tx_Extbase_Configuration_FrontendConfigurationManager extends Tx_Extbase_Configuration_AbstractConfigurationManager {
-
-       /**
-        * Returns TypoScript Setup array from current Environment.
-        *
-        * @return array the raw TypoScript setup
-        */
-       public function getTypoScriptSetup() {
-               return $GLOBALS['TSFE']->tmpl->setup;
-       }
-
-       /**
-        * Returns the TypoScript configuration found in plugin.tx_yourextension_yourplugin
-        * merged with the global configuration of your extension from plugin.tx_yourextension
-        *
-        * @param string $extensionName
-        * @param string $pluginName
-        * @return array
-        */
-       protected function getPluginConfiguration($extensionName, $pluginName) {
-               $setup = $this->getTypoScriptSetup();
-               $pluginConfiguration = array();
-               if (is_array($setup['plugin.']['tx_' . strtolower($extensionName) . '.'])) {
-                       $pluginConfiguration = Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['plugin.']['tx_' . strtolower($extensionName) . '.']);
-               }
-               $pluginSignature = strtolower($extensionName . '_' . $pluginName);
-               if (is_array($setup['plugin.']['tx_' . $pluginSignature . '.'])) {
-                       $pluginConfiguration = t3lib_div::array_merge_recursive_overrule($pluginConfiguration, Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($setup['plugin.']['tx_' . $pluginSignature . '.']));
-               }
-               return $pluginConfiguration;
-       }
-
-       /**
-        * Returns the configured controller/action pairs of the specified plugin in the format
-        * array(
-        *  'Controller1' => array('action1', 'action2'),
-        *  'Controller2' => array('action3', 'action4')
-        * )
-        *
-        * @param string $extensionName
-        * @param string $pluginName
-        * @return array
-        */
-       protected function getSwitchableControllerActions($extensionName, $pluginName) {
-               $switchableControllerActions = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['controllers'];
-               if (!is_array($switchableControllerActions)) {
-                       $switchableControllerActions = array();
-               }
-               return $switchableControllerActions;
-       }
-
-       /**
-        * Get context specific framework configuration.
-        * - Overrides storage PID with setting "Startingpoint"
-        * - merge flexform configuration, if needed
-        *
-        * @param array $frameworkConfiguration The framework configuration to modify
-        * @return array the modified framework configuration
-        */
-       protected function getContextSpecificFrameworkConfiguration(array $frameworkConfiguration) {
-               $frameworkConfiguration = $this->overrideStoragePidIfStartingPointIsSet($frameworkConfiguration);
-               $frameworkConfiguration = $this->overrideConfigurationFromPlugin($frameworkConfiguration);
-               $frameworkConfiguration = $this->overrideConfigurationFromFlexform($frameworkConfiguration);
-
-               return $frameworkConfiguration;
-       }
-
-       /**
-        * Overrides the storage PID settings, in case the "Startingpoint" settings
-        * is set in the plugin configuration.
-        *
-        * @param array $frameworkConfiguration the framework configurations
-        * @return array the framework configuration with overriden storagePid
-        */
-       protected function overrideStoragePidIfStartingPointIsSet(array $frameworkConfiguration) {
-               $pages = $this->contentObject->data['pages'];
-               if (is_string($pages) && strlen($pages) > 0) {
-                       $list = array();
-                       if($this->contentObject->data['recursive'] > 0) {
-                               $explodedPages = t3lib_div::trimExplode(',', $pages);
-                               foreach($explodedPages as $pid) {
-                                       $list[] = trim($this->contentObject->getTreeList($pid, $this->contentObject->data['recursive']), ',');
-                               }
-                       }
-                       if (count($list) > 0) {
-                               $pages = $pages . ',' . implode(',', $list);
-                       }
-                       $frameworkConfiguration = t3lib_div::array_merge_recursive_overrule($frameworkConfiguration, array(
-                               'persistence' => array(
-                                       'storagePid' => $pages
-                               )
-                       ));
-               }
-               return $frameworkConfiguration;
-       }
-
-       /**
-        * Overrides configuration settings from the plugin typoscript (plugin.tx_myext_pi1.)
-        *
-        * @param array the framework configuration
-        * @return array the framework configuration with overridden data from typoscript
-        */
-       protected function overrideConfigurationFromPlugin(array $frameworkConfiguration) {
-               $setup = $this->getTypoScriptSetup();
-               $pluginSignature = strtolower($frameworkConfiguration['extensionName'] . '_' . $frameworkConfiguration['pluginName']);
-               $pluginConfiguration = $setup['plugin.']['tx_' . $pluginSignature . '.'];
-               if (is_array($pluginConfiguration)) {
-                       $pluginConfiguration = Tx_Extbase_Utility_TypoScript::convertTypoScriptArrayToPlainArray($pluginConfiguration);
-                       $frameworkConfiguration = $this->mergeConfigurationIntoFrameworkConfiguration($frameworkConfiguration, $pluginConfiguration, 'settings');
-                       $frameworkConfiguration = $this->mergeConfigurationIntoFrameworkConfiguration($frameworkConfiguration, $pluginConfiguration, 'persistence');
-                       $frameworkConfiguration = $this->mergeConfigurationIntoFrameworkConfiguration($frameworkConfiguration, $pluginConfiguration, 'view');
-               }
-               return $frameworkConfiguration;
-       }
-
-       /**
-        * Overrides configuration settings from flexforms.
-        * This merges the whole flexform data, and overrides switchable controller actions.
-        *
-        * @param array the framework configuration
-        * @return array the framework configuration with overridden data from flexform
-        */
-       protected function overrideConfigurationFromFlexform(array $frameworkConfiguration) {
-               if (strlen($this->contentObject->data['pi_flexform']) > 0) {
-                       $flexformConfiguration = $this->convertFlexformContentToArray($this->contentObject->data['pi_flexform']);
-
-                       $frameworkConfiguration = $this->mergeConfigurationIntoFrameworkConfiguration($frameworkConfiguration, $flexformConfiguration, 'settings');
-                       $frameworkConfiguration = $this->mergeConfigurationIntoFrameworkConfiguration($frameworkConfiguration, $flexformConfiguration, 'persistence');
-                       $frameworkConfiguration = $this->mergeConfigurationIntoFrameworkConfiguration($frameworkConfiguration, $flexformConfiguration, 'view');
-
-                       $frameworkConfiguration = $this->overrideSwitchableControllerActionsFromFlexform($frameworkConfiguration, $flexformConfiguration);
-               }
-               return $frameworkConfiguration;
-       }
-
-       /**
-        * Parses the FlexForm content and converts it to an array
-        * The resulting array will be multi-dimensional, as a value "bla.blubb"
-        * results in two levels, and a value "bla.blubb.bla" results in three levels.
-        *
-        * Note: multi-language FlexForms are not supported yet
-        *
-        * @param string $flexFormContent FlexForm xml string
-        * @return array the processed array
-        */
-       protected function convertFlexformContentToArray($flexFormContent) {
-               $settings = array();
-               $languagePointer = 'lDEF';
-               $valuePointer = 'vDEF';
-
-               $flexFormArray = t3lib_div::xml2array($flexFormContent);
-               $flexFormArray = isset($flexFormArray['data']) ? $flexFormArray['data'] : array();
-               foreach(array_values($flexFormArray) as $languages) {
-                       if (!is_array($languages[$languagePointer])) {
-                               continue;
-                       }
-
-                       foreach($languages[$languagePointer] as $valueKey => $valueDefinition) {
-                               if (strpos($valueKey, '.') === false) {
-                                       $settings[$valueKey] = $this->walkFlexformNode($valueDefinition, $valuePointer);
-                               } else {
-                                       $valueKeyParts = explode('.', $valueKey);
-                                       $currentNode =& $settings;
-                                       foreach ($valueKeyParts as $valueKeyPart) {
-                                               $currentNode =& $currentNode[$valueKeyPart];
-                                       }
-                                       if (is_array($valueDefinition)) {
-                                               if (array_key_exists($valuePointer, $valueDefinition)) {
-                                                       $currentNode = $valueDefinition[$valuePointer];
-                                               } else {
-                                                       $currentNode = $this->walkFlexformNode($valueDefinition, $valuePointer);
-                                               }
-                                       } else {
-                                               $currentNode = $valueDefinition;
-                                       }
-                               }
-                       }
-               }
-               return $settings;
-       }
-
-       /**
-        * Parses a flexform node recursively and takes care of sections etc
-        * @param array $nodeArray The flexform node to parse
-        * @param string $valuePointer The valuePointer to use for value retrieval
-        */
-       protected function walkFlexformNode($nodeArray, $valuePointer = 'vDEF') {
-               if (is_array($nodeArray)) {
-                       $return = array();
-
-                       foreach ($nodeArray as $nodeKey => $nodeValue) {
-                               if ($nodeKey === $valuePointer) {
-                                       return $nodeValue;      
-                               }
-
-                               if (in_array($nodeKey, array('el', '_arrayContainer'))) {
-                                       return $this->walkFlexformNode($nodeValue, $valuePointer);
-                               }
-
-                               if (substr($nodeKey, 0, 1) === '_') {
-                                       continue;
-                               }
-
-                               if (strpos($nodeKey, '.')) {
-                                       $nodeKeyParts = explode('.', $nodeKey);
-                                       $currentNode =& $return;
-                                       for ($i = 0; $i < count($nodeKeyParts) - 1; $i++) {
-                                               $currentNode =& $currentNode[$nodeKeyParts[$i]];
-                                       }
-                                       $newNode = array(next($nodeKeyParts) => $nodeValue);
-                                       $currentNode = $this->walkFlexformNode($newNode, $valuePointer);
-                               } else if (is_array($nodeValue)) {
-                                       if (array_key_exists($valuePointer, $nodeValue)) {
-                                               $return[$nodeKey] = $nodeValue[$valuePointer];
-                                       } else {
-                                               $return[$nodeKey] = $this->walkFlexformNode($nodeValue, $valuePointer);
-                                       }
-                               } else {
-                                       $return[$nodeKey] = $nodeValue;
-                               }
-                       }
-                       return $return;
-               }
-
-               return $nodeArray;
-       }
-
-       /**
-        * Merge a configuration into the framework configuration.
-        *
-        * @param array $frameworkConfiguration the framework configuration to merge the data on
-        * @param array $configuration The configuration
-        * @param string $configurationPartName The name of the configuration part which should be merged.
-        * @return array the processed framework configuration
-        */
-       protected function mergeConfigurationIntoFrameworkConfiguration(array $frameworkConfiguration, array $configuration, $configurationPartName) {
-               if (is_array($frameworkConfiguration[$configurationPartName]) && is_array($configuration[$configurationPartName])) {
-                       $frameworkConfiguration[$configurationPartName] = t3lib_div::array_merge_recursive_overrule($frameworkConfiguration[$configurationPartName], $configuration[$configurationPartName]);
-               }
-               return $frameworkConfiguration;
-       }
-
-       /**
-        * Overrides the switchable controller actions from the flexform.
-        *
-        * @param array $frameworkConfiguration The original framework configuration
-        * @param array $flexformConfiguration The full flexform configuration
-        * @return array the modified framework configuration, if needed
-        */
-       protected function overrideSwitchableControllerActionsFromFlexform(array $frameworkConfiguration, array $flexformConfiguration) {
-               if (!isset($flexformConfiguration['switchableControllerActions']) || is_array($flexformConfiguration['switchableControllerActions'])) {
-                       return $frameworkConfiguration;
-               }
-
-                       // As "," is the flexform field value delimiter, we need to use ";" as in-field delimiter. That's why we need to replace ; by  , first.
-                       // The expected format is: "Controller1->action2;Controller2->action3;Controller2->action1"
-               $switchableControllerActionPartsFromFlexform = t3lib_div::trimExplode(',', str_replace(';', ',', $flexformConfiguration['switchableControllerActions']), TRUE);
-
-               $newSwitchableControllerActionsFromFlexform = array();
-               foreach ($switchableControllerActionPartsFromFlexform as $switchableControllerActionPartFromFlexform) {
-                       list($controller, $action) = t3lib_div::trimExplode('->', $switchableControllerActionPartFromFlexform);
-                       if (empty($controller) || empty($action)) {
-                               throw new Tx_Extbase_Configuration_Exception_ParseError('Controller or action were empty when overriding switchableControllerActions from flexform.', 1257146403);
-                       }
-                       $newSwitchableControllerActionsFromFlexform[$controller][] = $action;
-               }
-               if (count($newSwitchableControllerActionsFromFlexform) > 0) {
-                       $this->overrideSwitchableControllerActions($frameworkConfiguration, $newSwitchableControllerActionsFromFlexform);
-               }
-               return $frameworkConfiguration;
-       }
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Core/Bootstrap.php b/typo3/sysext/extbase/Classes/Core/Bootstrap.php
deleted file mode 100644 (file)
index a1572cf..0000000
+++ /dev/null
@@ -1,316 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2010 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * Creates a request an dispatches it to the controller which was specified
- * by TS Setup, Flexform and returns the content to the v4 framework.
- *
- * This class is the main entry point for extbase extensions.
- *
- * @package Extbase
- * @version $ID:$
- */
-class Tx_Extbase_Core_Bootstrap {
-
-       /**
-        * Back reference to the parent content object
-        * This has to be public as it is set directly from TYPO3
-        *
-        * @var tslib_cObj
-        */
-       public $cObj;
-
-       /**
-        * The application context
-        * @var string
-        */
-       protected $context;
-
-       /**
-        * @var Tx_Extbase_Configuration_ConfigurationManager
-        */
-       protected $configurationManager;
-
-       /**
-        * @var Tx_Extbase_Object_ObjectManagerInterface
-        */
-       protected $objectManager;
-
-       /**
-        * @var t3lib_cache_Manager
-        */
-       protected $cacheManager;
-
-       /**
-        * @var Tx_Extbase_Reflection_Service
-        */
-       protected $reflectionService;
-
-       /**
-        * @var Tx_Extbase_Persistence_Manager
-        */
-       protected $persistenceManager;
-
-       /**
-        * @var boolean
-        */
-       protected $isInitialized = FALSE;
-
-       /**
-        * Explicitly initializes all necessary Extbase objects by invoking the various initialize* methods.
-        *
-        * Usually this method is only called from unit tests or other applications which need a more fine grained control over
-        * the initialization and request handling process. Most other applications just call the run() method.
-        *
-        * @param array $configuration The TS configuration array
-        * @return void
-        * @see run()
-        * @api
-        */
-       public function initialize($configuration) {
-               if (!isset($configuration['extensionName']) || strlen($configuration['extensionName']) === 0) {
-                       throw new RuntimeException('Invalid configuration: "extensionName" is not set', 1290623020);
-               }
-               if (!isset($configuration['pluginName']) || strlen($configuration['pluginName']) === 0) {
-                       throw new RuntimeException('Invalid configuration: "pluginName" is not set', 1290623027);
-               }
-               $this->initializeClassLoader();
-               $this->initializeObjectManager();
-               $this->initializeConfiguration($configuration);
-               $this->configureObjectManager();
-               $this->initializeCache();
-               $this->initializeReflection();
-               $this->initializePersistence();
-               $this->initializeBackwardsCompatibility();
-               $this->isInitialized = TRUE;
-       }
-
-       /**
-        * Initializes the autoload mechanism of Extbase. This is supplement to the core autoloader.
-        *
-        * @return void
-        * @see initialize()
-        */
-       protected function initializeClassLoader() {
-               if (!class_exists('Tx_Extbase_Utility_ClassLoader', FALSE)) {
-                       require(t3lib_extmgm::extPath('extbase') . 'Classes/Utility/ClassLoader.php');
-               }
-
-               $classLoader = new Tx_Extbase_Utility_ClassLoader();
-               spl_autoload_register(array($classLoader, 'loadClass'));
-       }
-
-       /**
-        * Initializes the Object framework.
-        *
-        * @return void
-        * @see initialize()
-        */
-       protected function initializeObjectManager() {
-               $this->objectManager = t3lib_div::makeInstance('Tx_Extbase_Object_ObjectManager');
-       }
-
-       /**
-        * Initializes the Object framework.
-        *
-        * @return void
-        * @see initialize()
-        */
-       public function initializeConfiguration($configuration) {
-               $this->configurationManager = $this->objectManager->get('Tx_Extbase_Configuration_ConfigurationManagerInterface');
-               $contentObject = isset($this->cObj) ? $this->cObj : t3lib_div::makeInstance('tslib_cObj');
-               $this->configurationManager->setContentObject($contentObject);
-               $this->configurationManager->setConfiguration($configuration);
-       }
-
-       /**
-        * Configures the object manager object configuration from
-        * config.tx_extbase.objects
-        *
-        * @return void
-        * @see initialize()
-        */
-       public function configureObjectManager() {
-               $typoScriptSetup = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT);
-               if (!is_array($typoScriptSetup['config.']['tx_extbase.']['objects.'])) {
-                       return;
-               }
-               $objectContainer = t3lib_div::makeInstance('Tx_Extbase_Object_Container_Container');
-               foreach ($typoScriptSetup['config.']['tx_extbase.']['objects.'] as $classNameWithDot => $classConfiguration) {
-                       if (isset($classConfiguration['className'])) {
-                               $originalClassName = rtrim($classNameWithDot, '.');
-                               $objectContainer->registerImplementation($originalClassName, $classConfiguration['className']);
-                       }
-               }
-       }
-
-       /**
-        * Initializes the cache framework
-        *
-        * @return void
-        * @see initialize()
-        */
-       protected function initializeCache() {
-               t3lib_cache::initializeCachingFramework();
-               $this->cacheManager = $GLOBALS['typo3CacheManager'];
-               try {
-                       $this->cacheManager->getCache('cache_extbase_reflection');
-               } catch (t3lib_cache_exception_NoSuchCache $exception) {
-                       $GLOBALS['typo3CacheFactory']->create(
-                               'cache_extbase_reflection',
-                               $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['cache_extbase_reflection']['frontend'],
-                               $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['cache_extbase_reflection']['backend'],
-                               $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['cache_extbase_reflection']['options']
-                       );
-               }
-       }
-
-       /**
-        * Initializes the Reflection Service
-        *
-        * @return void
-        * @see initialize()
-        */
-       protected function initializeReflection() {
-               $this->reflectionService = $this->objectManager->get('Tx_Extbase_Reflection_Service');
-               $this->reflectionService->setDataCache($this->cacheManager->getCache('cache_extbase_reflection'));
-               if (!$this->reflectionService->isInitialized()) {
-                       $this->reflectionService->initialize();
-               }
-       }
-
-       /**
-        * Initializes the persistence framework
-        *
-        * @return void
-        * @see initialize()
-        */
-       public function initializePersistence() {
-               $this->persistenceManager = $this->objectManager->get('Tx_Extbase_Persistence_Manager'); // singleton
-       }
-
-       /**
-        * Initializes the backwards compatibility. This is necessary because the
-        * old Dispatcher provided several static methods.
-        *
-        * @return void
-        * @see initialize()
-        */
-       protected function initializeBackwardsCompatibility() {
-               $dispatcher = t3lib_div::makeInstance('Tx_Extbase_Dispatcher');
-               $dispatcher->injectConfigurationManager($this->configurationManager);
-               $dispatcher->injectPersistenceManager($this->persistenceManager);
-       }
-
-       /**
-        * Runs the the Extbase Framework by resolving an appropriate Request Handler and passing control to it.
-        * If the Framework is not initialized yet, it will be initialized.
-        *
-        * @param string $content The content
-        * @param array $configuration The TS configuration array
-        * @return string $content The processed content
-        * @api
-        */
-       public function run($content, $configuration) {
-               //var_dump(Tx_Extbase_Utility_Extension::createAutoloadRegistryForExtension('extbase', t3lib_extMgm::extPath('extbase'), array(
-               //      'tx_extbase_basetestcase' => '$extensionClassesPath . \'../Tests/BaseTestCase.php\'',
-               //      'tx_extbase_tests_unit_basetestcase' => '$extensionClassesPath . \'../Tests/Unit/BaseTestCase.php\'',
-               //)));
-               //die("autoload registry");
-
-               $this->initialize($configuration);
-
-               $requestHandlerResolver = $this->objectManager->get('Tx_Extbase_MVC_RequestHandlerResolver');
-               $requestHandler = $requestHandlerResolver->resolveRequestHandler();
-
-               $response = $requestHandler->handleRequest();
-
-               // If response is NULL after handling the request we need to stop
-               // This happens for instance, when a USER object was converted to a USER_INT
-               // @see Tx_Extbase_MVC_Web_FrontendRequestHandler::handleRequest()
-               if ($response === NULL) {
-                       $this->reflectionService->shutdown();
-                       return;
-               }
-               if (count($response->getAdditionalHeaderData()) > 0) {
-                       $GLOBALS['TSFE']->additionalHeaderData[] = implode(chr(10), $response->getAdditionalHeaderData());
-               }
-               $response->sendHeaders();
-               $content = $response->getContent();
-
-               $this->resetSingletons();
-               return $content;
-       }
-
-       /**
-        * Resets global singletons for the next plugin
-        *
-        * @return void
-        */
-       protected function resetSingletons() {
-               $this->persistenceManager->persistAll();
-               $this->reflectionService->shutdown();
-       }
-
-        /**
-         * This method forwards the call to run(). This method is invoked by the mod.php
-         * function of TYPO3.
-         *
-         * @param string $moduleSignature
-         * @return boolean TRUE, if the request request could be dispatched
-         * @see run()
-         **/
-       public function callModule($moduleSignature) {
-               if (!isset($GLOBALS['TBE_MODULES']['_configuration'][$moduleSignature])) {
-                       return FALSE;
-               }
-               $moduleConfiguration = $GLOBALS['TBE_MODULES']['_configuration'][$moduleSignature];
-
-               // Check permissions and exit if the user has no permission for entry
-               $GLOBALS['BE_USER']->modAccess($moduleConfiguration, TRUE);
-               if (t3lib_div::_GP('id')) {
-                       // Check page access
-                       $permClause = $GLOBALS['BE_USER']->getPagePermsClause(TRUE);
-                       $access = is_array(t3lib_BEfunc::readPageAccess((integer)t3lib_div::_GP('id'), $permClause));
-                       if (!$access) {
-                               throw new RuntimeException('You don\'t have access to this page', 1289917924);
-                       }
-               }
-
-               // BACK_PATH is the path from the typo3/ directory from within the
-               // directory containing the controller file. We are using mod.php dispatcher
-               // and thus we are already within typo3/ because we call typo3/mod.php
-               $GLOBALS['BACK_PATH'] = '';
-
-               $configuration = array(
-                       'extensionName' => $moduleConfiguration['extensionName'],
-                       'pluginName' => $moduleSignature
-               );
-               $content = $this->run('', $configuration);
-
-               print $content;
-               return TRUE;
-       }
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Dispatcher.php b/typo3/sysext/extbase/Classes/Dispatcher.php
deleted file mode 100644 (file)
index d888046..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * This class was the main entry point for extbase extensions before v1.3.0. It was replaced by the class
- * Tx_Extbase_Bootstrap in combination with the class Tx_Extbase_MVC_Dispatcher to separate responsibilities.
- *
- * The use of static functions is deprecated since 1.3.0 and will be removed in 1.5.0.
- *
- * @package Extbase
- * @version $ID:$
- * @deprecated since Extbase 1.3.0; will be removed in Extbase 1.5.0
- * @see Tx_Extbase_Bootstrap, Tx_Extbase_MVC_Dispatcher
- */
-class Tx_Extbase_Dispatcher {
-
-       /**
-        * @var Tx_Extbase_Configuration_ConfigurationManagerInterface
-        */
-       protected static $configurationManager;
-
-       /**
-        * @var Tx_Extbase_Persistence_Manager
-        */
-       protected static $persistenceManager;
-
-       /**
-        * Injects the Configuration Manager
-        *
-        * @param Tx_Extbase_Configuration_ConfigurationManagerInterface An instance of the Configuration Manager
-        * @return void
-        */
-       public function injectConfigurationManager(Tx_Extbase_Configuration_ConfigurationManagerInterface $configurationManager) {
-               self::$configurationManager = $configurationManager;
-       }
-
-       /**
-        * Injects the Persistence Manager
-        *
-        * @param Tx_Extbase_Persistence_Manager An instance of the Persistence Manager
-        * @return void
-        */
-       public function injectPersistenceManager(Tx_Extbase_Persistence_Manager $persistenceManager) {
-               self::$persistenceManager = $persistenceManager;
-       }
-
-       /**
-        * Returns the Configuration Manager.
-        *
-        * @return Tx_Extbase_Configuration_Manager An instance of the Configuration Manager
-        * @deprecated since Extbase 1.3.0; will be removed in Extbase 1.5.0
-        */
-       static public function getConfigurationManager() {
-               t3lib_div::logDeprecatedFunction();
-               return self::$configurationManager;
-       }
-
-       /**
-        * Returns the Persistance Manager
-        *
-        * @return Tx_Extbase_Persistence_Manager An instance of the Persistence Manager
-        * @deprecated since Extbase 1.3.0; will be removed in Extbase 1.5.0
-        */
-       static public function getPersistenceManager() {
-               t3lib_div::logDeprecatedFunction();
-               return self::$persistenceManager;
-       }
-
-       /**
-        * Returns the settings of Extbase
-        *
-        * @return array The configuration for the Extbase framework
-        * @deprecated since Extbase 1.3.0; will be removed in Extbase 1.5.0
-        */
-       static public function getExtbaseFrameworkConfiguration() {
-               t3lib_div::logDeprecatedFunction();
-               return self::$configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
-       }
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Domain/Model/FrontendUser.php b/typo3/sysext/extbase/Classes/Domain/Model/FrontendUser.php
deleted file mode 100644 (file)
index dd0ce22..0000000
+++ /dev/null
@@ -1,632 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * A Frontend User
- *
- * @package Extbase
- * @subpackage Domain\Model
- * @version $Id: FrontendUser.php 1949 2010-03-04 06:40:56Z jocrau $
- * @scope prototype
- * @entity
- * @api
- */
-class Tx_Extbase_Domain_Model_FrontendUser extends Tx_Extbase_DomainObject_AbstractEntity {
-
-       /**
-        * @var string
-        */
-       protected $username;
-
-       /**
-        * @var string
-        */
-       protected $password;
-
-       /**
-        * @var Tx_Extbase_Persistence_ObjectStorage<Tx_Extbase_Domain_Model_FrontendUserGroup>
-        */
-       protected $usergroup;
-
-       /**
-        * @var string
-        */
-       protected $name;
-
-       /**
-        * @var string
-        */
-       protected $firstName;
-
-       /**
-        * @var string
-        */
-       protected $middleName;
-
-       /**
-        * @var string
-        */
-       protected $lastName;
-
-       /**
-        * @var string
-        */
-       protected $address = '';
-
-       /**
-        * @var string
-        */
-       protected $telephone = '';
-
-       /**
-        * @var string
-        */
-       protected $fax = '';
-
-       /**
-        * @var string
-        */
-       protected $email = '';
-
-       /**
-        * @var string
-        */
-       protected $lockToDomain = '';
-
-       /**
-        * @var string
-        */
-       protected $title = '';
-
-       /**
-        * @var string
-        */
-       protected $zip = '';
-
-       /**
-        * @var string
-        */
-       protected $city = '';
-
-       /**
-        * @var string
-        */
-       protected $country = '';
-
-       /**
-        * @var string
-        */
-       protected $www = '';
-
-       /**
-        * @var string
-        */
-       protected $company = '';
-
-       /**
-        * @var string
-        */
-       protected $image = '';
-
-       /**
-        * @var DateTime
-        */
-       protected $lastlogin = '';
-
-       /**
-        * @var DateTime
-        */
-       protected $isOnline = '';
-
-       /**
-        * Constructs a new Front-End User
-        *
-        * @api
-        */
-       public function __construct($username = '', $password = '') {
-               $this->username = $username;
-               $this->password = $password;
-               $this->usergroup = new Tx_Extbase_Persistence_ObjectStorage();
-       }
-
-       /**
-        * Sets the username value
-        *
-        * @param string $username
-        * @return void
-        * @api
-        */
-       public function setUsername($username) {
-               $this->username = $username;
-       }
-
-       /**
-        * Returns the username value
-        *
-        * @return string
-        * @api
-        */
-       public function getUsername() {
-               return $this->username;
-       }
-
-       /**
-        * Sets the password value
-        *
-        * @param string $password
-        * @return void
-        * @api
-        */
-       public function setPassword($password) {
-               $this->password = $password;
-       }
-
-       /**
-        * Returns the password value
-        *
-        * @return string
-        * @api
-        */
-       public function getPassword() {
-               return $this->password;
-       }
-
-       /**
-        * Sets the usergroups. Keep in mind that the property is called "usergroup"
-        * although it can hold several usergroups.
-        *
-        * @param Tx_Extbase_Persistence_ObjectStorage<Tx_Extbase_Domain_Model_FrontendUserGroup> $usergroup An object storage containing the usergroups to add
-        * @return void
-        * @api
-        */
-       public function setUsergroup(Tx_Extbase_Persistence_ObjectStorage $usergroup) {
-               $this->usergroup = $usergroup;
-       }
-
-       /**
-        * Adds a usergroup to the frontend user
-        *
-        * @param Tx_Extbase_Domain_Model_FrontendUserGroup $usergroup
-        * @return void
-        * @api
-        */
-       public function addUsergroup(Tx_Extbase_Domain_Model_FrontendUserGroup $usergroup) {
-               $this->usergroup->attach($usergroup);
-       }
-
-       /**
-        * Removes a usergroup from the frontend user
-        *
-        * @param Tx_Extbase_Domain_Model_FrontendUserGroup $usergroup
-        * @return void
-        * @api
-        */
-       public function removeUsergroup(Tx_Extbase_Domain_Model_FrontendUserGroup $usergroup) {
-               $this->usergroup->detach($usergroup);
-       }
-
-       /**
-        * Returns the usergroups. Keep in mind that the property is called "usergroup"
-        * although it can hold several usergroups.
-        *
-        * @return Tx_Extbase_Persistence_ObjectStorage An object storage containing the usergroup
-        * @api
-        * @deprecated since Extbase 1.3.0; will be removed in Extbase 1.5.0 - use Tx_Extbase_Domain_Model_FrontendUser::getUsergroup() instead
-        */
-       public function getUsergroups() {
-               t3lib_div::logDeprecatedFunction();
-               return $this->usergroup;
-       }
-
-       /**
-        * Returns the usergroups. Keep in mind that the property is called "usergroup"
-        * although it can hold several usergroups.
-        *
-        * @return Tx_Extbase_Persistence_ObjectStorage An object storage containing the usergroup
-        * @api
-        */
-       public function getUsergroup() {
-               return $this->usergroup;
-       }
-
-       /**
-        * Sets the name value
-        *
-        * @param string $name
-        * @return void
-        * @api
-        */
-       public function setName($name) {
-               $this->name = $name;
-       }
-
-       /**
-        * Returns the name value
-        *
-        * @return string
-        * @api
-        */
-       public function getName() {
-               return $this->name;
-       }
-
-       /**
-        * Sets the firstName value
-        *
-        * @param string $firstName
-        * @return void
-        * @api
-        */
-       public function setFirstName($firstName) {
-               $this->firstName = $firstName;
-       }
-
-       /**
-        * Returns the firstName value
-        *
-        * @return string
-        * @api
-        */
-       public function getFirstName() {
-               return $this->firstName;
-       }
-
-       /**
-        * Sets the middleName value
-        *
-        * @param string $middleName
-        * @return void
-        * @api
-        */
-       public function setMiddleName($middleName) {
-               $this->middleName = $middleName;
-       }
-
-       /**
-        * Returns the middleName value
-        *
-        * @return string
-        * @api
-        */
-       public function getMiddleName() {
-               return $this->middleName;
-       }
-
-       /**
-        * Sets the lastName value
-        *
-        * @param string $lastName
-        * @return void
-        * @api
-        */
-       public function setLastName($lastName) {
-               $this->lastName = $lastName;
-       }
-
-       /**
-        * Returns the lastName value
-        *
-        * @return string
-        * @api
-        */
-       public function getLastName() {
-               return $this->lastName;
-       }
-
-       /**
-        * Sets the address value
-        *
-        * @param string $address
-        * @return void
-        * @api
-        */
-       public function setAddress($address) {
-               $this->address = $address;
-       }
-
-       /**
-        * Returns the address value
-        *
-        * @return string
-        * @api
-        */
-       public function getAddress() {
-               return $this->address;
-       }
-
-       /**
-        * Sets the telephone value
-        *
-        * @param string $telephone
-        * @return void
-        * @api
-        */
-       public function setTelephone($telephone) {
-               $this->telephone = $telephone;
-       }
-
-       /**
-        * Returns the telephone value
-        *
-        * @return string
-        * @api
-        */
-       public function getTelephone() {
-               return $this->telephone;
-       }
-
-       /**
-        * Sets the fax value
-        *
-        * @param string $fax
-        * @return void
-        * @api
-        */
-       public function setFax($fax) {
-               $this->fax = $fax;
-       }
-
-       /**
-        * Returns the fax value
-        *
-        * @return string
-        * @api
-        */
-       public function getFax() {
-               return $this->fax;
-       }
-
-       /**
-        * Sets the email value
-        *
-        * @param string $email
-        * @return void
-        * @api
-        */
-       public function setEmail($email) {
-               $this->email = $email;
-       }
-
-       /**
-        * Returns the email value
-        *
-        * @return string
-        * @api
-        */
-       public function getEmail() {
-               return $this->email;
-       }
-
-       /**
-        * Sets the lockToDomain value
-        *
-        * @param string $lockToDomain
-        * @return void
-        * @api
-        */
-       public function setLockToDomain($lockToDomain) {
-               $this->lockToDomain = $lockToDomain;
-       }
-
-       /**
-        * Returns the lockToDomain value
-        *
-        * @return string
-        * @api
-        */
-       public function getLockToDomain() {
-               return $this->lockToDomain;
-       }
-
-       /**
-        * Sets the title value
-        *
-        * @param string $title
-        * @return void
-        * @api
-        */
-       public function setTitle($title) {
-               $this->title = $title;
-       }
-
-       /**
-        * Returns the title value
-        *
-        * @return string
-        * @api
-        */
-       public function getTitle() {
-               return $this->title;
-       }
-
-       /**
-        * Sets the zip value
-        *
-        * @param string $zip
-        * @return void
-        * @api
-        */
-       public function setZip($zip) {
-               $this->zip = $zip;
-       }
-
-       /**
-        * Returns the zip value
-        *
-        * @return string
-        * @api
-        */
-       public function getZip() {
-               return $this->zip;
-       }
-
-       /**
-        * Sets the city value
-        *
-        * @param string $city
-        * @return void
-        * @api
-        */
-       public function setCity($city) {
-               $this->city = $city;
-       }
-
-       /**
-        * Returns the city value
-        *
-        * @return string
-        * @api
-        */
-       public function getCity() {
-               return $this->city;
-       }
-
-       /**
-        * Sets the country value
-        *
-        * @param string $country
-        * @return void
-        * @api
-        */
-       public function setCountry($country) {
-               $this->country = $country;
-       }
-
-       /**
-        * Returns the country value
-        *
-        * @return string
-        * @api
-        */
-       public function getCountry() {
-               return $this->country;
-       }
-
-       /**
-        * Sets the www value
-        *
-        * @param string $www
-        * @return void
-        * @api
-        */
-       public function setWww($www) {
-               $this->www = $www;
-       }
-
-       /**
-        * Returns the www value
-        *
-        * @return string
-        * @api
-        */
-       public function getWww() {
-               return $this->www;
-       }
-
-       /**
-        * Sets the company value
-        *
-        * @param string $company
-        * @return void
-        * @api
-        */
-       public function setCompany($company) {
-               $this->company = $company;
-       }
-
-       /**
-        * Returns the company value
-        *
-        * @return string
-        * @api
-        */
-       public function getCompany() {
-               return $this->company;
-       }
-
-       /**
-        * Sets the image value
-        *
-        * @param string $image
-        * @return void
-        * @api
-        */
-       public function setImage($image) {
-               $this->image = $image;
-       }
-
-       /**
-        * Returns the image value
-        *
-        * @return string
-        * @api
-        */
-       public function getImage() {
-               return $this->image;
-       }
-
-       /**
-        * Sets the lastlogin value
-        *
-        * @param DateTime $lastlogin
-        * @return void
-        * @api
-        */
-       public function setLastlogin(DateTime $lastlogin) {
-               $this->lastlogin = $lastlogin;
-       }
-
-       /**
-        * Returns the lastlogin value
-        *
-        * @return DateTime
-        * @api
-        */
-       public function getLastlogin() {
-               return $this->lastlogin;
-       }
-
-       /**
-        * Sets the isOnline value
-        *
-        * @param DateTime $isOnline
-        * @return void
-        * @api
-        */
-       public function setIsOnline($isOnline) {
-               $this->isOnline = $isOnline;
-       }
-
-       /**
-        * Returns the isOnline value
-        *
-        * @return DateTime
-        * @api
-        */
-       public function getIsOnline() {
-               return $this->isOnline;
-       }
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Domain/Model/FrontendUserGroup.php b/typo3/sysext/extbase/Classes/Domain/Model/FrontendUserGroup.php
deleted file mode 100644 (file)
index 490e0c0..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * A Frontend User Group
- *
- * @package Extbase
- * @subpackage Domain\Model
- * @version $Id: FrontendUserGroup.php 2143 2010-03-30 09:28:26Z jocrau $
- * @scope prototype
- * @entity
- * @api
- */
-class Tx_Extbase_Domain_Model_FrontendUserGroup extends Tx_Extbase_DomainObject_AbstractEntity {
-
-       /**
-        * @var string
-        */
-       protected $title;
-
-       /**
-        * @var string
-        */
-       protected $lockToDomain;
-
-       /**
-        * @var string
-        */
-       protected $description;
-
-       /**
-        * @var Tx_Extbase_Persistence_ObjectStorage<Tx_Extbase_Domain_Model_FrontendUserGroup>
-        */
-       protected $subgroup;
-
-       /**
-        * Constructs a new Frontend User Group
-        *
-        */
-       public function __construct($title) {
-               $this->setTitle($title);
-               $this->subgroup = new Tx_Extbase_Persistence_ObjectStorage();
-       }
-
-       /**
-        * Sets the title value
-        *
-        * @param string $title
-        * @return void
-        * @api
-        */
-       public function setTitle($title) {
-               $this->title = $title;
-       }
-
-       /**
-        * Returns the title value
-        *
-        * @return string
-        * @api
-        */
-       public function getTitle() {
-               return $this->title;
-       }
-
-       /**
-        * Sets the lockToDomain value
-        *
-        * @param string $lockToDomain
-        * @return void
-        * @api
-        */
-       public function setLockToDomain($lockToDomain) {
-               $this->lockToDomain = $lockToDomain;
-       }
-
-       /**
-        * Returns the lockToDomain value
-        *
-        * @return string
-        * @api
-        */
-       public function getLockToDomain() {
-               return $this->lockToDomain;
-       }
-
-       /**
-        * Sets the description value
-        *
-        * @param string $description
-        * @return void
-        * @api
-        */
-       public function setDescription($description) {
-               $this->description = $description;
-       }
-
-       /**
-        * Returns the description value
-        *
-        * @return string
-        * @api
-        */
-       public function getDescription() {
-               return $this->description;
-       }
-
-       /**
-        * Sets the subgroups. Keep in mind that the property is called "subgroup"
-        * although it can hold several subgroups.
-        *
-        * @param Tx_Extbase_Persistence_ObjectStorage<Tx_Extbase_Domain_Model_FrontendUserGroup> $subgroup An object storage containing the subgroups to add
-        * @return void
-        * @api
-        */
-       public function setSubgroup(Tx_Extbase_Persistence_ObjectStorage $subgroup) {
-               $this->subgroup = $subgroup;
-       }
-
-       /**
-        * Adds a subgroup to the frontend user
-        *
-        * @param Tx_Extbase_Domain_Model_FrontendUserGroup $subgroup
-        * @return void
-        * @api
-        */
-       public function addSubgroup(Tx_Extbase_Domain_Model_FrontendUserGroup $subgroup) {
-               $this->subgroup->attach($subgroup);
-       }
-
-       /**
-        * Removes a subgroup from the frontend user group
-        *
-        * @param Tx_Extbase_Domain_Model_FrontendUserGroup $subgroup
-        * @return void
-        * @api
-        */
-       public function removeSubgroup(Tx_Extbase_Domain_Model_FrontendUserGroup $subgroup) {
-               $this->subgroup->detach($subgroup);
-       }
-
-       /**
-        * Returns the subgroups. Keep in mind that the property is called "subgroup"
-        * although it can hold several subgroups.
-        *
-        * @return Tx_Extbase_Persistence_ObjectStorage An object storage containing the subgroups
-        * @api
-        */
-       public function getSubgroup() {
-               return $this->subgroup;
-       }
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Domain/Repository/FrontendUserGroupRepository.php b/typo3/sysext/extbase/Classes/Domain/Repository/FrontendUserGroupRepository.php
deleted file mode 100644 (file)
index 57f4fea..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * A Frontend User Group Repository
- *
- * @package Extbase
- * @subpackage Domain\Repository
- * @version $Id: FrontendUserGroupRepository.php 1729 2009-11-25 21:37:20Z stucki $
- * @api
- */
-class Tx_Extbase_Domain_Repository_FrontendUserGroupRepository extends Tx_Extbase_Persistence_Repository {
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Domain/Repository/FrontendUserRepository.php b/typo3/sysext/extbase/Classes/Domain/Repository/FrontendUserRepository.php
deleted file mode 100644 (file)
index bd1326f..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * A Frontend User repository
- *
- * @package Extbase
- * @subpackage Domain\Repository
- * @version $Id: FrontendUserRepository.php 1729 2009-11-25 21:37:20Z stucki $
- * @api
- */
-class Tx_Extbase_Domain_Repository_FrontendUserRepository extends Tx_Extbase_Persistence_Repository {
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/DomainObject/AbstractDomainObject.php b/typo3/sysext/extbase/Classes/DomainObject/AbstractDomainObject.php
deleted file mode 100644 (file)
index 37d16a9..0000000
+++ /dev/null
@@ -1,335 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * A generic Domain Object.
- *
- * All Model domain objects need to inherit from either AbstractEntity or AbstractValueObject, as this provides important framework information.
- *
- * @package Extbase
- * @subpackage DomainObject
- * @version $ID:$
- */
-abstract class Tx_Extbase_DomainObject_AbstractDomainObject implements Tx_Extbase_DomainObject_DomainObjectInterface, Tx_Extbase_Persistence_ObjectMonitoringInterface {
-
-       /**
-        * @var int The uid of the record. The uid is only unique in the context of the database table.
-        */
-       protected $uid;
-
-       /**
-        * @var int The uid of the localized record. In TYPO3 v4.x the property "uid" holds the uid of the record in default language (the translationOrigin).
-        */
-       protected $_localizedUid;
-
-       /**
-        * @var int The uid of the language of the object. In TYPO3 v4.x this is the uid of the language record in the table sys_language.
-        */
-       protected $_languageUid;
-
-       /**
-        * @var int The id of the page the record is "stored".
-        */
-       protected $pid;
-
-       /**
-        * TRUE if the object is a clone
-        * @var boolean
-        */
-       private $_isClone = FALSE;
-
-       /**
-        * @var An array holding the clean property values. Set right after reconstitution of the object
-        */
-       private $_cleanProperties;
-
-       /**
-        * This is the magic __wakeup() method. It's invoked by the unserialize statement in the reconstitution process
-        * of the object. If you want to implement your own __wakeup() method in your Domain Object you have to call
-        * parent::__wakeup() first!
-        *
-        * @return void
-        */
-       public function __wakeup() {
-               $this->initializeObject();
-       }
-
-       public function initializeObject() {
-       }
-
-       /**
-        * Getter for uid.
-        *
-        * @return int the uid or NULL if none set yet.
-        */
-       final public function getUid() {
-               if ($this->uid !== NULL) {
-                       return (int)$this->uid;
-               } else {
-                       return NULL;
-               }
-       }
-
-       /**
-        * Setter for the pid.
-        *
-        * @return void
-        */
-       public function setPid($pid) {
-               if ($pid === NULL) {
-                       $this->pid = NULL;
-               } else {
-                       $this->pid = (int)$pid;
-               }
-       }
-
-       /**
-        * Getter for the pid.
-        *
-        * @return int The pid or NULL if none set yet.
-        */
-       public function getPid() {
-               if ($this->pid === NULL) {
-                       return NULL;
-               } else {
-                       return (int)$this->pid;
-               }
-       }
-       
-       /**
-        * Reconstitutes a property. Only for internal use.
-        *
-        * @param string $propertyName
-        * @param string $value
-        * @return void
-        */
-       public function _setProperty($propertyName, $propertyValue) {
-               if ($this->_hasProperty($propertyName)) {
-                       $this->$propertyName = $propertyValue;
-                       return TRUE;
-               }
-               return FALSE;
-       }
-
-       /**
-        * Returns the property value of the given property name. Only for internal use.
-        *
-        * @return mixed The propertyValue
-        */
-       public function _getProperty($propertyName) {
-               return $this->$propertyName;
-       }
-
-       /**
-        * Returns a hash map of property names and property values. Only for internal use.
-        *
-        * @return array The properties
-        */
-       public function _getProperties() {
-               $properties = get_object_vars($this);
-               foreach ($properties as $propertyName => $propertyValue) {
-                       if (substr($propertyName, 0, 1) === '_') {
-                               unset($properties[$propertyName]);
-                       }
-               }
-               return $properties;
-       }
-       
-       /**
-        * Returns the property value of the given property name. Only for internal use.
-        *
-        * @return boolean TRUE bool true if the property exists, FALSE if it doesn't exist or
-        * NULL in case of an error.
-        */
-       public function _hasProperty($propertyName) {
-               return property_exists($this, $propertyName);
-       }
-
-       /**
-        * Returns TRUE if the object is new (the uid was not set, yet). Only for internal use
-        *
-        * @return boolean
-        */
-       public function _isNew() {
-               return $this->uid === NULL;
-       }
-
-       /**
-        * Register an object's clean state, e.g. after it has been reconstituted
-        * from the database.
-        *
-        * @param string $propertyName The name of the property to be memorized. If omitted all persistable properties are memorized.
-        * @return void
-        */
-       public function _memorizeCleanState($propertyName = NULL) {
-               if ($propertyName !== NULL) {
-                       $this->_memorizePropertyCleanState($propertyName);
-               } else {
-                       $this->_cleanProperties = array();
-                       $properties = get_object_vars($this);
-                       foreach ($properties as $propertyName => $propertyValue) {
-                               if (substr($propertyName, 0, 1) === '_') continue; // Do not memorize "internal" properties
-                               $this->_memorizePropertyCleanState($propertyName);
-                       }
-               }
-       }
-
-       /**
-        * Register an properties's clean state, e.g. after it has been reconstituted
-        * from the database.
-        *
-        * @param string $propertyName The name of the property to be memorized. If omittet all persistable properties are memorized.
-        * @return void
-        */
-       public function _memorizePropertyCleanState($propertyName) {
-               $propertyValue = $this->$propertyName;
-               if (!is_array($this->_cleanProperties)) {
-                       $this->_cleanProperties = array();
-               }
-               if (is_object($propertyValue)) {
-                       $this->_cleanProperties[$propertyName] = clone($propertyValue);
-
-                       // We need to make sure the clone and the original object
-                       // are identical when compared with == (see _isDirty()).
-                       // After the cloning, the Domain Object will have the property
-                       // "isClone" set to TRUE, so we manually have to set it to FALSE
-                       // again. Possible fix: Somehow get rid of the "isClone" property,
-                       // which is currently needed in Fluid.
-                       if ($propertyValue instanceof Tx_Extbase_DomainObject_AbstractDomainObject) {
-                               $this->_cleanProperties[$propertyName]->_setClone(FALSE);
-                       }
-               } else {
-                       $this->_cleanProperties[$propertyName] = $propertyValue;
-               }
-       }
-
-       /**
-        * Returns a hash map of clean properties and $values.
-        *
-        * @return array
-        */
-       public function _getCleanProperties() {
-               return $this->_cleanProperties;
-       }
-
-       /**
-        * Returns the clean value of the given property. The returned value will be NULL if the clean state was not memorized before, or
-        * if the clean value is NULL.
-        *
-        * @param string $propertyName The name of the property to be memorized. If omittet all persistable properties are memorized.
-        * @return mixed The clean property value or NULL
-        */
-       public function _getCleanProperty($propertyName) {
-               if (is_array($this->_cleanProperties)) {
-                       return isset($this->_cleanProperties[$propertyName]) ? $this->_cleanProperties[$propertyName] : NULL;
-               } else {
-                       return NULL;
-               }
-       }
-       
-       /**
-        * Returns TRUE if the properties were modified after reconstitution
-        *
-        * @param string $propertyName An optional name of a property to be checked if its value is dirty
-        * @return boolean
-        */
-       public function _isDirty($propertyName = NULL) {
-               if ($this->uid !== NULL && is_array($this->_cleanProperties) && $this->uid != $this->_getCleanProperty('uid')) throw new Tx_Extbase_Persistence_Exception_TooDirty('The uid "' . $this->uid . '" has been modified, that is simply too much.', 1222871239);
-               if ($propertyName === NULL) {
-                       foreach ($this->_getCleanProperties() as $propertyName => $cleanPropertyValue) {
-                               if ($this->isPropertyDirty($cleanPropertyValue, $this->$propertyName) === TRUE) return TRUE;
-                       }
-               } else {
-                       if ($this->isPropertyDirty($this->_getCleanProperty($propertyName), $this->$propertyName) === TRUE) return TRUE;
-               }
-               return FALSE;
-       }
-
-       /**
-        * Checks the $value against the $cleanState.
-        *
-        * @param mixed $previousValue
-        * @param mixed $currentValue
-        * @return boolan
-        */
-       protected function isPropertyDirty($previousValue, $currentValue) {
-               $result = FALSE;
-               // In case it is an object and it implements the ObjectMonitoringInterface, we call _isDirty() instead of a simple comparison of objects.
-               // We do this, because if the object itself contains a lazy loaded property, the comparison of the objects might fail even if the object didn't change
-               if (is_object($currentValue)) {
-                       if ($currentValue instanceof Tx_Extbase_DomainObject_DomainObjectInterface) {
-                               $result = !is_object($previousValue) || (get_class($previousValue) !== get_class($currentValue)) || ($currentValue->getUid() !== $previousValue->getUid());
-                       } elseif ($currentValue instanceof Tx_Extbase_Persistence_ObjectMonitoringInterface) {
-                               $result = !is_object($previousValue) || $currentValue->_isDirty() || (get_class($previousValue) !== get_class($currentValue));
-                       } else {
-                               // For all other objects we do only a simple comparison (!=) as we want cloned objects to return the same values.
-                               $result = ($previousValue != $currentValue);
-                       }
-               } else {
-                       $result = ($previousValue !== $currentValue);
-               }
-               return $result;
-       }
-       
-       /**
-        * Returns TRUE if the object has been clonesd, cloned, FALSE otherwise.
-        *
-        * @return boolean TRUE if the object has been cloned
-        */
-       public function _isClone() {
-               return $this->_isClone;
-       }
-
-       /**
-        * Setter whether this Domain Object is a clone of another one.
-        * NEVER SET THIS PROPERTY DIRECTLY. We currently need it to make the
-        * _isDirty check inside AbstractEntity work, but it is just a work-
-        * around right now.
-        *
-        * @param boolean $clone
-        */
-       public function _setClone($clone) {
-               $this->_isClone = (boolean)$clone;
-       }
-
-       /**
-        * Clone method. Sets the _isClone property.
-        *
-        * @return void
-        */
-       public function __clone() {
-               $this->_isClone = TRUE;
-       }
-
-       /**
-        * Returns the class name and the uid of the object as string
-        *
-        * @return string
-        */
-       public function __toString() {
-               return get_class($this) . ':' . (string)$this->uid;
-       }
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/DomainObject/AbstractEntity.php b/typo3/sysext/extbase/Classes/DomainObject/AbstractEntity.php
deleted file mode 100644 (file)
index 29f694c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * An abstract Entity. An Entity is an object fundamentally defined not by its attributes,
- * but by a thread of continuity and identity (e.g. a person).
- *
- * @package Extbase
- * @subpackage DomainObject
- * @version $ID:$
- */
-abstract class Tx_Extbase_DomainObject_AbstractEntity extends Tx_Extbase_DomainObject_AbstractDomainObject {
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/DomainObject/AbstractValueObject.php b/typo3/sysext/extbase/Classes/DomainObject/AbstractValueObject.php
deleted file mode 100644 (file)
index 5227a57..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * A abstract Value Object. A Value Object is an object that describes some characteristic
- * or attribute (e.g. a color) but carries no concept of identity.
- *
- * @package Extbase
- * @subpackage DomainObject
- * @version $ID:$
- */
-abstract class Tx_Extbase_DomainObject_AbstractValueObject extends Tx_Extbase_DomainObject_AbstractDomainObject {
-
-       /**
-        * Returns the value of the Value Object. Must be overwritten by a concrete value object.
-        *
-        * @return void
-        */
-       public function getValue() {
-               return $this->__toString();
-       }
-
-       /**
-        * Clone method. Sets the _isClone property.
-        *
-        * @return void
-        */
-       public function __clone() {
-               $this->uid = NULL;
-       }
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/DomainObject/DomainObjectInterface.php b/typo3/sysext/extbase/Classes/DomainObject/DomainObjectInterface.php
deleted file mode 100644 (file)
index b4da515..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * A Domain Object Interface. All domain objects which should be persisted need to implement the below interface.
- * Usually you will need to subclass Tx_Extbase_DomainObject_AbstractEntity and Tx_Extbase_DomainObject_AbstractValueObject
- * instead.
- *
- * @see Tx_Extbase_DomainObject_AbstractEntity
- * @see Tx_Extbase_DomainObject_AbstractValueObject
- *
- * @package Extbase
- * @subpackage DomainObject
- * @version $ID:$
- */
-interface Tx_Extbase_DomainObject_DomainObjectInterface {
-
-       /**
-        * Getter for uid.
-        *
-        * @return int the uid or NULL if none set yet.
-        */
-       public function getUid();
-
-       /**
-        * Setter for the pid.
-        *
-        * @return void
-        */
-       public function setPid($pid);
-
-       /**
-        * Getter for the pid.
-        *
-        * @return int The pid or NULL if none set yet.
-        */
-       public function getPid();
-
-       /**
-        * Returns TRUE if the object is new (the uid was not set, yet). Only for internal use
-        *
-        * @return boolean
-        */
-       public function _isNew();
-
-       /**
-        * Reconstitutes a property. Only for internal use.
-        *
-        * @param string $propertyName
-        * @param string $value
-        * @return void
-        */
-       public function _setProperty($propertyName, $value);
-
-       /**
-        * Returns the property value of the given property name. Only for internal use.
-        *
-        * @return mixed The propertyValue
-        */
-       public function _getProperty($propertyName);
-
-       /**
-        * Returns a hash map of property names and property values
-        *
-        * @return array The properties
-        */
-       public function _getProperties();
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Error/Error.php b/typo3/sysext/extbase/Classes/Error/Error.php
deleted file mode 100644 (file)
index 9a991b4..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-/**
- * An object representation of a generic error. Subclass this to create
- * more specific errors if necessary.
- *
- * @package Extbase
- * @subpackage Error
- * @version $Id: Error.php 1729 2009-11-25 21:37:20Z stucki $
- * @license http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public License, version 3 or later
- * @scope prototype
- * @api
- */
-class Tx_Extbase_Error_Error {
-
-       /**
-        * @var string The default (english) error message.
-        */
-       protected $message = 'Unknown error';
-
-       /**
-        * @var string The error code
-        */
-       protected $code;
-
-       /**
-        * Constructs this error
-        *
-        * @param string $message: An english error message which is used if no other error message can be resolved
-        * @param integer $code: A unique error code
-        * @api
-        */
-       public function __construct($message, $code) {
-               $this->message = $message;
-               $this->code = $code;
-       }
-
-       /**
-        * Returns the error message
-        * @return string The error message
-        * @api
-        */
-       public function getMessage() {
-               return $this->message;
-       }
-
-       /**
-        * Returns the error code
-        * @return string The error code
-        * @api
-        */
-       public function getCode() {
-               return $this->code;
-       }
-
-       /**
-        * Converts this error into a string
-        *
-        * @return string
-        * @api
-        */
-       public function __toString() {
-               return $this->message . ' (#' . $this->code . ')';
-       }
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/Exception.php b/typo3/sysext/extbase/Classes/Exception.php
deleted file mode 100644 (file)
index 5a45468..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * A generic Extbase exception
- *
- * @package Extbase
- * @version $ID: $
- */
-class Tx_Extbase_Exception extends Exception {
-
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/MVC/Controller/AbstractController.php b/typo3/sysext/extbase/Classes/MVC/Controller/AbstractController.php
deleted file mode 100644 (file)
index c579879..0000000
+++ /dev/null
@@ -1,395 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * An abstract base class for Controllers
- *
- * @package Extbase
- * @subpackage MVC\Controller
- * @version $ID:$
- * @api
- */
-abstract class Tx_Extbase_MVC_Controller_AbstractController implements Tx_Extbase_MVC_Controller_ControllerInterface {
-       /**
-        * @var Tx_Extbase_Object_ObjectManagerInterface
-        */
-       protected $objectManager;
-
-       /**
-        * @var Tx_Extbase_MVC_Web_Routing_UriBuilder
-        */
-       protected $uriBuilder;
-
-       /**
-        * @var string Key of the extension this controller belongs to
-        */
-       protected $extensionName;
-
-       /**
-        * Contains the settings of the current extension
-        *
-        * @var array
-        * @api
-        */
-       protected $settings;
-
-       /**
-        * The current request.
-        *
-        * @var Tx_Extbase_MVC_Request
-        * @api
-        */
-       protected $request;
-
-       /**
-        * The response which will be returned by this action controller
-        *
-        * @var Tx_Extbase_MVC_Response
-        * @api
-        */
-       protected $response;
-
-       /**
-        * @var Tx_Extbase_Property_Mapper
-        */
-       protected $propertyMapper;
-
-       /**
-        * @var Tx_Extbase_Validation_ValidatorResolver
-        */
-       protected $validatorResolver;
-
-       /**
-        * @var Tx_Extbase_MVC_Controller_Arguments Arguments passed to the controller
-        */
-       protected $arguments;
-
-       /**
-        * The results of the mapping of request arguments to controller arguments
-        * @var Tx_Extbase_Property_MappingResults
-        * @api
-        */
-       protected $argumentsMappingResults;
-
-       /**
-        * An array of supported request types. By default only web requests are supported.
-        * Modify or replace this array if your specific controller supports certain
-        * (additional) request types.
-        * @var array
-        */
-       protected $supportedRequestTypes = array('Tx_Extbase_MVC_Request');
-
-       /**
-        * @var Tx_Extbase_MVC_Controller_ControllerContext
-        * @api
-        */
-       protected $controllerContext;
-
-       /**
-        * The flash messages. DEPRECATED. Use $this->flashMessageContainer instead.
-        *
-        * @var Tx_Extbase_MVC_Controller_FlashMessages
-        * @deprecated
-        */
-       protected $flashMessages;
-
-       /**
-        * The flash messages. Use $this->flashMessageContainer->add(...) to add a new Flash message.
-        *
-        * @var Tx_Extbase_MVC_Controller_FlashMessages
-        * @api
-        */
-       protected $flashMessageContainer;
-
-       /**
-        * @var Tx_Extbase_Configuration_ConfigurationManager
-        */
-       protected $configurationManager;
-
-       /**
-        * Constructs the controller.
-        */
-       public function __construct() {
-               list(, $this->extensionName) = explode('_', get_class($this));
-       }
-
-       /**
-        * @param Tx_Extbase_Configuration_ConfigurationManager $configurationManager
-        * @return void
-        */
-       public function injectConfigurationManager(Tx_Extbase_Configuration_ConfigurationManager $configurationManager) {
-               $this->configurationManager = $configurationManager;
-               $this->settings = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_SETTINGS);
-       }
-
-       /**
-        * Injects the property mapper
-        *
-        * @param Tx_Extbase_Property_Mapper $propertyMapper The property mapper
-        * @return void
-        */
-       public function injectPropertyMapper(Tx_Extbase_Property_Mapper $propertyMapper) {
-               $this->propertyMapper = $propertyMapper;
-       }
-
-       /**
-        * Injects the object manager
-        *
-        * @param Tx_Extbase_Object_ObjectManagerInterface $objectManager
-        * @return void
-        */
-       public function injectObjectManager(Tx_Extbase_Object_ObjectManagerInterface $objectManager) {
-               $this->objectManager = $objectManager;
-               $this->arguments = $this->objectManager->create('Tx_Extbase_MVC_Controller_Arguments');
-       }
-
-       /**
-        * Injects the validator resolver
-        *
-        * @param Tx_Extbase_Validation_ValidatorResolver $validatorResolver
-        * @return void
-        */
-       public function injectValidatorResolver(Tx_Extbase_Validation_ValidatorResolver $validatorResolver) {
-               $this->validatorResolver = $validatorResolver;
-       }
-
-       /**
-        * Injects the flash messages container
-        *
-        * @param Tx_Extbase_MVC_Controller_FlashMessages $flashMessages
-        * @return void
-        */
-       public function injectFlashMessageContainer(Tx_Extbase_MVC_Controller_FlashMessages $flashMessageContainer) {
-               $this->flashMessageContainer = $flashMessageContainer;
-               $this->flashMessages = $flashMessageContainer; // deprecated, but should still work.
-       }
-
-       /**
-        * Checks if the current request type is supported by the controller.
-        *
-        * If your controller only supports certain request types, either
-        * replace / modify the supporteRequestTypes property or override this
-        * method.
-        *
-        * @param Tx_Extbase_MVC_Request $request The current request
-        * @return boolean TRUE if this request type is supported, otherwise FALSE
-        * @api
-        */
-       public function canProcessRequest(Tx_Extbase_MVC_RequestInterface $request) {
-               foreach ($this->supportedRequestTypes as $supportedRequestType) {
-                       if ($request instanceof $supportedRequestType) return TRUE;
-               }
-               return FALSE;
-       }
-
-       /**
-        * Processes a general request. The result can be returned by altering the given response.
-        *
-        * @param Tx_Extbase_MVC_Request $request The request object
-        * @param Tx_Extbase_MVC_Response $response The response, modified by this handler
-        * @return void
-        * @throws Tx_Extbase_MVC_Exception_UnsupportedRequestType if the controller doesn't support the current request type
-        * @api
-        */
-       public function processRequest(Tx_Extbase_MVC_RequestInterface $request, Tx_Extbase_MVC_ResponseInterface $response) {
-               if (!$this->canProcessRequest($request)) throw new Tx_Extbase_MVC_Exception_UnsupportedRequestType(get_class($this) . ' does not support requests of type "' . get_class($request) . '". Supported types are: ' . implode(' ', $this->supportedRequestTypes) , 1187701131);
-
-               $this->request = $request;
-               $this->request->setDispatched(TRUE);
-               $this->response = $response;
-
-               $this->uriBuilder = $this->objectManager->create('Tx_Extbase_MVC_Web_Routing_UriBuilder');
-               $this->uriBuilder->setRequest($request);
-
-               $this->initializeControllerArgumentsBaseValidators();
-               $this->mapRequestArgumentsToControllerArguments();
-               $this->controllerContext = $this->buildControllerContext();
-       }
-
-       /**
-        * Initialize the controller context
-        *
-        * @return Tx_Extbase_MVC_Controller_ControllerContext ControllerContext to be passed to the view
-        * @api
-        */
-       protected function buildControllerContext() {
-               $controllerContext = $this->objectManager->create('Tx_Extbase_MVC_Controller_ControllerContext');
-               $controllerContext->setRequest($this->request);
-               $controllerContext->setResponse($this->response);
-               if ($this->arguments !== NULL) {
-                       $controllerContext->setArguments($this->arguments);
-               }
-               if ($this->argumentsMappingResults !== NULL) {
-                       $controllerContext->setArgumentsMappingResults($this->argumentsMappingResults);
-               }
-               $controllerContext->setUriBuilder($this->uriBuilder);
-               $controllerContext->setFlashMessageContainer($this->flashMessageContainer);
-               return $controllerContext;
-       }
-
-       /**
-        * Forwards the request to another controller.
-        *
-        * @param string $actionName Name of the action to forward to
-        * @param string $controllerName Unqualified object name of the controller to forward to. If not specified, the current controller is used.
-        * @param string $extensionName Name of the extension containing the controller to forward to. If not specified, the current extension is assumed.
-        * @param Tx_Extbase_MVC_Controller_Arguments $arguments Arguments to pass to the target action
-        * @return void
-        * @throws Tx_Extbase_MVC_Exception_StopAction
-        * @api
-        */
-       public function forward($actionName, $controllerName = NULL, $extensionName = NULL, array $arguments = NULL) {
-               $this->request->setDispatched(FALSE);
-               $this->request->setControllerActionName($actionName);
-               if ($controllerName !== NULL) $this->request->setControllerName($controllerName);
-               if ($extensionName !== NULL) $this->request->setControllerExtensionName($extensionName);
-               if ($arguments !== NULL) $this->request->setArguments($arguments);
-               throw new Tx_Extbase_MVC_Exception_StopAction();
-       }
-
-       /**
-        * Forwards the request to another action and / or controller.
-        *
-        * NOTE: This method only supports web requests and will thrown an exception
-        * if used with other request types.
-        *
-        * @param string $actionName Name of the action to forward to
-        * @param string $controllerName Unqualified object name of the controller to forward to. If not specified, the current controller is used.
-        * @param string $extensionName Name of the extension containing the controller to forward to. If not specified, the current extension is assumed.
-        * @param Tx_Extbase_MVC_Controller_Arguments $arguments Arguments to pass to the target action
-        * @param integer $pageUid Target page uid. If NULL, the current page uid is used
-        * @param integer $delay (optional) The delay in seconds. Default is no delay.
-        * @param integer $statusCode (optional) The HTTP status code for the redirect. Default is "303 See Other"
-        * @return void
-        * @throws Tx_Extbase_MVC_Exception_UnsupportedRequestType If the request is not a web request
-        * @throws Tx_Extbase_MVC_Exception_StopAction
-        * @api
-        */
-       protected function redirect($actionName, $controllerName = NULL, $extensionName = NULL, array $arguments = NULL, $pageUid = NULL, $delay = 0, $statusCode = 303) {
-               if (!$this->request instanceof Tx_Extbase_MVC_Web_Request) throw new Tx_Extbase_MVC_Exception_UnsupportedRequestType('redirect() only supports web requests.', 1220539734);
-
-               if ($controllerName === NULL) {
-                       $controllerName = $this->request->getControllerName();
-               }
-
-               $uri = $this->uriBuilder
-                       ->reset()
-                       ->setTargetPageUid($pageUid)
-                       ->uriFor($actionName, $arguments, $controllerName, $extensionName);
-               $this->redirectToURI($uri, $delay, $statusCode);
-       }
-
-       /**
-        * Redirects the web request to another uri.
-        *
-        * NOTE: This method only supports web requests and will thrown an exception if used with other request types.
-        *
-        * @param mixed $uri A string representation of a URI
-        * @param integer $delay (optional) The delay in seconds. Default is no delay.
-        * @param integer $statusCode (optional) The HTTP status code for the redirect. Default is "303 See Other"
-        * @throws Tx_Extbase_MVC_Exception_UnsupportedRequestType If the request is not a web request
-        * @throws Tx_Extbase_MVC_Exception_StopAction
-        * @api
-        */
-       protected function redirectToURI($uri, $delay = 0, $statusCode = 303) {
-               if (!$this->request instanceof Tx_Extbase_MVC_Web_Request) throw new Tx_Extbase_MVC_Exception_UnsupportedRequestType('redirect() only supports web requests.', 1220539734);
-
-               $uri = $this->addBaseUriIfNecessary($uri);
-               $escapedUri = htmlentities($uri, ENT_QUOTES, 'utf-8');
-               $this->response->setContent('<html><head><meta http-equiv="refresh" content="' . intval($delay) . ';url=' . $escapedUri . '"/></head></html>');
-               $this->response->setStatus($statusCode);
-               $this->response->setHeader('Location', (string)$uri);
-               throw new Tx_Extbase_MVC_Exception_StopAction();
-       }
-
-       /**
-        * Adds the base uri if not already in place.
-        *
-        * @param string $uri The URI
-        * @return void
-        */
-       protected function addBaseUriIfNecessary($uri) {
-               $baseUri = $this->request->getBaseURI();
-               if(stripos($uri, $baseUri) !== 0) {
-                       $uri = $baseUri . (string)$uri;
-               }
-               return $uri;
-       }
-
-       /**
-        * Sends the specified HTTP status immediately.
-        *
-        * NOTE: This method only supports web requests and will thrown an exception if used with other request types.
-        *
-        * @param integer $statusCode The HTTP status code
-        * @param string $statusMessage A custom HTTP status message
-        * @param string $content Body content which further explains the status
-        * @throws Tx_Extbase_MVC_Exception_UnsupportedRequestType If the request is not a web request
-        * @throws Tx_Extbase_MVC_Exception_StopAction
-        * @api
-        */
-       public function throwStatus($statusCode, $statusMessage = NULL, $content = NULL) {
-               if (!$this->request instanceof Tx_Extbase_MVC_Web_Request) throw new Tx_Extbase_MVC_Exception_UnsupportedRequestType('throwStatus() only supports web requests.', 1220539739);
-
-               $this->response->setStatus($statusCode, $statusMessage);
-               if ($content === NULL) $content = $this->response->getStatus();
-               $this->response->setContent($content);
-               throw new Tx_Extbase_MVC_Exception_StopAction();
-       }
-
-       /**
-        * Collects the base validators which were defined for the data type of each
-        * controller argument and adds them to the argument's validator chain.
-        *
-        * @return void
-        */
-       public function initializeControllerArgumentsBaseValidators() {
-               foreach ($this->arguments as $argument) {
-                       $validator = $this->validatorResolver->getBaseValidatorConjunction($argument->getDataType());
-                       if ($validator !== NULL) $argument->setValidator($validator);
-               }
-       }
-
-       /**
-        * Maps arguments delivered by the request object to the local controller arguments.
-        *
-        * @return void
-        */
-       protected function mapRequestArgumentsToControllerArguments() {
-               $optionalPropertyNames = array();
-               $allPropertyNames = $this->arguments->getArgumentNames();
-               foreach ($allPropertyNames as $propertyName) {
-                       if ($this->arguments[$propertyName]->isRequired() === FALSE) $optionalPropertyNames[] = $propertyName;
-               }
-
-               $validator = $this->objectManager->create('Tx_Extbase_MVC_Controller_ArgumentsValidator');
-               $this->propertyMapper->mapAndValidate($allPropertyNames, $this->request->getArguments(), $this->arguments, $optionalPropertyNames, $validator);
-
-               $this->argumentsMappingResults = $this->propertyMapper->getMappingResults();
-       }
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/extbase/Classes/MVC/Controller/ActionController.php b/typo3/sysext/extbase/Classes/MVC/Controller/ActionController.php
deleted file mode 100644 (file)
index 560d338..0000000
+++ /dev/null
@@ -1,466 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * A multi action controller. This is by far the most common base class for Controllers.
- *
- * @package Extbase
- * @subpackage MVC\Controller
- * @version $ID:$
- * @api
- */
-class Tx_Extbase_MVC_Controller_ActionController extends Tx_Extbase_MVC_Controller_AbstractController {
-
-       /**
-        * @var Tx_Extbase_Reflection_Service
-        */
-       protected $reflectionService;
-
-       /**
-        * The current view, as resolved by resolveView()
-        *
-        * @var Tx_Extbase_MVC_View_ViewInterface
-        * @api
-        */
-       protected $view = NULL;
-
-       /**
-        * Pattern after which the view object name is built if no Fluid template
-        * is found.
-        * @var string
-        * @api
-        */
-       protected $viewObjectNamePattern = 'Tx_@extension_View_@controller_@action@format';
-
-       /**
-        * A list of formats and object names of the views which should render them.
-        *
-        * Example:
-        *
-        * array('html' => 'Tx_MyExtension_View_MyHtmlView', 'json' => 'F3...
-        *
-        * @var array
-        */
-       protected $viewFormatToObjectNameMap = array();
-
-       /**
-        * The default view object to use if none of the resolved views can render
-        * a response for the current request.
-        *
-        * @var string
-        * @api
-        */
-       protected $defaultViewObjectName = 'Tx_Fluid_View_TemplateView';
-
-       /**
-        * Name of the action method
-        * @var string
-        * @api
-        */
-       protected $actionMethodName = 'indexAction';
-
-       /**
-        * Name of the special error action method which is called in case of errors
-        * @var string
-        * @api
-        */
-       protected $errorMethodName = 'errorAction';
-
-       /**
-        * Injects the reflection service
-        *
-        * @param Tx_Extbase_Reflection_Service $reflectionService
-        * @return void
-        */
-       public function injectReflectionService(Tx_Extbase_Reflection_Service $reflectionService) {
-               $this->reflectionService = $reflectionService;
-       }
-
-       /**
-        * Checks if the current request type is supported by the controller.
-        *
-        * If your controller only supports certain request types, either
-        * replace / modify the supporteRequestTypes property or override this
-        * method.
-        *
-        * @param Tx_Extbase_MVC_Request $request The current request
-        * @return boolean TRUE if this request type is supported, otherwise FALSE
-        */
-       public function canProcessRequest(Tx_Extbase_MVC_RequestInterface $request) {
-               return parent::canProcessRequest($request);
-
-       }
-
-       /**
-        * Handles a request. The result output is returned by altering the given response.
-        *
-        * @param Tx_Extbase_MVC_Request $request The request object
-        * @param Tx_Extbase_MVC_Response $response The response, modified by this handler
-        * @return void
-        */
-       public function processRequest(Tx_Extbase_MVC_RequestInterface $request, Tx_Extbase_MVC_ResponseInterface $response) {
-               if (!$this->canProcessRequest($request)) {
-                       throw new Tx_Extbase_MVC_Exception_UnsupportedRequestType(get_class($this) . ' does not support requests of type "' . get_class($request) . '". Supported types are: ' . implode(' ', $this->supportedRequestTypes) , 1187701131);
-               }
-
-               $this->request = $request;
-               $this->request->setDispatched(TRUE);
-               $this->response = $response;
-
-               $this->uriBuilder = $this->objectManager->create('Tx_Extbase_MVC_Web_Routing_UriBuilder');
-               $this->uriBuilder->setRequest($request);
-
-               $this->actionMethodName = $this->resolveActionMethodName();
-
-               $this->initializeActionMethodArguments();
-               $this->initializeActionMethodValidators();
-
-               $this->initializeAction();
-               $actionInitializationMethodName = 'initialize' . ucfirst($this->actionMethodName);
-               if (method_exists($this, $actionInitializationMethodName)) {
-                       call_user_func(array($this, $actionInitializationMethodName));
-               }
-
-               $this->mapRequestArgumentsToControllerArguments();
-               $this->checkRequestHash();
-               $this->controllerContext = $this->buildControllerContext();
-               $this->view = $this->resolveView();
-               if ($this->view !== NULL) {
-                       $this->initializeView($this->view);
-               }
-               $this->callActionMethod();
-       }
-
-       /**
-        * Implementation of the arguments initilization in the action controller:
-        * Automatically registers arguments of the current action
-        *
-        * Don't override this method - use initializeAction() instead.
-        *
-        * @return void
-        * @see initializeArguments()
-        */
-       protected function initializeActionMethodArguments() {
-               $methodParameters = $this->reflectionService->getMethodParameters(get_class($this), $this->actionMethodName);
-
-               foreach ($methodParameters as $parameterName => $parameterInfo) {
-                       $dataType = NULL;
-                       if (isset($parameterInfo['type'])) {
-                               $dataType = $parameterInfo['type'];
-                       } elseif ($parameterInfo['array']) {
-                               $dataType = 'array';
-                       }
-                       if ($dataType === NULL) throw new Tx_Extbase_MVC_Exception_InvalidArgumentType('The argument type for parameter "' . $parameterName . '" could not be detected.', 1253175643);
-
-                       $defaultValue = (isset($parameterInfo['defaultValue']) ? $parameterInfo['defaultValue'] : NULL);
-
-                       $this->arguments->addNewArgument($parameterName, $dataType, ($parameterInfo['optional'] === FALSE), $defaultValue);
-               }
-       }
-
-       /**
-        * Adds the needed valiators to the Arguments:
-        * - Validators checking the data type from the @param annotation
-        * - Custom validators specified with @validate.
-        *
-        * In case @dontvalidate is NOT set for an argument, the following two
-        * validators are also added:
-        * - Model-based validators (@validate annotations in the model)
-        * - Custom model validator classes
-        *
-        * @return void
-        */
-       protected function initializeActionMethodValidators() {
-               $parameterValidators = $this->validatorResolver->buildMethodArgumentsValidatorConjunctions(get_class($this), $this->actionMethodName);
-
-               $dontValidateAnnotations = array();
-               $methodTagsValues = $this->reflectionService->getMethodTagsValues(get_class($this), $this->actionMethodName);
-               if (isset($methodTagsValues['dontvalidate'])) {
-                       $dontValidateAnnotations = $methodTagsValues['dontvalidate'];
-               }
-
-               foreach ($this->arguments as $argument) {
-                       $validator = $parameterValidators[$argument->getName()];
-
-                       if (array_search('$' . $argument->getName(), $dontValidateAnnotations) === FALSE) {
-                               $baseValidatorConjunction = $this->validatorResolver->getBaseValidatorConjunction($argument->getDataType());
-                               if ($baseValidatorConjunction !== NULL) {
-                                       $validator->addValidator($baseValidatorConjunction);
-                               }
-                       }
-                       $argument->setValidator($validator);
-               }
-       }
-
-       /**
-        * Resolves and checks the current action method name
-        *
-        * @return string Method name of the current action
-        * @throws Tx_Extbase_MVC_Exception_NoSuchAction if the action specified in the request object does not exist (and if there's no default action either).
-        */
-       protected function resolveActionMethodName() {
-               $actionMethodName = $this->request->getControllerActionName() . 'Action';
-               if (!method_exists($this, $actionMethodName)) throw new Tx_Extbase_MVC_Exception_NoSuchAction('An action "' . $actionMethodName . '" does not exist in controller "' . get_class($this) . '".', 1186669086);
-               return $actionMethodName;
-       }
-
-       /**
-        * Calls the specified action method and passes the arguments.
-        *
-        * If the action returns a string, it is appended to the content in the
-        * response object. If the action doesn't return anything and a valid
-        * view exists, the view is rendered automatically.
-        *
-        * @param string $actionMethodName Name of the action method to call
-        * @return void
-        * @api
-        */
-       protected function callActionMethod() {
-               $argumentsAreValid = TRUE;
-               $preparedArguments = array();
-               foreach ($this->arguments as $argument) {
-                       $preparedArguments[] = $argument->getValue();
-               }
-
-               if ($this->argumentsMappingResults->hasErrors()) {
-                       $actionResult = call_user_func(array($this, $this->errorMethodName));
-               } else {
-                       $actionResult = call_user_func_array(array($this, $this->actionMethodName), $preparedArguments);
-               }
-               if ($actionResult === NULL && $this->view instanceof Tx_Extbase_MVC_View_ViewInterface) {
-                       $this->response->appendContent($this->view->render());
-               } elseif (is_string($actionResult) && strlen($actionResult) > 0) {
-                       $this->response->appendContent($actionResult);
-               }
-       }
-
-       /**
-        * Prepares a view for the current action and stores it in $this->view.
-        * By default, this method tries to locate a view with a name matching
-        * the current action.
-        *
-        * @return void
-        * @api
-        */
-       protected function resolveView() {
-               $viewObjectName = $this->resolveViewObjectName();
-               if ($viewObjectName !== FALSE) {
-                       $view = $this->objectManager->create($viewObjectName);
-                       $this->setViewConfiguration($view);
-                       if ($view->canRender($this->controllerContext) === FALSE) {
-                               unset($view);
-                       }
-               }
-               if (!isset($view) && $this->defaultViewObjectName != '') {
-                       $view = $this->objectManager->create($this->defaultViewObjectName);
-                       $this->setViewConfiguration($view);
-                       if ($view->canRender($this->controllerContext) === FALSE) {
-                               unset($view);
-                       }
-               }
-               if (!isset($view)) {
-                       $view = $this->objectManager->create('Tx_Extbase_MVC_View_NotFoundView');
-                       $view->assign('errorMessage', 'No template was found. View could not be resolved for action "' . $this->request->getControllerActionName() . '"');
-               }
-               $view->setControllerContext($this->controllerContext);
-
-               if (method_exists($view, 'injectSettings')) {
-                       $view->injectSettings($this->settings);
-               }
-               $view->initializeView(); // In FLOW3, solved through Object Lifecycle methods, we need to call it explicitely
-               $view->assign('settings', $this->settings); // same with settings injection.
-               return $view;
-       }
-
-       /**
-        * @param Tx_Extbase_MVC_View_ViewInterface $view
-        * @return void
-        */
-       protected function setViewConfiguration(Tx_Extbase_MVC_View_ViewInterface $view) {
-                       // Template Path Override
-               $extbaseFrameworkConfiguration = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
-               if (isset($extbaseFrameworkConfiguration['view']['templateRootPath'])
-                       && strlen($extbaseFrameworkConfiguration['view']['templateRootPath']) > 0
-                       && method_exists($view, 'setTemplateRootPath')) {
-                       $view->setTemplateRootPath(t3lib_div::getFileAbsFileName($extbaseFrameworkConfiguration['view']['templateRootPath']));
-               }
-               if (isset($extbaseFrameworkConfiguration['view']['layoutRootPath'])
-                       && strlen($extbaseFrameworkConfiguration['view']['layoutRootPath']) > 0
-                       && method_exists($view, 'setLayoutRootPath')) {
-                       $view->setLayoutRootPath(t3lib_div::getFileAbsFileName($extbaseFrameworkConfiguration['view']['layoutRootPath']));
-               }
-               if (isset($extbaseFrameworkConfiguration['view']['partialRootPath'])
-                       && strlen($extbaseFrameworkConfiguration['view']['partialRootPath']) > 0
-                       && method_exists($view, 'setPartialRootPath')) {
-                       $view->setPartialRootPath(t3lib_div::getFileAbsFileName($extbaseFrameworkConfiguration['view']['partialRootPath']));
-               }
-       }
-
-       /**
-        * Determines the fully qualified view object name.
-        *
-        * @return mixed The fully qualified view object name or FALSE if no matching view could be found.
-        * @api
-        */
-       protected function resolveViewObjectName() {
-               $possibleViewName = $this->viewObjectNamePattern;
-               $extensionName = $this->request->getControllerExtensionName();
-               $possibleViewName = str_replace('@extension', $extensionName, $possibleViewName);
-               $possibleViewName = str_replace('@controller', $this->request->getControllerName(), $possibleViewName);
-               $possibleViewName = str_replace('@action', ucfirst($this->request->getControllerActionName()), $possibleViewName);
-               $format = $this->request->getFormat();
-
-               $viewObjectName = str_replace('@format', ucfirst($this->request->getFormat()), $possibleViewName);
-               if (class_exists($viewObjectName) === FALSE) {
-                       $viewObjectName = str_replace('@format', '', $possibleViewName);
-               }
-               if (class_exists($viewObjectName) === FALSE && isset($this->viewFormatToObjectNameMap[$format])) {
-                       $viewObjectName = $this->viewFormatToObjectNameMap[$format];
-               }
-               return class_exists($viewObjectName) ? $viewObjectName : FALSE;
-       }
-
-       /**
-        * Initializes the view before invoking an action method.
-        *
-        * Override this method to solve assign variables common for all actions
-        * or prepare the view in another way before the action is called.
-        *
-        * @param Tx_Extbase_View_ViewInterface $view The view to be initialized
-        * @return void
-        * @api
-        */
-       protected function initializeView(Tx_Extbase_MVC_View_ViewInterface $view) {
-       }
-
-       /**
-        * Initializes the controller before invoking an action method.
-        *
-        * Override this method to solve tasks which all actions have in
-        * common.
-        *
-        * @return void
-        * @api
-        */
-       protected function initializeAction() {
-       }
-
-       /**
-        * A special action which is called if the originally intended action could
-        * not be called, for example if the arguments were not valid.
-        *
-        * The default implementation sets a flash message, request errors and forwards back
-        * to the originating action. This is suitable for most actions dealing with form input.
-        *
-        * We clear the page cache by default on an error as well, as we need to make sure the
-        * data is re-evaluated when the user changes something.
-        *
-        * @return string
-        * @api
-        */
-       protected function errorAction() {
-               $this->request->setErrors($this->argumentsMappingResults->getErrors());
-               $this->clearCacheOnError();
-
-               $errorFlashMessage = $this->getErrorFlashMessage();
-               if ($errorFlashMessage !== FALSE) {
-                       $this->flashMessages->add($errorFlashMessage, '', t3lib_FlashMessage::ERROR);
-               }
-
-               if ($this->request->hasArgument('__referrer')) {
-                       $referrer = $this->request->getArgument('__referrer');
-                       $this->forward($referrer['actionName'], $referrer['controllerName'], $referrer['extensionName'], $this->request->getArguments());
-               }
-
-               $message = 'An error occurred while trying to call ' . get_class($this) . '->' . $this->actionMethodName . '().' . PHP_EOL;
-               foreach ($this->argumentsMappingResults->getErrors() as $error) {
-                       $message .= 'Error:   ' . $error->getMessage() . PHP_EOL;
-               }
-               foreach ($this->argumentsMappingResults->getWarnings() as $warning) {
-                       $message .= 'Warning: ' . $warning->getMessage() . PHP_EOL;
-               }
-               return $message;
-       }
-
-       /**
-        * A template method for displaying custom error flash messages, or to
-        * display no flash message at all on errors. Override this to customize
-        * the flash message in your action controller.
-        *
-        * @return string|boolean The flash message or FALSE if no flash message should be set
-        * @api
-        */
-       protected function getErrorFlashMessage() {
-               return 'An error occurred while trying to call ' . get_class($this) . '->' . $this->actionMethodName . '()';
-       }
-
-       /**
-        * Checks the request hash (HMAC), if arguments have been touched by the property mapper.
-        *
-        * In case the @dontverifyrequesthash-Annotation has been set, this suppresses the exception.
-        *
-        * @return void
-        * @throws Tx_Extbase_MVC_Exception_InvalidOrNoRequestHash In case request hash checking failed
-        * @author Sebastian Kurfürst <sebastian@typo3.org>
-        */
-       protected function checkRequestHash() {
-               if (!($this->request instanceof Tx_Extbase_MVC_Web_Request)) return; // We only want to check it for now for web requests.
-               if ($this->request->isHmacVerified()) return; // all good
-
-               $verificationNeeded = FALSE;
-               foreach ($this->arguments as $argument) {
-                       if ($argument->getOrigin() == Tx_Extbase_MVC_Controller_Argument::ORIGIN_NEWLY_CREATED
-                        || $argument->getOrigin() == Tx_Extbase_MVC_Controller_Argument::ORIGIN_PERSISTENCE_AND_MODIFIED) {
-                               $verificationNeeded = TRUE;
-                       }
-               }
-               if ($verificationNeeded) {
-                       $methodTagsValues = $this->reflectionService->getMethodTagsValues(get_class($this), $this->actionMethodName);
-                       if (!isset($methodTagsValues['dontverifyrequesthash'])) {
-                               throw new Tx_Extbase_MVC_Exception_InvalidOrNoRequestHash('Request hash (HMAC) checking failed. The parameter __hmac was invalid or not set, and objects were modified.', 1255082824);
-                       }
-               }
-       }
-
-       /**
-        * Clear cache of current page on error. Needed because we want a re-evaluation of the data.
-        * Better would be just do delete the cache for the error action, but that is not possible right now.
-        *
-        * @return void
-        */
-       protected function clearCacheOnError() {
-               $extbaseSettings = $this->configurationManager->getConfiguration(Tx_Extbase_Configuration_ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
-               if (isset($extbaseSettings['persistence']['enableAutomaticCacheClearing']) && $extbaseSettings['persistence']['enableAutomaticCacheClearing'] === '1') {
-                       if (isset($GLOBALS['TSFE'])) {
-                               $pageUid = $GLOBALS['TSFE']->id;
-                               Tx_Extbase_Utility_Cache::clearPageCache(array($pageUid));
-                       }
-               }
-       }
-
-}
-?>
diff --git a/typo3/sysext/extbase/Classes/MVC/Controller/Argument.php b/typo3/sysext/extbase/Classes/MVC/Controller/Argument.php
deleted file mode 100644 (file)
index 542114c..0000000
+++ /dev/null
@@ -1,443 +0,0 @@
-<?php
-/***************************************************************
-*  Copyright notice
-*
-*  (c) 2009 Jochen Rau <jochen.rau@typoplanet.de>
-*  All rights reserved
-*
-*  This class is a backport of the corresponding class of FLOW3.
-*  All credits go to the v5 team.
-*
-*  This script is part of the TYPO3 project. The TYPO3 project is
-*  free software; you can redistribute it and/or modify
-*  it under the terms of the GNU General Public License as published by
-*  the Free Software Foundation; either version 2 of the License, or
-*  (at your option) any later version.
-*
-*  The GNU General Public License can be found at
-*  http://www.gnu.org/copyleft/gpl.html.
-*
-*  This script is distributed in the hope that it will be useful,
-*  but WITHOUT ANY WARRANTY; without even the implied warranty of
-*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-*  GNU General Public License for more details.
-*
-*  This copyright notice MUST APPEAR in all copies of the script!
-***************************************************************/
-
-/**
- * A controller argument
- *
- * @package Extbase
- * @subpackage MVC\Controller
- * @version $ID:$
- * @scope prototype
- * @api
- */
-class Tx_Extbase_MVC_Controller_Argument {
-
-       /**
-        * @var Tx_Extbase_Object_ObjectManagerInterface
-        */
-       protected $objectManager;
-
-       /**
-        * @var Tx_Extbase_Persistence_QueryFactory
-        */
-       protected $queryFactory;
-
-       /**
-        * @var Tx_Extbase_Property_Mapper
-        */
-