9 years ago[+BUGFIX] Extbase (Persistence): Fixed using the correct columnname for contains...
Marc Bastian Heinrichs [Tue, 18 Jan 2011 15:38:19 +0000 (15:38 +0000)]
[+BUGFIX] Extbase (Persistence): Fixed using the correct columnname for contains comparison with RELATION_HAS_MANY and empty parentKeyFieldName. Resolves #11048

9 years ago[+BUGFIX] extbase (Persistence): Added the missing pid property to the AbstractDomain...
Jochen Rau [Tue, 18 Jan 2011 14:52:18 +0000 (14:52 +0000)]
[+BUGFIX] extbase (Persistence): Added the missing pid property to the AbstractDomainModel.

* The pid property is a "special" property as the uid property.
* If your table does not contain a pid field, the property value will be NULL.
* There are now getPid() and setPid() methods available in the AbstractDomainObject.
* The support for workspaces ist still missing. You can't move objects from one page top another within a workspace view.

Related to #11361.

9 years ago[+BUGFIX] Extbase (Persistence): Language Oberlay now works with page table as well...
Jochen Rau [Tue, 18 Jan 2011 13:49:36 +0000 (13:49 +0000)]
[+BUGFIX] Extbase (Persistence): Language Oberlay now works with page table as well. Thanks to Andre Stoesel.

Resolves #11319.

9 years ago[+BUGFIX] Extbase (Reflection): Follow-up to r3854.
Jochen Rau [Tue, 18 Jan 2011 13:44:06 +0000 (13:44 +0000)]
[+BUGFIX] Extbase (Reflection): Follow-up to r3854.

Related to #10148.

9 years ago[+BUGFIX] Extbase (Persistence): The QueryObject gets cloned now in the getFirst...
Jochen Rau [Tue, 18 Jan 2011 11:34:28 +0000 (11:34 +0000)]
[+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.

9 years ago[+BUGFIX] Extbase (Bootstrap): Bootstrap calls initialize on reflectionService if...
Marc Bastian Heinrichs [Tue, 18 Jan 2011 10:44:41 +0000 (10:44 +0000)]
[+BUGFIX] Extbase (Bootstrap): Bootstrap calls initialize on reflectionService if it's already initialized. Resolves #12346, resolves #12156

9 years ago[+BUGFIX] Extbase (Persistence): Fix equals constraint with $caseSensitive FALSE...
Marc Bastian Heinrichs [Tue, 18 Jan 2011 10:39:51 +0000 (10:39 +0000)]
[+BUGFIX] Extbase (Persistence): Fix equals constraint with $caseSensitive FALSE (closing bracket missing). Thanks to Alexander Berl. Resolves #10781

9 years ago[+BUGFIX] Extbase (Reflection): ObjectAccess::isPropertyGettable works for ArrayAcces...
Sebastian Kurfürst [Tue, 18 Jan 2011 05:38:39 +0000 (05:38 +0000)]
[+BUGFIX] Extbase (Reflection): ObjectAccess::isPropertyGettable works for ArrayAccess objects

ObjectAccess::isPropertyGettable now returns TRUE if the object
implements ArrayAccess and has the specified property. This makes
getPropertyPath work correctly on ArrayAccess objects.

Resolves: #10148

9 years ago[+BUGFIX] Extbase [Persistence]: Fixed updating of 1:n related childs. Resolves ...
Jochen Rau [Tue, 18 Jan 2011 01:59:08 +0000 (01:59 +0000)]
[+BUGFIX] Extbase [Persistence]: Fixed updating of 1:n related childs. Resolves #9270, #9182, #10211.

Merge commit '3e5bbbba16521d06e49ad983ca52a7a9549eba91'

9 years ago[+FEATURE] Extbase (Configuration): Allow StoragePid to be manually defined by TS
Sebastian Kurfürst [Thu, 13 Jan 2011 19:25:21 +0000 (19:25 +0000)]
[+FEATURE] Extbase (Configuration): Allow StoragePid to be manually defined by TS

In certain cases, it is helpful to allow the storage PID
to be defined by TypoScript, so one could use stdWrap for example.
With this patch, this is possible.

Even better would be a more general solution, allowing processing
of arbitrary TS configuration with typoScript; but that's at the
moment not possible.

Credits go to Rens Admiraal for providing the patch!

Resolves: #8397

9 years ago[+BUGFIX] Extbase (Configuration): Fix warning in AbstractConfigurationManager
Sebastian Kurfürst [Thu, 13 Jan 2011 05:40:51 +0000 (05:40 +0000)]
[+BUGFIX] Extbase (Configuration): Fix warning in AbstractConfigurationManager

If there are no non cacheable actions defined for a controller, the AbstractConfigurationManager throws a warning when overriding switchable controller actions: array_intersect(): Argument 1 is not an array.

This change fixes the issue.
Resolves: #11631

9 years ago[+BUGFIX] Extbase (Object): Disabling Dependency Injection for injectSettings method
Sebastian Kurfürst [Thu, 13 Jan 2011 05:33:01 +0000 (05:33 +0000)]
[+BUGFIX] Extbase (Object): Disabling Dependency Injection for injectSettings method

Tx_Extbase_MVC_Controller_ActionController->resolveView() checks for the existence of
an injectSettings() method in a view class and calls it if found, passing on the
As Tx_Extbase_Object_Container_ClassInfoFactory->getInjectMethods() though
classifies that method as a method for dependency injection which of course fails
leading to an exception "Method is marked as setter for Dependency Injection, but
doesnt have a type annotation".

Bugfix: Make the DI container skip methods with the name
injectSettings(). This has the benefit of making sure nobody
will use that function for injections lateron, making upgrade to
FLOW3 more easy.

Resolves: #11011

9 years ago* Updating ChangeLog for 1.3.0beta4
Sebastian Kurfürst [Wed, 12 Jan 2011 15:46:12 +0000 (15:46 +0000)]
* Updating ChangeLog for 1.3.0beta4

9 years ago[+TASK] Extbase (Tests): Fixed a repository unit test so that it works in CLI mode
Bastian Waidelich [Wed, 12 Jan 2011 15:32:19 +0000 (15:32 +0000)]
[+TASK] Extbase (Tests): Fixed a repository unit test so that it works in CLI mode

9 years ago[+TASK] Extbase (Tests): Fixed Extbase unit tests
Bastian Waidelich [Wed, 12 Jan 2011 15:27:48 +0000 (15:27 +0000)]
[+TASK] Extbase (Tests): Fixed Extbase unit tests

Additionally some code cleanups and minor tweaks

This resolves: #10792

9 years ago[+BUGFIX] Extbase (Persistence): Hidden Records in Workspaces now work
Sebastian Kurfürst [Wed, 12 Jan 2011 05:02:08 +0000 (05:02 +0000)]
[+BUGFIX] Extbase (Persistence): 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

The patch fixes the issue.

Thanks to Michael Voehringer for the bugfix!

Resolves: #8679

9 years ago[~TASK] Extbase: Fixed line endings (Windows to Unix).
Jochen Rau [Tue, 4 Jan 2011 18:18:05 +0000 (18:18 +0000)]
[~TASK] Extbase: Fixed line endings (Windows to Unix).

9 years ago[~TASK] Fluid (Tests): Fixed some more testcase class names and some unit tests
Bastian Waidelich [Thu, 30 Dec 2010 23:50:39 +0000 (23:50 +0000)]
[~TASK] Fluid (Tests): Fixed some more testcase class names and some unit tests

Relates to #10792

9 years ago[+FEATURE] Extbase (Utility): Add support for custom specify custom plugin icon
Bastian Waidelich [Thu, 30 Dec 2010 14:06:28 +0000 (14:06 +0000)]
[+FEATURE] Extbase (Utility): Add support for custom specify custom plugin icon

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:
'My Plugin description',
t3lib_extMgm::extRelPath($_EXTKEY) . 'Resources/Public/Icons/someIcon.gif'

Thanks to Steffen Müller for the initial patches!

Resolves #11179

9 years ago* Raised Version Number to 1.3.0beta3.
Sebastian Kurfürst [Mon, 27 Dec 2010 07:38:16 +0000 (07:38 +0000)]
* Raised Version Number to 1.3.0beta3.

9 years ago[+BUGFIX] Extbase (Tests): Fixed Tx_Extbase_MVC_Controller_AbstractController_testcas...
Jochen Rau [Fri, 24 Dec 2010 14:51:42 +0000 (14:51 +0000)]
[+BUGFIX] Extbase (Tests): Fixed Tx_Extbase_MVC_Controller_AbstractController_testcase. Thanks to Oliver Klee. Resolves #11567.

9 years ago[BUGFIX] Extbase (Configuration): Make Extbase work again in Backend
Sebastian Kurfürst [Tue, 21 Dec 2010 10:48:06 +0000 (10:48 +0000)]
[BUGFIX] Extbase (Configuration): Make Extbase work again in Backend

In case the extbase configuration could not be loaded,
we add it explicitely so that it works in all circumstances.

9 years ago[TASK] Extbase (Bootstrap): Removed superfluous exception
Sebastian Kurfürst [Tue, 21 Dec 2010 09:34:41 +0000 (09:34 +0000)]
[TASK] Extbase (Bootstrap): Removed superfluous exception

9 years ago[TASK] Extbase (Object): Adjust doc comments
Sebastian Kurfürst [Mon, 20 Dec 2010 17:02:12 +0000 (17:02 +0000)]
[TASK] Extbase (Object): Adjust doc comments

still adding some documentation for the object container.

9 years ago[!!!][+TASK] Extbase (Object): Rewritten Object Container
Sebastian Kurfürst [Mon, 20 Dec 2010 16:56:37 +0000 (16:56 +0000)]
[!!!][+TASK] Extbase (Object): Rewritten Object Container

I have re-written the core of the Object Manager,
implementing proper dependency injection now, covered
by some unit tests (which could still be improved)...

Now, the object lifecycle method ("initializeObject")
is automatically called once an object has all of its
dependencies injected.

Additionally, Extbase (again) works in the backend
with an empty page tree.

Please thoroughly test this change!

9 years ago[+BUGFIX] Extbase (MVC): Improve Exception message
Sebastian Kurfürst [Mon, 20 Dec 2010 16:56:28 +0000 (16:56 +0000)]
[+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.

9 years ago[+API] Extbase (Configuration): Adding getContentObject to API
Sebastian Kurfürst [Mon, 20 Dec 2010 16:56:23 +0000 (16:56 +0000)]
[+API] Extbase (Configuration): Adding getContentObject to API

10 years ago[+TASK] Extbase (Reflection): Added deprecation annotation to ObjectAccess::getAccess...
Bastian Waidelich [Thu, 2 Dec 2010 19:00:00 +0000 (19:00 +0000)]
[+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

Relates to: #8534

10 years ago[+BUGFIX] Extbase (Reflection): Added PropertyNotAccessibleException that I forgot...
Bastian Waidelich [Thu, 2 Dec 2010 18:55:35 +0000 (18:55 +0000)]
[+BUGFIX] Extbase (Reflection): Added PropertyNotAccessibleException that I forgot to add in previous commit

Relates to: #8534

10 years ago[+FEATURE] Extbase (Reflection): Tx_Extbase_Reflection_ObjectAccess supports stdClass...
Bastian Waidelich [Thu, 2 Dec 2010 17:44:06 +0000 (17:44 +0000)]
[+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.

10 years ago* Raising version to Extbase 1.3beta2a
Sebastian Kurfürst [Wed, 1 Dec 2010 12:47:57 +0000 (12:47 +0000)]
* Raising version to Extbase 1.3beta2a

10 years ago[+BUGFIX] Extbase (ConfigurationManager): FollowUp for #6067. Fixes a issue with...
Franz Koch [Wed, 1 Dec 2010 12:45:48 +0000 (12:45 +0000)]
[+BUGFIX] Extbase (ConfigurationManager): FollowUp for #6067. Fixes a issue with parsing flexform rootlevel keys not having child keys I recently came across

10 years ago[+BUGFIX] Extbase (Configuration): change the order of methods to determine the curre...
Franz Koch [Wed, 1 Dec 2010 12:35:09 +0000 (12:35 +0000)]
[+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

10 years ago[+TASK] Extbase (Object): Make sure the class info cache is returning valid objects
Franz Koch [Wed, 1 Dec 2010 12:30:08 +0000 (12:30 +0000)]
[+TASK] Extbase (Object): Make sure the class info cache is returning valid objects

10 years ago* Raised version number to 1.3.0beta2
Sebastian Kurfürst [Wed, 1 Dec 2010 07:09:08 +0000 (07:09 +0000)]
* Raised version number to 1.3.0beta2
* Updated ChangeLog

10 years ago[+BUGFIX] Extbase (Persistence): Persistence_Backend::getIdentifierByObject should...
Sebastian Kurfürst [Wed, 1 Dec 2010 07:08:57 +0000 (07:08 +0000)]
[+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.

Resolves: #11194

10 years ago[+BUGFIX] Extbase (Configuration): slightly tweaked FrontendConfigurationManager...
Bastian Waidelich [Tue, 30 Nov 2010 15:37:12 +0000 (15:37 +0000)]
[+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

10 years ago[+BUGFIX] Extbase (DomainObject): added default __toString method to Tx_Extbase_Domai...
Marc Bastian Heinrichs [Tue, 30 Nov 2010 13:30:21 +0000 (13:30 +0000)]
[+BUGFIX] Extbase (DomainObject): added default __toString method to Tx_Extbase_DomainObject_AbstractDomainObject. Thanks to Marco Huber. Resolves #8083

10 years ago[+BUGFIX] Extbase (MVC): Fixed UriBuilder for handling LazyLoadingProxy objects as...
Marc Bastian Heinrichs [Tue, 30 Nov 2010 12:09:44 +0000 (12:09 +0000)]
[+BUGFIX] Extbase (MVC): Fixed UriBuilder for handling LazyLoadingProxy objects as arguments. Resolves #10705

10 years ago[+TASK] Extbase (Object): re-added Tx_Extbase_Object_Manager to gain more backwards...
Bastian Waidelich [Tue, 30 Nov 2010 12:06:03 +0000 (12:06 +0000)]
[+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

10 years ago[+BUGFIX] Extbase (Tests): tweaked ObjectContainer tests. Tests are failing deliberat...
Bastian Waidelich [Tue, 30 Nov 2010 12:02:39 +0000 (12:02 +0000)]
[+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

10 years ago[+BUGFIX] Extbase (Domain): fixed (non-breaking) method name for getting usergroup...
Marc Bastian Heinrichs [Tue, 30 Nov 2010 12:00:19 +0000 (12:00 +0000)]
[+BUGFIX] Extbase (Domain): fixed (non-breaking) method name for getting usergroup in Tx_Extbase_Domain_Model_FrontendUser. Resolves #11019

10 years ago[+BUGFIX] Extbase (Domain): Tx_Extbase_Domain_Model_FrontendUserGroup::getSubgroup...
Marc Bastian Heinrichs [Tue, 30 Nov 2010 11:50:21 +0000 (11:50 +0000)]
[+BUGFIX] Extbase (Domain): Tx_Extbase_Domain_Model_FrontendUserGroup::getSubgroup() returns wrong property. Resolves #11020

10 years ago[+BUGFIX] Extbase (MVC): re-enabled HMAC check for BE forms. The deactivation was...
Bastian Waidelich [Tue, 30 Nov 2010 11:31:40 +0000 (11:31 +0000)]
[+BUGFIX] Extbase (MVC): re-enabled HMAC check for BE forms. The deactivation was just a temporary fix - HMAC should work in BE mode just like in FE

10 years ago[TASK] Extbase (Configuration): Fix whitespaces
Sebastian Kurfürst [Tue, 30 Nov 2010 10:40:36 +0000 (10:40 +0000)]
[TASK] Extbase (Configuration): Fix whitespaces

Removed some trailing whitespaces.

10 years ago[+TASK] extbase (ConfigurationManager): Made FrontendConfigurationManager parse recur...
Felix Oertel [Tue, 30 Nov 2010 10:01:00 +0000 (10:01 +0000)]
[+TASK] extbase (ConfigurationManager): Made FrontendConfigurationManager parse recurring sections in flexforms right. Thanks to Franz Koch (resolves #6067)

10 years ago[+BUGFIX] Extbase (Configuration): Slightly tweaked AbstractConfigurationManager
Bastian Waidelich [Sat, 27 Nov 2010 15:19:07 +0000 (15:19 +0000)]
[+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.

10 years ago[+TASK] Extbase (Tests): Renamed test files from "*_testcase.php" to "*Test.php"
Bastian Waidelich [Sat, 27 Nov 2010 12:05:29 +0000 (12:05 +0000)]
[+TASK] Extbase (Tests): Renamed test files from "*_testcase.php" to "*Test.php"

10 years ago[+TASK] Extbase (Tests): Moving all Tests in "Unit" directory (2/2)
Bastian Waidelich [Sat, 27 Nov 2010 11:57:04 +0000 (11:57 +0000)]
[+TASK] Extbase (Tests): Moving all Tests in "Unit" directory (2/2)

10 years ago[+TASK] Extbase (Tests): Moving all Tests in "Unit" directory.
Bastian Waidelich [Sat, 27 Nov 2010 11:54:43 +0000 (11:54 +0000)]
[+TASK] Extbase (Tests): Moving all Tests in "Unit" directory.

This is the first step of a bigger unit test cleanup

10 years ago[+FEATURE] Extbase (MVC): add possibility to output FlashMessageQueue
Bastian Waidelich [Sat, 27 Nov 2010 11:31:56 +0000 (11:31 +0000)]
[+FEATURE] Extbase (MVC): add possibility to output FlashMessageQueue

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)

This resolves: #10821

10 years ago[+TASK] Extbase (Persistence): counting query results does not work with limit constr...
Bastian Waidelich [Wed, 24 Nov 2010 19:51:33 +0000 (19:51 +0000)]
[+TASK] Extbase (Persistence): counting query results does not work with limit constraints

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.

This resolves: #10956

10 years ago[+TASK] Extbase (Persistence): findOneBy*() methods should return NULL if no item...
Bastian Waidelich [Wed, 24 Nov 2010 18:56:00 +0000 (18:56 +0000)]
[+TASK] Extbase (Persistence): findOneBy*() methods should return NULL if no item was found

This resolves: #10958

10 years ago[+TASK] Extbase (Core): Slightly improved error handling in bootstrap
Bastian Waidelich [Wed, 24 Nov 2010 18:48:53 +0000 (18:48 +0000)]
[+TASK] Extbase (Core): Slightly improved error handling in bootstrap

This resolves: #11055

10 years ago[+BUGFIX] Extbase (MVC): disable HMAC check for BE forms
Bastian Waidelich [Wed, 24 Nov 2010 18:47:53 +0000 (18:47 +0000)]
[+BUGFIX] Extbase (MVC): disable HMAC check for BE forms

10 years ago[~TASK] Extbase (Utility): Changed Tx_Extbase_Utility_TypoScript:convertPlainArrayToT...
Nikolas Hagelstein [Fri, 19 Nov 2010 14:23:48 +0000 (14:23 +0000)]
[~TASK] Extbase (Utility): Changed Tx_Extbase_Utility_TypoScript:convertPlainArrayToTypoScriptArray to self::convertPlainArrayToTypoScriptArray. Resolves #10538.

10 years ago[+BUGFIX] Extbase (MVC): UriBuilder: use current plugin if no pluginName has been...
Bastian Waidelich [Thu, 18 Nov 2010 18:30:31 +0000 (18:30 +0000)]
[+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 is does not contain the action.

This fixes: #10932

10 years ago* Updated version to 1.3.0beta1a
Bastian Waidelich [Wed, 17 Nov 2010 12:25:00 +0000 (12:25 +0000)]
* Updated version to 1.3.0beta1a
* Updated ChangeLog

10 years ago[+TASK] Extbase: Re-implement support for BE modules
Bastian Waidelich [Tue, 16 Nov 2010 23:39:14 +0000 (23:39 +0000)]
[+TASK] Extbase: Re-implement support for BE modules

This is a major rework of the backend module handling in Extbase.
It still needs some refinements and it does not yet support all
BE module features we were planning to support (see #5097 and #5098)
but it's a cleaner base for further development.
Previous Extbase BE modules should now work again.

This resolves: #10583

10 years ago[+BUGFIX]: Extbase (Persistence): Fixed typo from previous commit
Bastian Waidelich [Tue, 16 Nov 2010 13:12:35 +0000 (13:12 +0000)]
[+BUGFIX]: Extbase (Persistence): Fixed typo from previous commit

10 years ago[+BUGFIX] Extbase (Persistence): DataMapper cannot deal with QueryResults
Bastian Waidelich [Tue, 16 Nov 2010 12:55:19 +0000 (12:55 +0000)]
[+BUGFIX] Extbase (Persistence): DataMapper cannot deal with QueryResults

Tx_Extbase_Persistence_Mapper_DataMapper::mapResultToPropertyValue() expected
the query result to be an array. Changed this to handle instances of type

Fixes: #10850

10 years ago* Raised version number to 1.3.0beta1
Sebastian Kurfürst [Tue, 16 Nov 2010 11:42:08 +0000 (11:42 +0000)]
* Raised version number to 1.3.0beta1

10 years ago* Updated ChangeLog
Sebastian Kurfürst [Tue, 16 Nov 2010 11:18:55 +0000 (11:18 +0000)]
* Updated ChangeLog

10 years ago[+BUGFIX] Extbase (Object): The Object Container now properly uses the TYPO3 caching...
Bastian Waidelich [Tue, 16 Nov 2010 11:07:09 +0000 (11:07 +0000)]
[+BUGFIX] Extbase (Object): The Object Container now properly uses the TYPO3 caching framework. By default the DI cache is now stored in database, just like the reflection cache

10 years ago* Updated ChangeLog
Sebastian Kurfürst [Tue, 16 Nov 2010 10:52:30 +0000 (10:52 +0000)]
* Updated ChangeLog

10 years ago[+BUGFIX]: Extbase (Utility): Replaced one last occurrence of TYPE_PLUGIN by PLUGIN_T...
Bastian Waidelich [Tue, 16 Nov 2010 10:47:10 +0000 (10:47 +0000)]
[+BUGFIX]: Extbase (Utility): Replaced one last occurrence of TYPE_PLUGIN by PLUGIN_TYPE_PLUGIN in Tx_Extbase_Utility_Extension

10 years ago[~TASK] Extbase (Utility): renamed Tx_Extbase_Utility_Extension::TYPE_CONTENT_ELEMENT...
Bastian Waidelich [Tue, 16 Nov 2010 10:43:14 +0000 (10:43 +0000)]
[~TASK] Extbase (Utility): renamed Tx_Extbase_Utility_Extension::TYPE_CONTENT_ELEMENT to Tx_Extbase_Utility_Extension::PLUGIN_TYPE_CONTENT_ELEMENT and Tx_Extbase_Utility_Extension::TYPE_PLUGIN to Tx_Extbase_Utility_Extension::PLUGIN_TYPE_PLUGIN

10 years ago* Updated ChangeLog
Bastian Waidelich [Tue, 16 Nov 2010 10:38:14 +0000 (10:38 +0000)]
* Updated ChangeLog

10 years ago[+FEATURE] Extbase (Persistence): Default orderings & QuerySettings
Bastian Waidelich [Tue, 16 Nov 2010 10:34:14 +0000 (10:34 +0000)]
[+FEATURE] Extbase (Persistence): Default orderings & QuerySettings

It is now possible to change the default orderings of a repository without needing to
modify the query by setting the $defaultOrderings field 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:
public function initializeObject() {
  $querySettings = $this->objectManager->create('Tx_Extbase_Persistence_Typo3QuerySettings');
Of course, QuerySettings can be overridden too in your custom finder method by calling $query->setQuerySettings();

This resolves: #10319

10 years ago[~TASK] Reverted previous "[~TASK] Extbase: Reimplemented BE module support. Still...
Jochen Rau [Tue, 16 Nov 2010 10:31:03 +0000 (10:31 +0000)]
[~TASK] Reverted previous "[~TASK] Extbase: Reimplemented BE module support. Still needs cleanup."

This reverts commit fa24749433846a6fd5860df94ad0e9e04ef375db.

10 years ago[~TASK] Extbase: Reimplemented BE module support. Still needs cleanup.
Jochen Rau [Tue, 16 Nov 2010 10:17:24 +0000 (10:17 +0000)]
[~TASK] Extbase: Reimplemented BE module support. Still needs cleanup.

10 years ago[~BUGFIX] Extbase: Fixed the way a module gets called.
Jochen Rau [Tue, 16 Nov 2010 10:17:03 +0000 (10:17 +0000)]
[~BUGFIX] Extbase: Fixed the way a module gets called.

10 years agoUpdated ChangeLog
Sebastian Kurfürst [Tue, 16 Nov 2010 09:41:31 +0000 (09:41 +0000)]
Updated ChangeLog

10 years ago* Updated ChangeLog
Sebastian Kurfürst [Tue, 16 Nov 2010 09:36:00 +0000 (09:36 +0000)]
* Updated ChangeLog

10 years ago[+FEATURE] Extbase (Utility): Allow plugins to be registered as new content element
Bastian Waidelich [Mon, 15 Nov 2010 22:16:38 +0000 (22:16 +0000)]
[+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

10 years ago[+BUGFIX] Extbase (Utility): Added condition to Tx_Extbase_Utility_Extension::getTarg...
Bastian Waidelich [Mon, 15 Nov 2010 21:58:04 +0000 (21:58 +0000)]
[+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

10 years ago[!!!][~TASK] Extbase (Configuration): Major rework of the ConfigurationManager
Bastian Waidelich [Mon, 15 Nov 2010 21:55:25 +0000 (21:55 +0000)]
[!!!][~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: = USER {
  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

10 years ago[~TAKS] Extbase (MVC): FrontendRequestHandler now retrieves the current cObject throu...
Bastian Waidelich [Mon, 15 Nov 2010 15:39:30 +0000 (15:39 +0000)]
[~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

10 years ago[+BUGFIX] Extbase (MVC): Flashmessages now share a scope throughout the extension...
Bastian Waidelich [Mon, 15 Nov 2010 11:20:00 +0000 (11:20 +0000)]
[+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

10 years ago[FEATURE] Extbase (Object): Make DI Class Mapping configurable through TS
Sebastian Kurfürst [Mon, 15 Nov 2010 08:36:51 +0000 (08:36 +0000)]
[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

Resolves: #10559

10 years ago[-TASK] Extbase (Utility): Removed two obsolete checks for $GLOBALS['TSFE']->tmpl...
Bastian Waidelich [Sun, 14 Nov 2010 16:44:26 +0000 (16:44 +0000)]
[-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

10 years ago[+BUGFIX] Extbase (Persistence): Extbase still used PHPs current() on some QueryResul...
Bastian Waidelich [Sun, 14 Nov 2010 14:56:14 +0000 (14:56 +0000)]
[+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

10 years ago[+BUGFIX] Extbase (MVC): view configuration (templateRootPath, ...) has to be set...
Bastian Waidelich [Sun, 14 Nov 2010 13:54:39 +0000 (13:54 +0000)]
[+BUGFIX] Extbase (MVC): view configuration (templateRootPath, ...) has to be set before View::canRender() is called

10 years ago[!!!][+TASK] Extbase (MVC): The UriBuilder now uses the current cObject instead of...
Bastian Waidelich [Sat, 13 Nov 2010 19:38:47 +0000 (19:38 +0000)]
[!!!][+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

10 years ago[+BUGFIX] Extbase: fixed php warning in Tx_Extbase_Persistence_LazyLoadingProxy when...
Marc Bastian Heinrichs [Wed, 10 Nov 2010 22:43:47 +0000 (22:43 +0000)]
[+BUGFIX] Extbase: fixed php warning in Tx_Extbase_Persistence_LazyLoadingProxy when loading the real instance would return NULL. Resolves #10683

10 years ago[+BUGFIX] Extbase: use 3rd parameter = TRUE of t3lib_div::trimExplode to split switch...
Marc Bastian Heinrichs [Wed, 10 Nov 2010 22:34:12 +0000 (22:34 +0000)]
[+BUGFIX] Extbase: use 3rd parameter = TRUE of t3lib_div::trimExplode to split switchableControllerActionParts from flexform. Thanks to Georg Ringer. Resolves #10688

10 years ago[+TASK] Extbase: Replaced "public static" by "static public" in various places to...
Bastian Waidelich [Wed, 10 Nov 2010 19:05:49 +0000 (19:05 +0000)]
[+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

10 years ago[!!!] Extbase: Reintegrating branch "dispatcher" to trunk. Resolves: #10605
Bastian Waidelich [Wed, 10 Nov 2010 18:56:01 +0000 (18:56 +0000)]
[!!!] 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
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.

10 years ago[!!!][+BUGFIX] Extbase: fixed typo in getter and setter of Tx_Extbase_Domain_Model_Fr...
Marc Bastian Heinrichs [Sun, 7 Nov 2010 11:39:41 +0000 (11:39 +0000)]
[!!!][+BUGFIX] Extbase: fixed typo in getter and setter of Tx_Extbase_Domain_Model_FrontendUser::lastlogin . Thanks to Christian Schwan. Resolves #9345

10 years ago[+FEATURE] Extbase (MVC): Backport possibility to change the view object class name...
Bastian Waidelich [Tue, 2 Nov 2010 19:03:28 +0000 (19:03 +0000)]
[+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

10 years ago[+BUGFIX] Extbase: Some smaller tweaks and fixes
Bastian Waidelich [Tue, 2 Nov 2010 18:20:52 +0000 (18:20 +0000)]
[+BUGFIX] Extbase: Some smaller tweaks and fixes
[!!!][+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

10 years ago[+BUGFIX] Extbase (Object): Minor fix in ObjectManager to make it compatible with...
Bastian Waidelich [Tue, 2 Nov 2010 18:06:24 +0000 (18:06 +0000)]
[+BUGFIX] Extbase (Object): Minor fix in ObjectManager to make it compatible with PHP 5.2.x

Relates to: #9062

10 years ago[+BUGFIX] Extbase (Object): Refactor Object Manager
Sebastian Kurfürst [Tue, 2 Nov 2010 13:23:07 +0000 (13:23 +0000)]
[+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

10 years ago* Cleaned up Persistence Backend
Sebastian Kurfürst [Tue, 2 Nov 2010 09:42:08 +0000 (09:42 +0000)]
* Cleaned up Persistence Backend

10 years ago* Cleaned up QOM Factory
Sebastian Kurfürst [Tue, 2 Nov 2010 09:42:01 +0000 (09:42 +0000)]
* Cleaned up QOM Factory

10 years ago[+BUGFIX] Extbase (MVC): Fix arguments object
Sebastian Kurfürst [Tue, 2 Nov 2010 09:41:53 +0000 (09:41 +0000)]
[+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

10 years ago[+FEATURE] Extbase (DI): merging DI into trunk. (resolves #10558)
Felix Oertel [Mon, 1 Nov 2010 21:38:37 +0000 (21:38 +0000)]
[+FEATURE] Extbase (DI): merging DI into trunk. (resolves #10558)

10 years ago[+TASK] Extbase: Undefined identifier in Tx_Extbase_Persistence_Storage_Typo3DbBacken...
Xavier Perseguers [Mon, 1 Nov 2010 17:44:41 +0000 (17:44 +0000)]
[+TASK] Extbase: Undefined identifier in Tx_Extbase_Persistence_Storage_Typo3DbBackend::removeRow

Method clearPageCache was given an undefined variable $uid as second parameter.

Resolves: #10570

10 years ago[+TASK] Extbase: $query->contains generate incomplete SQL
Xavier Perseguers [Mon, 1 Nov 2010 17:38:13 +0000 (17:38 +0000)]
[+TASK] Extbase: $query->contains generate incomplete SQL

Use FIND_IN_SET instead of a self-constructed query of LIKE statements
Resolves: #8959

10 years ago[+BUGFIX] Extbase (Persistence): Removed method createQuery from the QOMFactory....
Jochen Rau [Tue, 19 Oct 2010 14:50:32 +0000 (14:50 +0000)]
[+BUGFIX] Extbase (Persistence): Removed method createQuery from the QOMFactory. It is neither part of the API nor is it used by Extbase.

Resolves #10215