Packages/TYPO3.CMS.git
8 years ago[+BUGFIX] Extbase (Object): constructor injection fails if default value for a depend...
Sebastian Kurfürst [Fri, 21 Jan 2011 13:01:39 +0000 (13:01 +0000)]
[+BUGFIX] Extbase (Object): constructor injection fails if default value for a dependency is NULL

In Container class the existence of a default value was checked with
isset($argumentInformation['defaultValue']) which returns false if
$argumentInformation['defaultValue'] === NULL.

This commit fixes this issue using array_key_exists() instead and adds a unit test.

Thanks to Lienhart Woitok for the patch!

Resolves: #11623

8 years ago[BUGFIX] Extbase (Object): Allow injection of prototypes via dependency injection
Sebastian Kurfürst [Fri, 21 Jan 2011 12:34:03 +0000 (12:34 +0000)]
[BUGFIX] Extbase (Object): Allow injection of prototypes via dependency injection

This change allows Injection of Prototypes into singletons
and prototypes. Now, all four 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

All cases above are covered with unit tests, both
when using setter injection and when using constructor
injection.

Additionally, I greatly improved the unit tests, and added
working cycle detection in case of prototype objects
depending on each other.

Resolves: #12013

8 years ago[+BUGFIX] Extbase (Persistence): Use sql_free_result() in Typo3DbBackend to free...
Marc Bastian Heinrichs [Fri, 21 Jan 2011 11:46:07 +0000 (11:46 +0000)]
[+BUGFIX] Extbase (Persistence): Use sql_free_result() in Typo3DbBackend to free result memory. Resolves #10957

8 years ago[~BUGFIX] Extbase (Persistence): fixed an wrong referenced exception (resolves #12403)
Felix Oertel [Fri, 21 Jan 2011 11:41:24 +0000 (11:41 +0000)]
[~BUGFIX] Extbase (Persistence): fixed an wrong referenced exception (resolves #12403)

8 years ago[~BUGFIX] Extbase (Persistence): make Tx_Extbase_Persistence_Repository::remove(...
Felix Oertel [Fri, 21 Jan 2011 11:28:44 +0000 (11:28 +0000)]
[~BUGFIX] Extbase (Persistence): make Tx_Extbase_Persistence_Repository::remove() handle freshly created objects right. (resolves #11128)

8 years ago[~FOLLOWUP] Extbase (Utility): allow clearPageCache() to clear single, multiple and...
Felix Oertel [Fri, 21 Jan 2011 09:42:47 +0000 (09:42 +0000)]
[~FOLLOWUP] Extbase (Utility): allow clearPageCache() to clear single, multiple and all pageCaches. (resolves 11978)

8 years ago[+BUGFIX] Extbase (MVC): UriBuilder automatically added a cHash even on links to...
Franz Koch [Thu, 20 Jan 2011 22:17:40 +0000 (22:17 +0000)]
[+BUGFIX] Extbase (MVC): UriBuilder automatically added a cHash even on links to nonCacheable actions where this is not needed/recommended (resolves #8565)

8 years ago[~BUGFIX] Extbase (Persistence): made union statement on comma seperated list use...
Felix Oertel [Thu, 20 Jan 2011 21:37:36 +0000 (21:37 +0000)]
[~BUGFIX] Extbase (Persistence): made union statement on comma seperated list use find_in_set (Thanks to Marc Bastian Heinrichs) (resolves #9772)

8 years ago[+TASK] Extbase (Utility): allow clearPageCache() to clear single, multiple and all...
Felix Oertel [Thu, 20 Jan 2011 21:11:50 +0000 (21:11 +0000)]
[+TASK] Extbase (Utility): allow clearPageCache() to clear single, multiple and all pageCaches.

8 years ago[+BUGFIX] Extbase (MVC): Improve Error Handling in Request Builder
Sebastian Kurfürst [Thu, 20 Jan 2011 06:17:23 +0000 (06:17 +0000)]
[+BUGFIX] Extbase (MVC): Improve Error Handling in Request Builder

In the RequestBuilder, there is no error-handling which you get,
in case you've forgotten to configure the controllerActions in ext_localconf.php.

This patch adds some exceptions - you can't go without this config and things will break lateron anyway.

Thanks to Felix Oertel for the Patch!

Resolves: #11302

8 years ago[+TASK] Extbase (DomainObject): Added unit test to check circular dependencies.
Jochen Rau [Wed, 19 Jan 2011 21:52:44 +0000 (21:52 +0000)]
[+TASK] Extbase (DomainObject): Added unit test to check circular dependencies.

Related to #9270.

8 years ago[+BUGFIX] Extbase (Persistence): remove superfluous require_once statements
Sebastian Kurfürst [Wed, 19 Jan 2011 07:46:26 +0000 (07:46 +0000)]
[+BUGFIX] Extbase (Persistence): remove superfluous require_once statements

There are some require_once of classes that already are covered by the
Core autoloaded. This is unnecessary and also a negatively affects
performance (because require_once is rather slow). That's why these
require_once statements are dropped.

Thanks to Oliver Klee for the patch!

Resolves: #12324

8 years ago[+BUGFIX] Extbase (Tests): Remove require_once of phpunit testclasses
Sebastian Kurfürst [Wed, 19 Jan 2011 07:42:38 +0000 (07:42 +0000)]
[+BUGFIX] Extbase (Tests): Remove require_once of phpunit testclasses

The phpunit extension already automatically includes the base test
classes. So the extbase base test classes do not need the require.

Thanks to Oliver Klee for the patch!

Resolves: #12323

8 years ago[+BUGFIX] Extbase (Utility): Make _LOCAL_LANG override work with dots
Sebastian Kurfürst [Tue, 18 Jan 2011 18:00:19 +0000 (18:00 +0000)]
[+BUGFIX] Extbase (Utility): Make _LOCAL_LANG override work with dots

When dealing with Locallang files, it is a common approach to
write locallang keys with dots, as example tx_foo.bar.
You can overwrite these keys easily by Typoscript _LOCAL_LANG,
and with this patch this also works with keys containing dots.

Thanks to Thomas Maroschik for the initial implementation!

Resolves: #12121

8 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

8 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.

8 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.

8 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.

8 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.

8 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

8 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

8 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

8 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'

8 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

8 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

8 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
settings.
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

8 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

8 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

8 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

8 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

8 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).

8 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

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

Thanks to Steffen Müller for the initial patches!

Resolves #11179

8 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.

8 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.

8 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.

8 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

8 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.

8 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!

8 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.

8 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

8 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

8 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

8 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.

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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.

8 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)

8 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.

8 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"

8 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)

8 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

8 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

8 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

8 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

8 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

8 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

8 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.

8 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

8 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

8 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

8 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

8 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
Tx_Extbase_Persistence_QueryResultInterface

Fixes: #10850

8 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

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

8 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

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

8 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

8 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

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

8 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');
  $querySettings->setRespectStoragePage(FALSE);
  $this->setDefaultQuerySettings($querySettings);
}
Of course, QuerySettings can be overridden too in your custom finder method by calling $query->setQuerySettings();

This resolves: #10319

8 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.

8 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.

8 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.

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

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

8 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

8 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

8 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:
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

8 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

8 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

8 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
[NewClassName].

Resolves: #10559

8 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

8 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

8 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

8 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

8 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

8 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