9 years agoMerge "[~BUGFIX] correct annotations of Tx_Extbase_Persistence_Mapper_DataMapper"
Bastian Waidelich [Mon, 7 Mar 2011 13:32:46 +0000 (14:32 +0100)]
Merge "[~BUGFIX] correct annotations of Tx_Extbase_Persistence_Mapper_DataMapper"

9 years agoMerge "[~TASK] (FlashMessages) finish the renaming of flashMessages"
Bastian Waidelich [Mon, 7 Mar 2011 13:26:22 +0000 (14:26 +0100)]
Merge "[~TASK] (FlashMessages) finish the renaming of flashMessages"

9 years ago[~BUGFIX] correct annotations of Tx_Extbase_Persistence_Mapper_DataMapper
Felix Oertel [Mon, 21 Feb 2011 20:37:22 +0000 (21:37 +0100)]
[~BUGFIX] correct annotations of Tx_Extbase_Persistence_Mapper_DataMapper

In several places the DataMapper is still annotated with it's old
classname Tx_Extbase_Persistence_DataMapper.

* replace remaining old annotations with new classname

Fixes: #13185

(Thanks to Simon Schaufelberger for the initial patch.)

Change-Id: I07cbd05be909e6d591ee1697b325b79a02a76d57

9 years ago[~TASK] (FlashMessages) finish the renaming of flashMessages
Felix Oertel [Thu, 3 Mar 2011 12:52:25 +0000 (13:52 +0100)]
[~TASK] (FlashMessages) finish the renaming of flashMessages

Membervariables holding Tx_Extbase_MVC_Controller_FlashMessages were
renamed from $flashMessage to $flashMessageContainer some time ago.
Not all declarations and getter, setter and injectors were tagged
deprecated back then.

* rename left over member variables
* tag all corresponding methods deprecated
* add call to t3lib_div::logDeprecatedFunction()
* make sure the new flashMessageContainer is used everywhere

Change-Id: Iac19c5aabed7d225362cf0a9cfa3740f37f2b3b8

9 years ago[+BUGFIX] (Configuration): Adjusted Interface to implementation
Sebastian Kurfuerst [Wed, 16 Feb 2011 06:20:41 +0000 (07:20 +0100)]
[+BUGFIX] (Configuration): Adjusted Interface to implementation

The ConfigurationManagerInterface and the ConfigurationManager
had a different API, but of course they should be the same.

Change-Id: Ifff624dfc9cb4d29482e10edae805a517b8e11b1

9 years ago[~TASK] Extbase: Raising version from 1.3.0 to 1.4.0-devel
Bastian Waidelich [Tue, 15 Feb 2011 15:43:04 +0000 (16:43 +0100)]
[~TASK] Extbase: Raising version from 1.3.0 to 1.4.0-devel

Change-Id: Ia92aa5568cced5acbcec671d7d278d4c9717446f

9 years ago[+TASK] Extbase (MVC): Removed duplicated code from RequestBuilder. Thanks to Peter...
Jochen Rau [Thu, 27 Jan 2011 15:47:33 +0000 (10:47 -0500)]
[+TASK] Extbase (MVC): Removed duplicated code from RequestBuilder. Thanks to Peter Niederlag.

Resolves #12569.

Change-Id: I4bc732dfa20ffde40d96012c6534de11bad6ec5f

9 years ago* Raising Version number to 1.3.0.
Sebastian Kurfürst [Wed, 26 Jan 2011 08:19:54 +0000 (08:19 +0000)]
* Raising Version number to 1.3.0.

9 years ago[+BUGFIX] Extbase (Tests): reset added t3lib_div instances in UriBuilder & Extension...
Bastian Waidelich [Tue, 25 Jan 2011 19:38:28 +0000 (19:38 +0000)]
[+BUGFIX] Extbase (Tests): reset added t3lib_div instances in UriBuilder & Extension tests

9 years ago[+BUGFIX] Extbase (Persistence): Fixed updating of related objects. Thanks to Björn...
Jochen Rau [Tue, 25 Jan 2011 18:48:24 +0000 (18:48 +0000)]
[+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()).

9 years ago[+TASK] Extbase (Persistence): Added two properties to describe a weird PHP behavior...
Jochen Rau [Tue, 25 Jan 2011 18:48:14 +0000 (18:48 +0000)]
[+TASK] Extbase (Persistence): Added two properties to describe a weird PHP behavior if calling current() on an ObjectStorage.

9 years ago[+BUGFIX] Extbase (MVC): Fixed argument order of Tx_Extbase_Utility_Extension::isActi...
Bastian Waidelich [Tue, 25 Jan 2011 17:49:33 +0000 (17:49 +0000)]
[+BUGFIX] Extbase (MVC): Fixed argument order of Tx_Extbase_Utility_Extension::isActionCacheable() call in UriBuilder

9 years ago[+TASK] Extbase (DomainObject): Added setPid() and getPid() to the DomainObjectInterf...
Jochen Rau [Tue, 25 Jan 2011 05:08:50 +0000 (05:08 +0000)]
[+TASK] Extbase (DomainObject): Added setPid() and getPid() to the DomainObjectInterface and removed the "final" keyword.

Related to #11361.

9 years ago[~TASK] Extbase: Moved isActionCacheable() from UriBuilder to Utility/Extension helpe...
Bastian Waidelich [Mon, 24 Jan 2011 16:44:45 +0000 (16:44 +0000)]
[~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.

9 years ago[+TASK] Extbase (Utility): implemented validation of arguments passed to sql statemen...
Felix Oertel [Mon, 24 Jan 2011 08:16:33 +0000 (08:16 +0000)]
[+TASK] Extbase (Utility): implemented validation of arguments passed to sql statements in Tx_Extbase_Utility_Cache. (resolves #11978)

9 years ago* Updated ChangeLog and raised version number to 1.3.0RC1
Sebastian Kurfürst [Fri, 21 Jan 2011 13:42:25 +0000 (13:42 +0000)]
* Updated ChangeLog and raised version number to 1.3.0RC1

9 years ago[-TASK] Extbase (Persistence): Reverting commit r3883 and r3852.
Jochen Rau [Fri, 21 Jan 2011 13:03:07 +0000 (13:03 +0000)]
[-TASK] Extbase (Persistence): Reverting commit r3883 and r3852.

Related to #9270.

9 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

9 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,
* 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

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

Resolves: #12013

9 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

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

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

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

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

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

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

10 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

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

10 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

10 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

10 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
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

10 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

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

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

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

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

10 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

10 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

10 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

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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

10 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

10 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

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

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

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

10 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

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

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

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

10 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