Packages/TYPO3.CMS.git
7 years ago[BUGFIX] Failing test translateForEmptyStringKeyReturnsNull()
Christian Kuhn [Mon, 20 Aug 2012 13:10:46 +0000 (15:10 +0200)]
[BUGFIX] Failing test translateForEmptyStringKeyReturnsNull()

Since the rootline refactoring a test case fails. Solution is to only
call the rootline in backend mode if page id is not 0. This additionally
saves some cycles in backend context.

Change-Id: I224ae2655b06dfb1f239b06d6ac2cbb89206a7a8
Resolves: #39997
Related: #39352
Releases: 6.0
Reviewed-on: http://review.typo3.org/13966
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[FEATURE] Integrate basic file abstraction layer models
Oliver Hader [Sat, 18 Aug 2012 12:51:18 +0000 (14:51 +0200)]
[FEATURE] Integrate basic file abstraction layer models

Warning: This feature is marked as experimental! It is a quick shot to
get a basic connection between extbase and FAL. We added the code to
see if it works out, but it is also possible that we decide to throw it
away completly and substitute it with something different later on. Be
aware of this if you use the models and type converters in your code!

Since the file abstraction layer (FAL) has been introduced during the
development of TYPO3 6.0, it is also required to have an automized and
fluent way to access those abstract files via Extbase. Since the FAL
models cannot completely and directly be used as Extbase Domain object,
simple wrapping objects are defined to access the concrete objects.

The patch adds the basic models for this. Furthermore additional type
converter classes are added for those models.

The patch contains an additional base test case that is able to create
a test database and feed it with fixture data, it is also marked as
experimental.

Change-Id: I537d32377ddd891627af2c163af252c48554d003
Resolves: #39926
Releases: 6.0
Reviewed-on: http://review.typo3.org/13885
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[BUGFIX] Property mapper: Exception not thrown but skipped
dkd-egerer Sascha Egerer [Fri, 17 Aug 2012 07:11:01 +0000 (09:11 +0200)]
[BUGFIX] Property mapper: Exception not thrown but skipped

The transformToObject function in the property mapper
checks for an existing record if an identity is given.
If no record could be found an exception should be thrown.
But the exception will never be thrown due to a wrong
condition. The condition checks for FALSE but NULL is
given.

The Exception does also not exist.

Change-Id: If6ac4d3275718cabab9c94904dad264472630c18
Fixes: #39876
Releases: 1.3, 1.4, 4.7, 6.0
Reviewed-on: http://review.typo3.org/13842
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
7 years ago[TASK] Unit test for FrontendUserGroup model
Markus Günther [Thu, 16 Aug 2012 10:14:06 +0000 (12:14 +0200)]
[TASK] Unit test for FrontendUserGroup model

To improve the test coverage we should have unit tests for the
frontend user group model in extbase.

Change-Id: I8e1005e9178161f2ba41b2277a7d993b8448eba9
Resolves: #39848
Release: 6.0
Reviewed-on: http://review.typo3.org/13809
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
7 years ago[TASK] Unit test for FrontendUser model
Markus Günther [Fri, 17 Aug 2012 08:20:36 +0000 (10:20 +0200)]
[TASK] Unit test for FrontendUser model

To improve the test coverage we should have unit tests for the
frontend user model in extbase.

Change-Id: I975db656f7e7a3dcc2704923f4878acb0505fa49
Resolves: #39849
Release: 6.0
Reviewed-on: http://review.typo3.org/13846
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
7 years ago[BUGFIX] ObjectManager dependencies in SignalSlot registration
Oliver Hader [Sun, 22 Jul 2012 15:10:23 +0000 (17:10 +0200)]
[BUGFIX] ObjectManager dependencies in SignalSlot registration

The SignalSlotDispatcher has a connect() and dispatch() method.
The connect() method usually might be used in ext_localconf.php
to register accordant slots - however, the SignalSlotDispatcher
relies on a fully initialized ObjectManager that also relies on
a fully initialized Caching Framework.

Since the Caches are not ready yet in ext_localconf.php the
whole thing will fail.

This patch removes the dependency of the ObjectManager
injecting itself to the SignalSlotDispatcher by explicitely
calling the initializeObject() method at a later point.

The SignalSlotDispatcher can then be used like this:

t3lib_div::makeInstance('Tx_Extbase_SignalSlot_Dispatcher')
  ->connect('Tx_MyClass', 'MySignal', 'Slot', 'slotMethod');

Change-Id: Ib0122a341865c334448f23a46bc8841c4817fdf7
Fixes: #39174
Releases: 4.7, 6.0
Reviewed-on: http://review.typo3.org/12989
Reviewed-by: Daniel Lorenz
Reviewed-by: Jacob Rasmussen
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[BUGFIX] Possible failure in dependency injection
Christian Kuhn [Fri, 17 Aug 2012 13:36:56 +0000 (15:36 +0200)]
[BUGFIX] Possible failure in dependency injection

Extbase reflection cache calls not existing methods. This can
happen for example if a class is refactored and an injectMethod
has been dropped.

Change-Id: I30071b53f300ef340d6c882ed40f0f67fb86c440
Fixes: #39892
Related: #39174
Releases: 6.0, 4.7
Reviewed-on: http://review.typo3.org/13864
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[BUGFIX] Web Request should map $_FILES into arguments
Kevin Ulrich Moschallski [Mon, 5 Mar 2012 10:31:43 +0000 (11:31 +0100)]
[BUGFIX] Web Request should map $_FILES into arguments

Adds content of $_FILES to the request parameters.
Use FLOW3 untangleFilesArray method to set the array, as suggested
by Bastian Waidelich.

Note that file properties must be arrays not strings.

Thanks to Kevin Ulrich Moschallski for the patch.
Thanks to Tymoteusz Motylewski for the unittest.

Change-Id: Ib851c6412afc0291520e61613ad439e34e0603bd
Fixes: #34528
Releases: 6.0
Reviewed-on: http://review.typo3.org/9379
Reviewed-by: Tymoteusz Motylewski
Tested-by: Tymoteusz Motylewski
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
Reviewed-by: Ingo Pfennigstorf
Tested-by: Ingo Pfennigstorf
Reviewed-by: Markus Günther
Tested-by: Markus Günther
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
7 years ago[FEATURE] Backend usergroup model and repository
Markus Günther [Mon, 13 Aug 2012 14:46:12 +0000 (16:46 +0200)]
[FEATURE] Backend usergroup model and repository

This patch delivers an backend usergroup model and repository.

Change-Id: Ie0da23ee0160a928f74726ceec5b243348a331ef
Resolves: #39332
Releases: 6.0
Reviewed-on: http://review.typo3.org/13626
Reviewed-by: Mattias Nilsson
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[FEATURE] File mount model and repository
Markus Günther [Thu, 2 Aug 2012 20:41:39 +0000 (22:41 +0200)]
[FEATURE] File mount model and repository

Actually we have a backend user model in extbase and a backend usergroup
is in progress. For these models we need a seperate file mount model.

This patch includes the model and the repository with the typoscript
mapping on the datebase table.

Change-Id: Id0b4a1ad168ba189940282222bf4e08b6441a3bf
Resolves: #39323
Releases: 6.0
Reviewed-on: http://review.typo3.org/13429
Reviewed-by: Ingo Pfennigstorf
Tested-by: Ingo Pfennigstorf
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[FEATURE] Handle enable fields and deleted records settings granulary
Jochen Rau [Mon, 30 Jan 2012 15:57:49 +0000 (16:57 +0100)]
[FEATURE] Handle enable fields and deleted records settings granulary

At the moment it's only possible to select either only visible
(non-hidden, matching start-/stop-time) or all (even deleted)
records.

To ensure a consistent handling in sync with TYPO3 Core behavior, it's
necessary to select disabled but not deleted records in the
backend.

This also effects findByUid() via the Typo3QuerySettings and
allows to write to disabled records in BE context.

* deprecates respectEnableFields in QuerySettingsInterface
* introduces ignoreEnableFields in QuerySettingsInterface
* introduces enableFieldsToBeIgnored in QuerySettingsInterface
* introduces includeDeleted in QuerySettingsInterface
* introduces feature flag ignoreAllEnableFieldsInBe to control default behavior
* select disabled but not deleted records in BE context

Fixes: #29501
Fixes: #8483
Change-Id: I11beb3b83589ad91d72d05116488408fff8d9e75
Releases: 6.0
Reviewed-on: http://review.typo3.org/8773
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[FEATURE] Improved translation handling for statement generation
Nicole Cordes [Thu, 5 Apr 2012 17:24:34 +0000 (19:24 +0200)]
[FEATURE] Improved translation handling for statement generation

When selecting items in a language other than default one, the
relations (e.g. for IRRE) can not be resolved correctly. This
fix adds the current language if handling is enabled for the chosen
table. Besides it corrects the ordering of items as it selects all
possible ones. For correct overlay the origin is fetched before.

Change-Id: Ibcfe83314c0f2fff54348d9ffab97cd7546779ca
Resolves: #32072
Resolves: #32216
Releases: 6.0
Reviewed-on: http://review.typo3.org/10188
Reviewed-by: Jochen Rau
Tested-by: Jochen Rau
Reviewed-by: Stefan Neufeind
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[BUGFIX] email validator
Markus Günther [Thu, 9 Aug 2012 16:33:40 +0000 (18:33 +0200)]
[BUGFIX] email validator

The actuall email validator uses a regex to validate email addresses.
The TYPO3 core offers a method in t3lib_div to validate email addresses.
This patch replace the regex with t3lib_div::validEmail()

Change-Id: I8157a61b8f056d0a60510ec3a7ba9dcb182cb0e5
Releases: 6.0, 4.7
Resolves: #6970
FLOW3 issue: #39714
Reviewed-on: http://review.typo3.org/13550
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Ingo Pfennigstorf
Tested-by: Ingo Pfennigstorf
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[BUGFIX] DataMapper returns array on RELATION_HAS_ONE
Thomas Maroschik [Fri, 1 Apr 2011 12:59:43 +0000 (14:59 +0200)]
[BUGFIX] DataMapper returns array on RELATION_HAS_ONE

When your dealing with entities, that not necessarily have
their hasOne nested entities set then the DataMapper returns
an empty array instead of null. In my opinion, an empty
array makes no sense here, because there is no hasMany
relation here.

* Removed the unused $columnMap from DataMapper::fetchRelated
* Added $columnMap in DataMapper::fetchRelatedEager
* Check if the property has a RELATION_HAS_ONE and return null
  instead of an empty array then

Change-Id: I0c766d9579cbb464bbae292b194f8df7e8c4a9e9
Fixes: #25708
Releases: 6.0, 4.7
Reviewed-on: http://review.typo3.org/1404
Reviewed-by: Tymoteusz Motylewski
Tested-by: Tymoteusz Motylewski
Reviewed-by: Stefan Neufeind
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
Reviewed-by: Markus Günther
Tested-by: Markus Günther
7 years ago[Task] Make Exception for Controllerdetermination more expressive
Ingo Pfennigstorf [Fri, 20 Jul 2012 20:10:44 +0000 (22:10 +0200)]
[Task] Make Exception for Controllerdetermination more expressive

This makes exception 1316104317 more expressive and includes the
extension- and pluginname in the exception message.

Change-Id: Ia4787748487e32cd112327616992914bbf8bc736
Fixes: #33903
Releases: 6.0, 4.7, 4.6
Reviewed-on: http://review.typo3.org/12945
Reviewed-by: Tymoteusz Motylewski
Reviewed-by: Oliver Klee
Reviewed-by: Markus Günther
Tested-by: Markus Günther
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
7 years ago[TASK] Add Domain Model and Repository to Category
Fabien Udriot [Sat, 14 Jul 2012 15:03:03 +0000 (17:03 +0200)]
[TASK] Add Domain Model and Repository to Category

For extension developer's sake, it is convenient to provide a domain
model along with a repository. Both are relying on Extbase.

Change-Id: I7260a57dcc742f217f0ddfe19470673bc91532c9
Resolves: #38719
Releases: 6.0
Reviewed-on: http://review.typo3.org/12793
Reviewed-by: Oliver Klee
Tested-by: Oliver Klee
Reviewed-by: Fabien Udriot
Tested-by: Fabien Udriot
Reviewed-by: Sebastian Michaelsen
Reviewed-by: Jochen Rau
Reviewed-by: Georg Ringer
Tested-by: Georg Ringer
Reviewed-by: Mattias Nilsson
Tested-by: Mattias Nilsson
Reviewed-by: Markus Günther
Tested-by: Markus Günther
Reviewed-by: Ingo Pfennigstorf
Tested-by: Ingo Pfennigstorf
7 years ago[BUG] Fix lastlogin property to correct lowerCamelCase
Markus Günther [Wed, 1 Aug 2012 23:41:32 +0000 (01:41 +0200)]
[BUG] Fix lastlogin property to correct lowerCamelCase

In the new backend user model the property lastlogin was not consistently
in the spelling. Sometimes is it used as lastloginDateAndTime and in the methods
it is used in correct lowerCamelCase lastLoginDateAndTime.

This patch defines the property as lastLoginDateAndTime.

Change-Id: I00e5fd98bcd82e333a6fc9a91f3fe497f2a09d12
Fixes: #39460
Releases: 6.0
Reviewed-on: http://review.typo3.org/13422
Reviewed-by: Georg Ringer
Reviewed-by: Wouter Wolters
Reviewed-by: Mattias Nilsson
Tested-by: Mattias Nilsson
Reviewed-by: Ingo Pfennigstorf
Tested-by: Ingo Pfennigstorf
7 years ago[FEATURE] Add a BackendUser model
Markus Günther [Sat, 21 Jul 2012 16:34:24 +0000 (18:34 +0200)]
[FEATURE] Add a BackendUser model

Some extensions in the TYPO3 backend use backend users. The belog and
the beuser module are based on extbase and it will be useful if not
every extension has to implement an own backendUser model.

This patch adds a backend user model to extbase.

Change-Id: I84e8ea528c5f91151369f59db6a00acb0174544b
Resolves: #39145
Releases: 6.0
Reviewed-on: http://review.typo3.org/12981
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
Reviewed-by: Oliver Klee
Tested-by: Oliver Klee
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[TASK] Small bugfix in Tx_Extbase_MVC_View_ViewInterface
Alexander Schnitzler [Mon, 30 Jul 2012 13:23:12 +0000 (15:23 +0200)]
[TASK] Small bugfix in Tx_Extbase_MVC_View_ViewInterface

Changed expected type of assign-param 'value' from
object to mixed

Change-Id: Ica8e8bd6f7971220da4a3a0fe0c8ca262560374c
Fixes: #39385
Releases: 1.3,1.4,4.7,6.0
Reviewed-on: http://review.typo3.org/13347
Reviewed-by: Marc Bastian Heinrichs
Tested-by: Marc Bastian Heinrichs
7 years ago[BUGFIX] Remove additional slashes from typolink urls if prefixing
Felix Oertel [Mon, 6 Feb 2012 11:46:36 +0000 (12:46 +0100)]
[BUGFIX] Remove additional slashes from typolink urls if prefixing

Typolink generates absolute uris with a leading slash. When prefixing
this with the base uri, we have to make sure, there is just one
slash in result. To prevent these situations we also trigger the
UriBuilder itself to generate an absolute path.

Thanks to Chetan Thapliyal.

Change-Id: Iae8755514fbdfc4eb27a5a6eab620e55144d912e
Fixes: #33788
Releases: 6.0, 4.7
Reviewed-on: http://review.typo3.org/8860
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Daniel Lorenz
Tested-by: Daniel Lorenz
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[BUGFIX] public function configureModule should be static
Markus Günther [Fri, 20 Jul 2012 18:11:29 +0000 (20:11 +0200)]
[BUGFIX] public function configureModule should be static

In the class Tx_Extbase_Utility_Extension is the public method configureModule
and it seems that the author of the method forget the static keyword.
The method is used as a static method everywhere but it is not declared
as static.

This patch only set the method to static.

Change-Id: I4ba19f3b0ff763dffd4109a65933623b79e85b45
Fixes: #37922
Releases: 6.0, 4.7
Reviewed-on: http://review.typo3.org/12938
Reviewed-by: Tymoteusz Motylewski
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[FEATURE][Performance] Add caches for persistence layer
Daniel Pötzinger [Sat, 14 Apr 2012 19:30:56 +0000 (21:30 +0200)]
[FEATURE][Performance] Add caches for persistence layer

XDEBUG Profiler shows time saving possibilities in
Tx_Extbase_Persistence_Storage_Typo3DbBackend->addEnableFieldsStatement
(use of db->admin_get_fields) and
Tx_Extbase_Persistence_Mapper_DataMapFactory->buildDataMap

Caches should be added here. Also to be able to inject the cacheManager
the Container needs a small fix

Change-Id: I5c2defcfaa58c6454226d1abf938b6b6796b5232
Resolves: #36074
Releases: 6.0
Reviewed-on: http://review.typo3.org/10498
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Felix Oertel
Tested-by: Felix Oertel
7 years ago[TASK] use the objectManager to create empty domain objects
Markus Günther [Sat, 21 Jul 2012 12:48:28 +0000 (14:48 +0200)]
[TASK] use the objectManager to create empty domain objects

The Tx_Extbase_Persistence_Mapper_DataMapper uses the objectContainer
(Tx_Extbase_Object_Container_Container) for creating an empty object
without calling the construct.

The problem is that except the objectManager no one should use the
objectContainer. So this patch adds a wrapper class to the object
manager communicates with the objectContainer.

Change-Id: I2a2f9d68c0ac0c14a47723ea901c974b7ccc6c5e
Resolves: #13816
Release: 6.0
Reviewed-on: http://review.typo3.org/12973
Reviewed-by: Felix Oertel
Tested-by: Felix Oertel
7 years ago[BUGFIX] Container calls Cache too often
Daniel Pötzinger [Fri, 13 Apr 2012 19:13:04 +0000 (21:13 +0200)]
[BUGFIX] Container calls Cache too often

The Container Classes Cache call is very expensive - and when
using a database backend, this is even slowing down
compared to a NullBackend.

One reason is that for every cache request the cache is
called 3 times: 1 time has and 2 times get.
This can be avoided and be reduced to one get call -
which reduces request time by 10-20% for a bigger Extbase request.

Change-Id: I43a0ebf7e0bfd067f3e48c0e7c27f12660b4cb7c
Resolves: #36008
Releases: 1.3, 1.4, 4.7, 6.0
Reviewed-on: http://review.typo3.org/10438
Reviewed-by: Daniel Lorenz
Tested-by: Daniel Lorenz
Reviewed-by: Schmidt Timo
Tested-by: Schmidt Timo
Reviewed-by: Tymoteusz Motylewski
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[TASK] Update Readme to point to the current documentation location
Ingo Pfennigstorf [Fri, 20 Jul 2012 19:29:36 +0000 (21:29 +0200)]
[TASK] Update Readme to point to the current documentation location

The Extbase README file now contains links to the current documentation
and api documentation

Change-Id: I9f2d32f2d060cebc5a7865170f62d269ab8517e6
Fixes: #36020
Releases: 6.0, 4.7, 1.4
Reviewed-on: http://review.typo3.org/12943
Reviewed-by: Oliver Klee
Reviewed-by: Tymoteusz Motylewski
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[BUGFIX] Only set request for Web_Response
Tobias Liebig [Wed, 27 Jun 2012 13:49:41 +0000 (15:49 +0200)]
[BUGFIX] Only set request for Web_Response

The current request is needed in Tx_Extbase_MVC_Web_Response to
distinguish between a cached or a non-cached request in
addAdditionalHeaderData() as the PageRenderer does not support USER_INTs
currently. This works fine is the ActionController is called with a
Web_Response, but causes an fatal error if a Cli_Response is in charge.

This fix and the $request member in Web_Response should be removed,
once the PageRenderer is fixed for USER_INTs. For now, this patch fixes
a fatal error in the fluid unit tests.

Change-Id: I56fabc3a51ce2c5192ab4488c817b938ed8797ca
Fixes: #36751
Releases: 6.0
Reviewed-on: http://review.typo3.org/12401
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
Reviewed-by: Daniel Lorenz
Tested-by: Daniel Lorenz
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
7 years ago[TASK] Harmonize coding style of if constructs
Ingo Pfennigstorf [Sat, 21 Jul 2012 07:51:33 +0000 (09:51 +0200)]
[TASK] Harmonize coding style of if constructs

This corrects the whitespaces in if statements for Extbase.

Change-Id: Ie2266202ca819b78d23d7e28cb6c359cf691eee0
Fixes: #37805
Releases: 6.0
Reviewed-on: http://review.typo3.org/12957
Reviewed-by: Felix Oertel
Tested-by: Felix Oertel
7 years ago[BUGFIX] CLI argument handling chokes on = use
Nicole Cordes [Fri, 20 Jul 2012 19:15:38 +0000 (21:15 +0200)]
[BUGFIX] CLI argument handling chokes on = use

This is a backport of the fix done in FLOW3.
The corresponding FLOW3 ticket is #30493

With this fix the last argument may use the equals sign (=)
again to separate between argument name and value.

Besides writing an additional test case which reproduces the issue,
the other test cases have been strengthened by replacing assertEquals()
by assertSame().

Change-Id: I7d7fa4e5f18a73308cc564db152fd31ab3c4e478
Fixes: #36745, #35207
Relates: #30493
Releases: 6.0, 4.7, 1.4
Reviewed-on: http://review.typo3.org/10919
Tested-by: Christian Kuhn
Reviewed-by: Nicole Cordes
Tested-by: Nicole Cordes
Reviewed-by: Helmut Hummel
Tested-by: Helmut Hummel
7 years agoMerge "[BUGFIX] Priority of CLI request handler should be lower"
Christian Kuhn [Fri, 20 Jul 2012 18:16:04 +0000 (20:16 +0200)]
Merge "[BUGFIX] Priority of CLI request handler should be lower"

7 years ago[BUGFIX] Priority of CLI request handler should be lower
Michael Klapper [Fri, 9 Mar 2012 14:18:26 +0000 (15:18 +0100)]
[BUGFIX] Priority of CLI request handler should be lower

Allow rendering of plugin content during tx_crawler call
if option "Make direct requests" is enabled.

Change-Id: I79f992d94924e1b069486715bfa20808cd84588e
Fixes: #34691
Releases: 6.0,4.7

7 years ago[BUGFIX] Return NULL instead of empty string in Localization::translate()
dkd-egerer Sascha Egerer [Fri, 13 Apr 2012 09:38:47 +0000 (11:38 +0200)]
[BUGFIX] Return NULL instead of empty string in Localization::translate()

Localization::translate() returns an empty string instead of NULL
if no translation string is found but arguments are given

Change-Id: Id21ca9bc59a59d6115dc70decf2294497d871a81
Fixes: #34874
Related: #34877
Releases: 6.0, 4.7, 1.4, 1.3

7 years ago[BUGFIX] Fix unit test for NumberRangeValidator
Tobias Liebig [Wed, 27 Jun 2012 11:19:51 +0000 (13:19 +0200)]
[BUGFIX] Fix unit test for NumberRangeValidator

While back porting changes (#35255) a unit test broke in
Validation_Validator_BeforeExtbase14_NumberRangeValidatorTest.

Change-Id: I31309474866e5edae747ea420e94e65d1638758f
Resolves: #38426
Releases: 6.0

7 years ago[BUGFIX] FLUIDTEMPLATE - Serialization of 'Closure' is not allowed
Oliver Hader [Tue, 5 Jun 2012 21:44:57 +0000 (23:44 +0200)]
[BUGFIX] FLUIDTEMPLATE - Serialization of 'Closure' is not allowed

The Fluid TemplateCompiler uses closures to store a cached
variant of the accordant Fluid node. Several calls in Fluid
use serialize() and also will process those closures, which
will end up in a PHP fatal error.

The most obvious part is the object manager which will then
try to serialize all objects - including closures - that are
available in the object container.

The problem can be circumvented by using accordant magic PHP
methods like __sleep() and __wakeup() to ignore those properties.

Change-Id: I70e78a09b2a118cc26f099063743c530f0addc72
Fixes: #32295
Related: #36820
Releases: 6.0, 4.7, 4.6

7 years ago[BUGFIX] Extbase core bootstrap not found in frontend
Christian Kuhn [Sun, 1 Jul 2012 19:21:57 +0000 (21:21 +0200)]
[BUGFIX] Extbase core bootstrap not found in frontend

The patch for issue #35866 removed all class entries from ext_autoload
and relies on the 'extbase' naming scheme autoloader to find classes.
This has the side effect that classes must be requested in upper camel
case, otherwise they are not found.

The frontend extbase plugins are called by a TypoScript userFunc.
The requested extbase core bootstrap class must therefore be used
with upper camel case as well.

Change-Id: I67f1a0d3025b945ec8788f031b676fa62439a2c3
Resolves: #38527
Related: #35866
Related: #37920
Releases: 6.0

7 years ago[BUGFIX] Fatal error in reports module
Philipp Gampe [Fri, 15 Jun 2012 18:25:03 +0000 (20:25 +0200)]
[BUGFIX] Fatal error in reports module

Change-Id: I3f0af2132bfecbe83cecdd0605e7628a2c71bc30
Fixes: #37920
Releases: 6.0

7 years agoMerge "[Task] Update changelog and version to 6.0.0-dev"
Marc Bastian Heinrichs [Mon, 21 May 2012 21:32:58 +0000 (23:32 +0200)]
Merge "[Task] Update changelog and version to 6.0.0-dev"

7 years ago[CLEANUP] Cleaned up Extbase
Alexander Schnitzler [Tue, 1 May 2012 12:04:42 +0000 (14:04 +0200)]
[CLEANUP] Cleaned up Extbase

* Uninitialized vars
* Uninitialized properties
* Undefined classes
* PHPdoc

Change-Id: I7679c8020c56883825cb7dd1bb6d6033ee38148f
Fixes: #34970
Releases: 6.0

7 years agoMerge "[TASK] Backport changes to Extbase_Error_Message"
Marc Bastian Heinrichs [Mon, 30 Apr 2012 23:46:04 +0000 (01:46 +0200)]
Merge "[TASK] Backport changes to Extbase_Error_Message"

7 years agoMerge "[TASK] Improve performance of Utility/Arrays::integerExplode"
Marc Bastian Heinrichs [Mon, 30 Apr 2012 23:35:31 +0000 (01:35 +0200)]
Merge "[TASK] Improve performance of Utility/Arrays::integerExplode"

7 years agoMerge "[BUGFIX] Fix undefined variables in Typo3DBBackend::parseOrderings"
Marc Bastian Heinrichs [Mon, 30 Apr 2012 22:51:52 +0000 (00:51 +0200)]
Merge "[BUGFIX] Fix undefined variables in Typo3DBBackend::parseOrderings"

7 years ago[BUGFIX] Fix undefined variables in Typo3DBBackend::parseOrderings
Oliver Klee [Mon, 30 Apr 2012 22:50:29 +0000 (00:50 +0200)]
[BUGFIX] Fix undefined variables in Typo3DBBackend::parseOrderings

Tx_Extbase_Persistence_Storage_Typo3DbBackend::parseOrderings
passes the potentially not defined $className and $tableName
to convertPropertyNameToColumnName.

Fixes: #34924

Change-Id: Ifd1841d899efa4d56784ba38d06bfa86bd9adf58
Branches: 6.0, 4.7, 1.4, 1.3

7 years agoMerge "[TASK] Remove trailing whitespace"
Marc Bastian Heinrichs [Mon, 30 Apr 2012 21:41:00 +0000 (23:41 +0200)]
Merge "[TASK] Remove trailing whitespace"

7 years ago[FEATURE] Allow overwriting of Bootstrap with DI
Felix Oertel [Mon, 30 Apr 2012 21:22:14 +0000 (23:22 +0200)]
[FEATURE] Allow overwriting of Bootstrap with DI

An interface is needed for the Bootstrap, which will be
used with the objectManager to make the Bootstrap
overwritable.

Resolves: #35960
Change-Id: I5cfd9ba9f00f206db46fad06e4302d808b6e1962

7 years ago[TASK] Sync persistence folder scheme with FLOW3
Felix Oertel [Wed, 11 Apr 2012 14:17:27 +0000 (16:17 +0200)]
[TASK] Sync persistence folder scheme with FLOW3

In Persistence/ only generic, abstract classes and
interfaces are allowed. Everything specific to an
implementation has to be in Persistence/[Name].

Resolves: #35876

Change-Id: I703fa4ed6df7f56a7ade404af1d11c590041e7ad

7 years ago[CLEANUP] clean up ext_autoload.php
Felix Oertel [Wed, 11 Apr 2012 14:42:13 +0000 (16:42 +0200)]
[CLEANUP] clean up ext_autoload.php

Change-Id: Ibcb6eded45f75fa372675f79bab121c97a0bb0b0
Resolves: #35866

7 years ago[Task] Update changelog and version to 6.0.0-dev
Marc Bastian Heinrichs [Thu, 26 Apr 2012 14:21:36 +0000 (16:21 +0200)]
[Task] Update changelog and version to 6.0.0-dev

Change-Id: I70c4354cbae18905680c108ff085418f06fe4f10

7 years ago[TASK] Remove trailing whitespace
dkd-egerer Sascha Egerer [Sat, 14 Apr 2012 19:53:35 +0000 (21:53 +0200)]
[TASK] Remove trailing whitespace

There must be no empty lines after the closing
PHP tag. Empty lines after closing tags break
output compression in PHP and/or result in AJAX
errors.

Change-Id: I3a9570d1505f16c0c7686127ef8909827de94f09
Resolves: #36078
Releases: 1.4, 4.7, 6.0

7 years ago[TASK] Remove deprecated methods & properties
Marc Bastian Heinrichs [Thu, 12 Apr 2012 07:41:16 +0000 (09:41 +0200)]
[TASK] Remove deprecated methods & properties

Removes deprecated methods which are annonced to
be removed in Extbase 1.5.0

Change-Id: I9268903a5cdb3bbf541b161f9e36b09b8aace268
Resolves: #35872
Releases: 6.0

7 years ago[TASK] Remove access to constant TYPO3_UseCachingFramework
Christian Kuhn [Sat, 14 Apr 2012 13:20:03 +0000 (15:20 +0200)]
[TASK] Remove access to constant TYPO3_UseCachingFramework

The caching framework is always enabled and access
to this constant is deprecated.

Change-Id: Ibb46f5ab1908cb26bc91d42d15e1e12a95156174
Resolves: #36039
Related: #36037
Releases: 6.0

7 years agoMerge "[BUGFIX] Respect all subclasses (single table inheritance)"
Jochen Rau [Fri, 13 Apr 2012 22:17:05 +0000 (00:17 +0200)]
Merge "[BUGFIX] Respect all subclasses (single table inheritance)"

7 years ago[TASK] Backport changes to Extbase_Error_Message
Georg Ringer [Fri, 13 Apr 2012 20:28:27 +0000 (22:28 +0200)]
[TASK] Backport changes to Extbase_Error_Message

In FLOW3 the Message class contains the property arguments
which is needed to be able later to translate error messages.

Change-Id: I0b83615d514178f1c9c6c2c90915a0f133244884
Resolves: #35255
Releases: 6.0

7 years ago[TASK] Improve performance of Utility/Arrays::integerExplode
Tobias Liebig [Fri, 13 Apr 2012 13:42:18 +0000 (15:42 +0200)]
[TASK] Improve performance of Utility/Arrays::integerExplode

Use the performance improvement from t3lib_div

Change-Id: I4d32a1107289fafbccf063ee9b9aa80a71d8063d
Resolves: #35190
Releases: master
FLOW3 Issue: #35970

7 years ago[BUGFIX] Respect localized records when auto determining defaultPid
Ingo Pfennigstorf [Thu, 1 Mar 2012 10:28:37 +0000 (11:28 +0100)]
[BUGFIX] Respect localized records when auto determining defaultPid

The autodetection of the defaultPid fails when there is more than one
content element of a specified plugin. It also fails when one element is
only localized. This fixes the bug and alters the query to respect the
sys_language_uid of a parameter

Change-Id: Ia0890fc63137db7208a1f042358dd387955344de
Fixes: #34433
Releases: 1.4, 4.7, 6.0

7 years ago[TASK] Rename deprecation message version from 1.6 to 6.0
Marc Bastian Heinrichs [Thu, 12 Apr 2012 09:38:51 +0000 (11:38 +0200)]
[TASK] Rename deprecation message version from 1.6 to 6.0

Adaption to the new naming scheme

Change-Id: Ia721a7944bf439796ad558ce7e4d5c7e23e51d19
Resolves: #35873
Releases: 1.4, 4.7, 6.0

7 years ago[BUGFIX] PropertyMapper shouldn't check pid in getObjectByIdentifier()
Georg Ringer [Fri, 13 Apr 2012 07:33:25 +0000 (09:33 +0200)]
[BUGFIX] PropertyMapper shouldn't check pid in getObjectByIdentifier()

getObjectByIdentifier checks the pid too which doesn't work
when not using it in own extension (because e.g. handling the
pid on yourself)

Change-Id: I94d5b699baec58931824f70ab1cd09b95f9d2c93
Resolves: #35084
Releases: 6.0

7 years ago[+TASK] Web/Response uses TYPO3 PageRenderer for headerData
Claus Due [Wed, 11 Apr 2012 16:17:54 +0000 (18:17 +0200)]
[+TASK] Web/Response uses TYPO3 PageRenderer for headerData

This task makes the Web Response class use t3lib_PageRenderer
for inserting header data.

Thanks to Steffen Kamper for reporting, sorry for delay!

Change-Id: If9ea9c8222d7c93e46a8cf413ffca24fd0502724
Resolves: #4830
Releases: 6.0

7 years ago[BUGFIX] Respect all subclasses (single table inheritance)
Dennis Ahrens [Tue, 10 Apr 2012 11:07:32 +0000 (13:07 +0200)]
[BUGFIX] Respect all subclasses (single table inheritance)

If you ask a repository that have subclasses, that have subsubclasses,
than just the subclasses of the first level get respected and not the
subsubclasses.

Change-Id: I62b0219316a7f1fbc49cba6909d317b0a237bbe8
Fixes: #35855
Releases: 4.8, 4.7, 1.4, 1.3

7 years agoMerge "[BUGFIX] Fix the unit tests to work with PHPUnit 3.6"
Felix Oertel [Wed, 11 Apr 2012 14:30:07 +0000 (16:30 +0200)]
Merge "[BUGFIX] Fix the unit tests to work with PHPUnit 3.6"

7 years ago[BUGFIX] Unit test failures concerning the HMAC
Oliver Klee [Mon, 9 Apr 2012 21:03:17 +0000 (23:03 +0200)]
[BUGFIX] Unit test failures concerning the HMAC

Some of the unit tests were backported from FLOW3, but not all
class names have been properly adapted.

Fixes: #35791

Change-Id: Ie8e620b2a8e05946ec2d4deee584516839e5f0f2
Releases: 4.8, 4.7, 1.4, 1.3

7 years ago[TASK] Add unittest for shorthand for custom validators
Stefan Neufeind [Mon, 2 Apr 2012 06:36:31 +0000 (08:36 +0200)]
[TASK] Add unittest for shorthand for custom validators

Port of unittest from FLOW3.

Resolves: #35514
Releases: 4.7, master
FLOW3 Issue: #33862

Change-Id: I4d0621e8d32d12959f647c183cf389cbe49e738d

7 years ago[SECURITY] Protect arguments of form __referrer with HMAC
Felix Oertel [Wed, 7 Mar 2012 10:55:58 +0000 (11:55 +0100)]
[SECURITY] Protect arguments of form __referrer with HMAC

The request arguments of the referring request are
a serialized string written to one of the hidden
fields in a Fluid form. This string has to be protected
by a HMAC to protect Extbase from possible unserialize
attacks.

Note: For now there is no object known within Extbase,
that could be used for an unserialize exploit!

This change also backports some convenience hmac methods
to the hash service from the current master, to have the
bugfix in sync.

Also this backports some of the method renamings from
FLOW3.

Change-Id: Iaba9e7556c7aeeb8a3724c84d96160a511500e98
Security-Bulletin: TYPO3-CORE-SA-2012-001
Fixes: #35310
Releases: 1.4, 4.7, 6.0

7 years ago[BUGFIX] Fix the unit tests to work with PHPUnit 3.6
Oliver Klee [Sat, 24 Mar 2012 14:40:24 +0000 (15:40 +0100)]
[BUGFIX] Fix the unit tests to work with PHPUnit 3.6

PHPUnit 3.6 checks some things more strictly than 3.5.
Some unit tests needs changes to be green again.

Branches: 4.8, 4.7, 1.4, 1.3

Change-Id: I0092984a89898c785f46d9f680ceb371647eac1b
Fixes: #35201

7 years ago[BUGFIX] Fix the @return of findAll
Oliver Klee [Mon, 19 Mar 2012 15:03:34 +0000 (16:03 +0100)]
[BUGFIX] Fix the @return of findAll

The @return documentation for Tx_Extbase_Persistence_Repository::findAll
and Tx_Extbase_Persistence_RepositoryInterface::findAll is incorrect:
It only mentions array, but also needs to mention
Tx_Extbase_Persistence_QueryResultInterface.

Fixes: #35002

Change-Id: Ic6c6e79ca3108c6eb84d27a7f77a63e980f94618
Branches: 4.8, 4.7, 1.4, 1.3

7 years ago[+BUGFIX] Make $query->equals, no case sensitivity, work with UTF8
Stephan Helten [Thu, 16 Jun 2011 10:31:33 +0000 (12:31 +0200)]
[+BUGFIX] Make $query->equals, no case sensitivity, work with UTF8

Change-Id: Ic00c9bafe6c0ca262fc3f9d716e0dae20d07ead5
Fixes: #27413
Releases: 1.3, 4.7, 4.8

7 years ago[BUGFIX] Add missing "command" variable to Tx_Extbase_MVC_CLI_Request
Tymoteusz Motylewski [Sat, 17 Mar 2012 11:24:21 +0000 (12:24 +0100)]
[BUGFIX] Add missing "command" variable to Tx_Extbase_MVC_CLI_Request

There are multiple references to a membervariable "command" in
Tx_Extbase_MVC_CLI_Request, but this variable does not exist.

Change-Id: I0a67ba8715a28f1a6d2d1f667cc79249d1a652a2
Fixes: #34961
Releases: 4.7, 4.8

7 years agoMerge "[BUGFIX] PropertyMapper throws exceptions instead of returning error objects."
Felix Oertel [Sun, 18 Mar 2012 13:02:12 +0000 (14:02 +0100)]
Merge "[BUGFIX] PropertyMapper throws exceptions instead of returning error objects."

7 years ago[TASK] Sync backport of Utility/Arrays.php with FLOW3
Tymoteusz Motylewski [Fri, 16 Mar 2012 22:50:40 +0000 (23:50 +0100)]
[TASK] Sync backport of Utility/Arrays.php with FLOW3

Makes Tx_Extbase_Utility_Arrays class in synch with FLOW3
New methods: setValueByPath, unsetValueByPath, convertObjectToArray
Backport unittests.

Thanks to Tymoteusz Motylewski

Change-Id: Ibae165c05465b7273aa15a0e92949be17794bc29
Resolves: #34953
Releases: 4.8

7 years ago[BUGFIX] Fix unit tests
Tobias Liebig [Sat, 17 Mar 2012 11:19:07 +0000 (12:19 +0100)]
[BUGFIX] Fix unit tests

In 2a7bea292be820d49efc7553d29bac5631f30b33 the unit tests broke
because the mocked ClassInfoCache does not return the previously
set class info.

Change-Id: I625335b43eb5b3d6500cd42fde6a1d9a40997aff
Resolves: #34962
Releases: 4.7, 4.8

7 years ago[TASK] Allow getting the configuration without plugin-name
Felix Oertel [Thu, 27 Oct 2011 19:09:57 +0000 (21:09 +0200)]
[TASK] Allow getting the configuration without plugin-name

At the moment you need the extension- and plugin-name to retrieve the
configuration from the configurationManager. It is thus not possible
to get the extension settings. There are even unit-tests covering this
scenario.

* Allow to ommit plugin-name
* Adjust unit-tests

Change-Id: I573f2decca899bbbace63c5f3e994b607db6845e
Releases: 4.7, 4.8

7 years ago[BUGFIX] parseDynamicOperand appends to uninitialized variable
Oliver Klee [Fri, 16 Mar 2012 21:34:52 +0000 (22:34 +0100)]
[BUGFIX] parseDynamicOperand appends to uninitialized variable

Tx_Extbase_Persistence_Storage_Typo3DbBackend::parseDynamicOperand
appends to uninitialized local variable $constraintSQL.

Change-Id: Ifbe15ad5ede46bdcac401e4ea45e4006f647955c
Releases: 4.7, 4.8
Fixes: #34921

7 years ago[BUGFIX] Tx_Extbase_Persistence_QueryInterface needs to provide getSource
Oliver Klee [Fri, 16 Mar 2012 15:31:34 +0000 (16:31 +0100)]
[BUGFIX] Tx_Extbase_Persistence_QueryInterface needs to provide getSource

Tx_Extbase_Persistence_Storage_Typo3DbBackend::parseQuery expects a
Tx_Extbase_Persistence_QueryInterface and then calls getSource on it.
One way to make this clean is to change
Tx_Extbase_Persistence_QueryInterface to provide the getSource method.

Releases: 4.7, 4.8
Fixes: #34916

Change-Id: Ic84a6897c7f46048e4967669712d7afcbc4df069

7 years ago[CLEANUP] Replace deprecated interface from unittests
Tolleiv Nietsch [Fri, 16 Mar 2012 10:17:47 +0000 (11:17 +0100)]
[CLEANUP] Replace deprecated interface from unittests

Change-Id: I2c726ab7bb482fac038a907bb82b33325f30d25a
Releases: 4.7, 4.8
Resolves: #34915

7 years ago[BUGFIX] property mapping for models w/o __construct
Tobias Liebig [Fri, 16 Mar 2012 13:00:19 +0000 (14:00 +0100)]
[BUGFIX] property mapping for models w/o __construct

If a model class has no __construct method, the PropertyMapper/
PersistentObjectConverter throws an Exception if it tried to convert an array
into object. This patch catches the ReflectionException directly in
buildObject() and assumes no constructor arguments, if no constructor exists.

Change-Id: I603bd7a26ba4242eef42f9fff6b29fea4673250c
Fixes: #34929
Releases: 4.7, 4.8

7 years ago[BUGFIX] Extbase produces errors in TYPO3 Log
Michael Klapper [Fri, 9 Mar 2012 13:33:04 +0000 (14:33 +0100)]
[BUGFIX] Extbase produces errors in TYPO3 Log

Change-Id: I9f50b67db1c6cd27f1e83a3258b679d2258f80eb
Fixes: #34632
Releases: 4.7, 4.8

7 years ago[BUGFIX] ObjectContainer does not support namespaces
Andreas Wolf [Tue, 14 Jun 2011 13:25:08 +0000 (15:25 +0200)]
[BUGFIX] ObjectContainer does not support namespaces

The object container (more specificially: the class info cache it uses)
fails when trying to get an instance of a namespaced class. This comes
from the namespace separator \, which is seen as an invalid character
for cache identifiers. Therefore the class name will be stored as sha1
hash.

Change-Id: Iaab7c635e733530dec26643078824a1d70557faf
Resolves: #27438
Releases: 1.4, 4.7, 4.8

7 years ago[BUGFIX] PropertyMapper throws exceptions instead of returning error objects.
Dennis Ahrens [Wed, 14 Mar 2012 12:55:06 +0000 (13:55 +0100)]
[BUGFIX] PropertyMapper throws exceptions instead of returning error objects.

The DateTimeConverter in extbase still throws Exceptions in extbase. In
FLOW3 this was changed with b47d1c61aaaf67c6d9c3379d87fe132ff7bded80 - it
is expected that the converters return error objects on convertion errors.

As a solution i backported the changeset into extbase.

Change-Id: Ifdae9eefb13acb333f57054d1bb5ef0e45c17bb7
Fixes: #33861
Releases: master

7 years ago[BUGFIX] Removed obsolet file.
Jochen Rau [Wed, 15 Feb 2012 19:26:12 +0000 (14:26 -0500)]
[BUGFIX] Removed obsolet file.

Related to #32734

Change-Id: I13d43c65b7fe005642faba9da7e3420f4baeeb24

7 years agoRevert "[+CLEANUP] correct sql statement building"
Jochen Rau [Sun, 5 Feb 2012 01:53:49 +0000 (02:53 +0100)]
Revert "[+CLEANUP] correct sql statement building"

This reverts commit b9e4a98e98deb9abe248f697deffbc8bfb08bd24

Change-Id: I746cbc8951bd57c5266a1bf6fd32e998a1c83422

7 years agoMerge "Revert "[BUGFIX] keep PersistentObjectConverterTest from cloning objects""
Sebastian Kurfuerst [Sat, 11 Feb 2012 06:41:11 +0000 (07:41 +0100)]
Merge "Revert "[BUGFIX] keep PersistentObjectConverterTest from cloning objects""

7 years ago[FEATURE] Shorthand syntax for foreign Validators
Claus Due [Wed, 7 Dec 2011 18:28:59 +0000 (19:28 +0100)]
[FEATURE] Shorthand syntax for foreign Validators

This change allows the annotation @validate myext:MyValidator for
properties in Model Objects. The above example is identical to using
@validate Tx_Myext_Validation_Validator_MyValidator - just shorter.

Thanks for Martin Kutschker for reporting and inspiring patch.

Change-Id: Id11022db8317edaf55093a991a3ce90624be78f3
Resolves: #8052
Releases: 1.5

7 years ago[BUGFIX] Set default storagePageUid to current page in BE context
Thomas Maroschik [Fri, 10 Feb 2012 22:35:45 +0000 (23:35 +0100)]
[BUGFIX] Set default storagePageUid to current page in BE context

This change sets the default storage page UID for persistence to
the currently selected page if we are in a backend context. Can
still be overridden through TS and still falls back to PID zero.

Change-Id: Ia9c4d380c4f193eea41d69f7acc9c2f3b6a86930
Fixes: #11167
Releases: 1.5

7 years ago[+FEATURE] make DI work without inject-methods
Felix Oertel [Fri, 10 Feb 2012 21:56:24 +0000 (22:56 +0100)]
[+FEATURE] make DI work without inject-methods

As in FLOW3 it would be great to use dependency injection without
the inject methods. PHP 5.3 allows to set even protected properties
via the reflection API so we can make use of that.

Change-Id: Ie143a7bba53060769ff0a868d758f754275768c5
Resolves: #32404
Releases: 1.5

7 years agoRevert "[BUGFIX] keep PersistentObjectConverterTest from cloning objects"
Sebastian Kurfuerst [Tue, 7 Feb 2012 05:59:00 +0000 (06:59 +0100)]
Revert "[BUGFIX] keep PersistentObjectConverterTest from cloning objects"

Sorry that I let this slip through... The problem now is the following:

If deactivating *clone*, the automatic persistence would find changes even
if the controller decides that the object should not be saved. Thus, this
is a breaking change which can also have a huge security impact. That's
why I am reverting it now.

Thus, we have two possibilities to solve the issue:

1) we revert the patch, clone the objects and the user has to call
   $this->myRepository->update()...
   -> that's what I did now...

2) we could change the behavior as follows, as it is done in FLOW3 now:

- we remove the "clone"
- automatic persistence of objects will be COMPLETELY deactivated
- the user *explicitely* has to save a changed aggregate root into ...Repository->update()
- everything which is part of this aggregate will be saved with it, but referenced other aggregate roots will not be.

The second concept is implemented in FLOW3, and is much more consistent
and a lot faster (in fact, I consider the automagic persistence a design fault
of the early FLOW3 as of now...)

As 2) would not be backwards compatible we'd need to activate it using
a feature flag.

This reverts commit cf1b620b53118eaa89e1817043c0c0f313343520
Conflicts:

Classes/Property/TypeConverter/PersistentObjectConverter.php

Change-Id: Ie6937e68cd87783f8b64942bdf862a08b572de89

7 years agoMerge "[TASK] Backported FLOW3 Debugger"
Jochen Rau [Sat, 4 Feb 2012 02:13:41 +0000 (03:13 +0100)]
Merge "[TASK] Backported FLOW3 Debugger"

7 years agoMerge "[BUGFIX] Child objects are now fetched only by uid (pid and sys_language_uid...
Jochen Rau [Sat, 4 Feb 2012 02:12:58 +0000 (03:12 +0100)]
Merge "[BUGFIX] Child objects are now fetched only by uid (pid and sys_language_uid are ignored)."

7 years agoMerge "[BUGFIX] Reset LazyObjectStorage array pointer at initialization"
Stefan Neufeind [Fri, 3 Feb 2012 17:40:26 +0000 (18:40 +0100)]
Merge "[BUGFIX] Reset LazyObjectStorage array pointer at initialization"

7 years ago[BUGFIX] Reset LazyObjectStorage array pointer at initialization
Claus Due [Wed, 7 Dec 2011 19:19:11 +0000 (20:19 +0100)]
[BUGFIX] Reset LazyObjectStorage array pointer at initialization

This allows current() operation on a still lazy ObjectStorage
without causing errors.

Thanks to Franz Koch for reporting!

Change-Id: Ic5b59b821fce4f1299b714c801fbeddeddf778fd
Fixes: #13256
Releases: 1.2, 1.3, 1.4

7 years ago[BUGFIX] Enable some support for workspace previews
Stefan Neufeind [Sat, 11 Jun 2011 22:42:37 +0000 (00:42 +0200)]
[BUGFIX] Enable some support for workspace previews

The Extbase DB Backend does a versioning overlay, however due to the
relevant table almost never being "pages" the relevant uid is saved
to "_ORIG_uid" instead of applying it to the row. This page writes
back "_ORIG_uid" in those cases, which seems to enable previews to a
usable level.

Thanks to Patrick Schriner.

Change-Id: I4de65643057da6d8cc2b0dc608ed69be4fc73ea7
Resolves: #26732
Relates: #7078

7 years agoMerge "[BUGFIX] Repository replace() does not replace unpersisted objects"
Jochen Rau [Fri, 3 Feb 2012 17:13:12 +0000 (18:13 +0100)]
Merge "[BUGFIX] Repository replace() does not replace unpersisted objects"

7 years ago[BUGFIX] Repository replace() does not replace unpersisted objects
Claus Due [Wed, 7 Dec 2011 17:50:23 +0000 (18:50 +0100)]
[BUGFIX] Repository replace() does not replace unpersisted objects

This adds an additional case to check $this->addedObjects even if
$existingObject has an UID. Without this, adding, persisting and
replacing an object in the same controller action would cause the
replace() command to have no effect.

Thanks to Balisky Christophe for reporting.

Change-Id: Id297b1d5ae261a88aad485b718ea1a3e8be76f3e
Fixes: #7571

7 years ago[BUGFIX] Child objects are now fetched only by uid (pid and sys_language_uid are...
Kevin Ulrich Moschallski [Wed, 16 Nov 2011 10:03:34 +0000 (11:03 +0100)]
[BUGFIX] Child objects are now fetched only by uid (pid and sys_language_uid are ignored).

$query->getQuerySettings()->setRespectSysLanguage(FALSE) was added.

Change-Id: I30bde0511986f593fb7aebeb96b6fbe2b5ab89f2
Resloves: #31847
Releases: 1.4

7 years ago[BUGFIX] adjust SignalSlotDispatcher's unit-tests
Felix Oertel [Fri, 3 Feb 2012 10:56:19 +0000 (11:56 +0100)]
[BUGFIX] adjust SignalSlotDispatcher's unit-tests

Since the last backport of FLOW3's changes to the SignalSlotDispatcher
the unit-tests were broken due to unchanged arguments.

Change-Id: Iaf19234c8025bfbd907cbc546cc502f51657f66d

7 years ago[TASK] Backported FLOW3 Debugger
Alexander Schnitzler [Thu, 12 Jan 2012 23:19:47 +0000 (00:19 +0100)]
[TASK] Backported FLOW3 Debugger

This is an improved version of the FLOW3 debugger
for enhanced object debugging i.e. debugging also private
properties through reflection. It is invoked by
Tx_Extbase_Utility_Debugger::var_dump($blog). The method
has several configuration options.

Change-Id: I06b626a9bf419fe50e54a0fd750648e6ee8a868e
Resolves: #32734

7 years ago[+CLEANUP] correct sql statement building
Felix Oertel [Thu, 22 Sep 2011 13:26:01 +0000 (15:26 +0200)]
[+CLEANUP] correct sql statement building

In the storage backend buildQuery() builds the sql query very basic.
To have a clean structure, we should build the queries as neat as
possible.

First step is, to use table aliases (if any) and build correct
sources.

Change-Id: Idf42bc2119c52e9662bd8086957fa688b59ef901

7 years ago[CLEANUP] Performance in Reflection Service's cache handling
Raphael Riel [Wed, 7 Dec 2011 19:10:36 +0000 (20:10 +0100)]
[CLEANUP] Performance in Reflection Service's cache handling

This avoids a superflous call to $this->dataCache->has() - instead
uses ->get() directly and uses return value for checking if cache
exists.

Thanks to Raphael Riel for providing the patch!

Change-Id: I01bbc99c5e64d2b264f5508187739439e299397a
Fixes: #28558

7 years ago[BUGFIX] Fatal error on matching non-existing column, DB Backend
Claus Due [Wed, 7 Dec 2011 18:05:33 +0000 (19:05 +0100)]
[BUGFIX] Fatal error on matching non-existing column, DB Backend

This change prevents a fatal error by checking the returned column
map before calling a method. Instead, utilizes the existing
exception code 1267832524, Unsupported relation for contains() -
but replaces the exception message with "Unsupported/non-existing
column name used in relation matching" which also covers other
error cases well.

Fixes: #7798
Change-Id: I7c36140bb0a736c7783acd55db5410f73eee0e33

7 years agoMerge "[FEATURE] Run CommandController commands through Scheduler"
Bastian Waidelich [Wed, 18 Jan 2012 13:39:13 +0000 (14:39 +0100)]
Merge "[FEATURE] Run CommandController commands through Scheduler"

7 years agoMerge "[BUGFIX] Invalid LOCAL_LANG overlay for non-existing languages"
Xavier Perseguers [Wed, 18 Jan 2012 11:23:27 +0000 (12:23 +0100)]
Merge "[BUGFIX] Invalid LOCAL_LANG overlay for non-existing languages"

7 years ago[FEATURE] Run CommandController commands through Scheduler
Claus Due [Sat, 26 Nov 2011 19:46:54 +0000 (20:46 +0100)]
[FEATURE] Run CommandController commands through Scheduler

This feature allows any Extbase CommandController command to be
executed through the scheduler. Argument values are fully supported
and both action and argument names can be translated through
locallang. Task name and arguments are displayed in the Task
overview.

Change-Id: I91cf580db97da50fb34d8f9c64b453d96b21f303
Resolves: #32107

7 years ago[REVERT] let PersistentObjectConverter clone objects
Felix Oertel [Fri, 13 Jan 2012 10:07:14 +0000 (11:07 +0100)]
[REVERT] let PersistentObjectConverter clone objects

This reverts https://review.typo3.org/#change,7748

Before keeping the objectConverter from cloning objects we have to
take care of auto-persisting objects from the identityMap.

Change-Id: Ifb6a7ede58bc2338e4c1fa9d2aff31a3e5eaaf4f