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

9 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

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

Fixes: #34924

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

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

9 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

Resolves: #35960
Change-Id: I5cfd9ba9f00f206db46fad06e4302d808b6e1962

9 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

9 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

9 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

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

9 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

9 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

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

9 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

9 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

9 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

9 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

9 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

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

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

9 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

9 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

9 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

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

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

9 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

9 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

Fixes: #35002

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

9 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

9 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

9 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."

9 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

9 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

9 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

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

Change-Id: I573f2decca899bbbace63c5f3e994b607db6845e
Releases: 4.7, 4.8

9 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

appends to uninitialized local variable $constraintSQL.

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

9 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

9 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

9 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

9 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

9 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

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

9 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

9 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

9 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

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

9 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

9 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

9 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

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


Change-Id: Ie6937e68cd87783f8b64942bdf862a08b572de89

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

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

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

9 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

9 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

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

9 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

9 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

9 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

9 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

9 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

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

Change-Id: Idf42bc2119c52e9662bd8086957fa688b59ef901

9 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

Thanks to Raphael Riel for providing the patch!

Change-Id: I01bbc99c5e64d2b264f5508187739439e299397a
Fixes: #28558

9 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

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

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

9 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

Change-Id: I91cf580db97da50fb34d8f9c64b453d96b21f303
Resolves: #32107

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

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

Change-Id: Ifb6a7ede58bc2338e4c1fa9d2aff31a3e5eaaf4f

9 years ago[BUGFIX] keep PersistentObjectConverterTest from cloning objects
Felix Oertel [Thu, 12 Jan 2012 12:24:42 +0000 (13:24 +0100)]
[BUGFIX] keep PersistentObjectConverterTest from cloning objects

With the PropertyMapper refactoring it should not be neccassary to
clone objects fetched from the persistence anymore.

This leads to objects not found in the identityMap because of the
changed splObjectHash.

Change-Id: I297f160976dd536980b00582e97914dedc0d0da5

9 years ago[~BACKPORT] backport FLOW3 changes to SignalSlotDispatcher
Felix Oertel [Tue, 18 Oct 2011 09:19:43 +0000 (11:19 +0200)]
[~BACKPORT] backport FLOW3 changes to SignalSlotDispatcher

There was a slight adjustment made to the SignalSlotDispatcher. Think
it would be good to push it through, before people start actually
using them.

Change-Id: Ice13f548a4520cd211ca0ed26367d6cef1064a4a

9 years ago[TASK] Coding guidelines cleanup for ClassInfo class
Claus Due [Sun, 18 Dec 2011 22:26:39 +0000 (23:26 +0100)]
[TASK] Coding guidelines cleanup for ClassInfo class

This corrects some doc comments and string cases for NULL.

Set to fix #13087 since all of the code in #13087 is already merged.

Change-Id: I379703f872dbd1c82325d65a2c6e56abe4d5ffb6
Fixes: #13087

9 years agoMerge changes I60d3a05c,Iaa4b496a
Sebastian Kurfuerst [Fri, 23 Dec 2011 13:19:15 +0000 (14:19 +0100)]
Merge changes I60d3a05c,Iaa4b496a

* changes:
  [+Signal] introduce signals to persistence
  [~FEATURE] index signal's arguments by key

9 years agoMerge "[CLEANUP] remove not needed parameter"
Stefan Neufeind [Wed, 30 Nov 2011 14:53:51 +0000 (15:53 +0100)]
Merge "[CLEANUP] remove not needed parameter"

9 years ago[BUGFIX] Invalid LOCAL_LANG overlay for non-existing languages
Xavier Perseguers [Mon, 28 Nov 2011 11:34:35 +0000 (12:34 +0100)]
[BUGFIX] Invalid LOCAL_LANG overlay for non-existing languages

Language overlay with custom TypoScript should only be done for currently
use languages.

Change-Id: Id663d11f561055fb4fcbb766cad3fe6677c295a4
Fixes: #32133
Releases: 4.7, 4.6, 4.5

9 years agoMerge "[BUGFIX] DateTime properties are not mapped correctly"
Stefan Neufeind [Tue, 22 Nov 2011 12:25:37 +0000 (13:25 +0100)]
Merge "[BUGFIX] DateTime properties are not mapped correctly"

9 years ago[BUGFIX] Make SignalSlot Dispatcher a singleton
Bastian Waidelich [Mon, 21 Nov 2011 16:42:49 +0000 (17:42 +0100)]
[BUGFIX] Make SignalSlot Dispatcher a singleton

The SignalSlot Dispatcher is injected in various places.
This spams the deprecation log because only singletons are
supposed to be injected.
This change fixes this by making the dispatcher implementing

Change-Id: I6911b41abc4ef4130fa3dea6f30f405b2ed5385c
Fixes: #31950
Releases: 1.4, 1.5

9 years ago[BUGFIX] DateTime properties are not mapped correctly
Bastian Waidelich [Wed, 2 Nov 2011 11:43:00 +0000 (12:43 +0100)]
[BUGFIX] DateTime properties are not mapped correctly

With the new property mapper *disabled* properties of type
DateTime are not correctly mapped to DateTime objects.
The reason is that the Object Container dies with an
exception when trying to reflect the (internal) constructor
arguments of DateTime objects.
This change fixes this by circumventing the Object Container
for DateTime objects.

Change-Id: I3db596a949a14941e89d67ecaa7a0606f5a80231
Resolves: #31345

9 years ago[TASK] Extbase (MVC): Avoid code-duplication in Tx_Extbase_MVC_Web_FrontendRequestHan...
Stefan Neufeind [Sat, 11 Jun 2011 21:59:44 +0000 (23:59 +0200)]
[TASK] Extbase (MVC): Avoid code-duplication in Tx_Extbase_MVC_Web_FrontendRequestHandler::isCacheable()

Same functionality is available centrally through

Thanks to Marc Bastian Heinrichs for the idea.

Change-Id: I9d2c7eb2eec8eb58eaebd54b5446b3f88bae3675
Resolves: #13100

9 years ago[BUGFIX] Make changed action resolving backwards compatible
Bastian Waidelich [Wed, 2 Nov 2011 09:24:22 +0000 (10:24 +0100)]
[BUGFIX] Make changed action resolving backwards compatible

With 1.4 Extbase throws an Exception if a requested controller
and/or action is not configured to be part of the current
plugin. If mvc.throwPageNotFoundExceptionIfActionCantBeResolved
is set, a 404 not-found page is shown (see #6235 and related).

That makes it easier for developers to track down typos in their
plugin configuration.
If, however, two plugins listen to the same "plugin namespace"
(e.g. because they are two instances of the same plugin) one
sometimes prefer the plugins to fall back to their default
controller/action pair, if the requested action is not supported

This change adds a new setting:
Add mvc.callDefaultActionIfActionCantBeResolved = 1 to your
extension/plugin configuration in order to get this behavior.

Note: This will resolve to the default action of the *current*
default controller. So this behavior is not exactly the same as
in Extbase 1.3 (see #7282).

Change-Id: I619690c7540381561ebf0a43446c7d094b534fbe
Resolves: #31322

9 years ago[CLEANUP] remove not needed parameter
Felix Oertel [Sun, 30 Oct 2011 18:32:47 +0000 (19:32 +0100)]
[CLEANUP] remove not needed parameter

Change-Id: Id66ad52771c6a20c57797026eb87d5a629aaa06e

9 years ago[BUGFIX] Fix PHP Warnings in Unit Tests
Bastian Waidelich [Fri, 21 Oct 2011 14:18:12 +0000 (16:18 +0200)]
[BUGFIX] Fix PHP Warnings in Unit Tests

Some unit tests fail when PHP warnings are not supressed.
This change fixes those.

Change-Id: I497714f5846c719e407beb1f1c92cd70b6d8e2d2

9 years ago[TASK] Updated release notes for 1.4.0, updated version number
Sebastian Kurfuerst [Fri, 21 Oct 2011 10:16:34 +0000 (12:16 +0200)]
[TASK] Updated release notes for 1.4.0, updated version number

Change-Id: I7c14240a79890cc119f75fba6f920b9a27642ed7

9 years ago[+Signal] introduce signals to persistence
Felix Oertel [Tue, 18 Oct 2011 08:20:58 +0000 (10:20 +0200)]
[+Signal] introduce signals to persistence

Introduce signals afterInsertObject, afterUpdateObject and
afterRemoveObject into persistence backend handing over the
object as argument.

Change-Id: I60d3a05cd2768eaef938aa3343b8facf11215fdf

9 years ago[BUGFIX] Pootle: Multi-line labels are not rendered properly
Xavier Perseguers [Thu, 20 Oct 2011 11:31:19 +0000 (13:31 +0200)]
[BUGFIX] Pootle: Multi-line labels are not rendered properly

In order to ensure that multi-line labels can be properly translated on Pootle or
any 3rd party tool, it turns out that an additional attribute xml:space="preserve"
should be added to each and every <trans-unit> tag in the localization files.

Change-Id: If96e68f21279d68c0c702128c735ddf6e12f8edc
Relates: #31141
Releases: 4.6

9 years ago[~FEATURE] index signal's arguments by key
Felix Oertel [Tue, 18 Oct 2011 08:12:01 +0000 (10:12 +0200)]
[~FEATURE] index signal's arguments by key

It makes much more sense to index the arguments to a slot by key
rather then by numeric index to avoid bugs.

Change-Id: Iaa4b496aa6394809d95e29634648e59e5bc5bd42

9 years ago[TASK] English XLIFF files should not contain target element
Dominique Feyer [Mon, 17 Oct 2011 20:27:45 +0000 (22:27 +0200)]
[TASK] English XLIFF files should not contain target element

Pootle uses the English XLIFF file has the template language and as such
it does not make sense to have "en" -> "en" translation files.

English XLIFF files are templates and should contain only a 'source', not
a 'target' element.

This commit contains:

- Remove of the target elements
- Remove target-language attribute
- Set the date attribute to the correct format
- Remove approved attribute

Change-Id: Ic118a746e93493f1a2b820f0e3721c53ca2d7805
Resolves: #31043
Relates: #30916
Releases: 4.6

9 years ago[TASK] Fix CGL issues on "else if" constructs
Oliver Hader [Thu, 13 Oct 2011 16:21:51 +0000 (18:21 +0200)]
[TASK] Fix CGL issues on "else if" constructs

Change-Id: I62d0f2e9a618a99b0b5469afd84beb936f71eceb

9 years ago[TASK] Update version to 1.4.0-rc1
Bastian Waidelich [Tue, 11 Oct 2011 09:48:25 +0000 (11:48 +0200)]
[TASK] Update version to 1.4.0-rc1

Change-Id: Id27119a21aa5a38032f5d44752f9bcc90c6c90e7

9 years ago[+FEATURE] Backport CommandController Implementation
Michael Klapper [Tue, 3 May 2011 11:09:21 +0000 (13:09 +0200)]
[+FEATURE] Backport CommandController Implementation

Backports the FLOW3 CLI functionality to Extbase
Registers the Extbase bootstrap at the v4 cli_dispatch.phpsh

Use it from commandline like this:
cli_dispatch.phpsh extbase <command identifier> --argumentName=value

for example:
cli_dispatch.phpsh extbase help

NOTE: Unlike in FLOW3 Commands have to be registered explictly
in ext_localconf.php in order to be callable via CLI.

Resolves: #27186

Change-Id: Ia47f1d90558fbdb058767f3aa2c3e23f086a3255

9 years agoMerge "[!!!][TASK] Disable rewritten property mapper by default"
Felix Oertel [Sun, 9 Oct 2011 19:22:11 +0000 (21:22 +0200)]
Merge "[!!!][TASK] Disable rewritten property mapper by default"

9 years agoMerge "[BUGFIX] Removing "Repository" in class name makes extensions unusable"
Bastian Waidelich [Sun, 9 Oct 2011 19:18:18 +0000 (21:18 +0200)]
Merge "[BUGFIX] Removing "Repository" in class name makes extensions unusable"

9 years agoMerge "[BUGFIX] ConfigurationManager use FrontendSimulator only if neccessary"
Bastian Waidelich [Sun, 9 Oct 2011 19:17:28 +0000 (21:17 +0200)]
Merge "[BUGFIX] ConfigurationManager use FrontendSimulator only if neccessary"

9 years ago[!!!][TASK] Disable rewritten property mapper by default
Bastian Waidelich [Sun, 9 Oct 2011 18:31:45 +0000 (20:31 +0200)]
[!!!][TASK] Disable rewritten property mapper by default

This reverts I6b415ee9502c242013661ee85acb6ae77218fb2d which
enabled the reworked property mapper by default.
You can explicitly enable the new property mapper with
plugin.tx_yourextension.features.rewrittenPropertyMapper = 1
but you should know what you're doing.
See #30476 for more details.

Change-Id: Ib001063c9bde162c6f44f4a6ef4d0d9f4326b0aa
Resolves: #30476

9 years ago[BUGFIX] Removing "Repository" in class name makes extensions unusable
Kai Vogel [Tue, 27 Sep 2011 20:06:52 +0000 (22:06 +0200)]
[BUGFIX] Removing "Repository" in class name makes extensions unusable

If an extension has "Repository" in its name, it becomes useless while
determining the model name in repository class. With this patch, the
problem gets solved by removing only the last "repository" at the end
of the class name to determinate the model name from repository class.

Thanks to Kai Vogel

Change-Id: I29d52e9f6370c54d9cde09bb5e1399ce530f1659
Resolves: #30306

9 years ago[BUGFIX] Default error FlashMessage has wrong severity
Bastian Waidelich [Thu, 29 Sep 2011 11:29:48 +0000 (13:29 +0200)]
[BUGFIX] Default error FlashMessage has wrong severity

Currently, if controller::getErrorFlashMessage() returns a
string, an according flashmessage is created with the
default severity which happens to be "OK".
This change fixes this by setting the severity to "ERROR"

Change-Id: Ic2b9b8e105d3857abb07304967d9d6d2d57c4335

9 years ago[BUGFIX] Fix check against @ignorevalidation annotations
Bastian Waidelich [Mon, 26 Sep 2011 14:29:55 +0000 (16:29 +0200)]
[BUGFIX] Fix check against @ignorevalidation annotations

The check for argument names against @ignorevalidation annotations
was done with the raw argument name, but the annotation is to be
given with a leading dollar sign:

@ignorevalidation $fooBar

The check thus always failed.

Change-Id: Ifa5b51d66f71cbb1986262470823f7fa4abc00e1
Related: #29761

9 years ago[BUGFIX] ConfigurationManager use FrontendSimulator only if neccessary
Sebastian Michaelsen [Sun, 11 Sep 2011 07:46:18 +0000 (09:46 +0200)]
[BUGFIX] ConfigurationManager use FrontendSimulator only if neccessary

In the ConfigurationManager use the FrontendSimulator
only if neccessary (not in FE Mode).

Change-Id: I4323fc1070b16adac5220375417be6aad02efedc
Resolves: #29651
Releases: 1.4.0

10 years ago[TASK] Increase version number
Bastian Waidelich [Mon, 19 Sep 2011 18:00:50 +0000 (20:00 +0200)]
[TASK] Increase version number

This change increases version number to 1.4.0-beta3
Besides it updates the dependency constraint to require TYPO3 v4.6

Change-Id: I4a6150ec480e2ad0af8146be8a49465842d8c987

10 years ago[BUGFIX] Default action is not properly resolved
Bastian Waidelich [Thu, 15 Sep 2011 17:11:10 +0000 (19:11 +0200)]
[BUGFIX] Default action is not properly resolved

When no action is specified, Extbase returns the first action
name of the default controller.
If another controller name is specified though (and no action name),
Extbase still returned the first action name of the default
controller. Instead it should obviously return the first action
name of the given controller in that case.

This is fixed by this change.

Besides invalid controller names now also trigger an exception

Change-Id: Ib4d5bbc078084206a9cdd13b0cae09926f463669
Resolves: #29875

10 years ago[FEATURE] Descriptive error on invalid action name
Claus Due [Sat, 20 Aug 2011 14:57:08 +0000 (16:57 +0200)]
[FEATURE] Descriptive error on invalid action name

This adds an additional check to determine if an action was specified
but does not exist in allowed actions for the current plugin.

By default, if an invalid action is specified, an InvalidActionName
Exception is thrown with the message
"There is no action <actionName> for controller <controllerName>"

If the option mvc.throwPageNotFoundExceptionIfActionCantBeResolved is
enabled (globally or just for the extension/plugin) a
t3lib_error_http_PageNotFoundException is thrown instead resulting
in a 404 error page. This is disabled by default.

The previous implementation silently used the default action if an
invalid action was specified. We consider this as a non-breaking
change nevertheless because it is very unlikely that someone was
relying on that behavior.

Thanks to Nathan L., Martin K. & Claus D. for reporting and patches!

Fixes: #5961
Change-Id: I25953da471968d7d2f34fe28d676e9de22abefc9

10 years ago[BUGFIX] Replaced call to deprecated t3lib_div::testInt()
Bastian Waidelich [Wed, 14 Sep 2011 11:28:25 +0000 (13:28 +0200)]
[BUGFIX] Replaced call to deprecated t3lib_div::testInt()

Instead the replacing t3lib_utility_Math::canBeInterpretedAsInteger() is used
now in Typo3DbBackend.

Change-Id: Ib08f63e6082d7aea9bc31230b9c3dd248dd2f8c8

10 years ago[FEATURE] Skip default controller and action in generated URIs
Bastian Waidelich [Thu, 1 Sep 2011 16:35:41 +0000 (18:35 +0200)]
[FEATURE] Skip default controller and action in generated URIs

This adds a new feature that leaves out controller and/or action
arguments from generated URIs if they are equal to the default
controller/action of the target plugin.
NOTE: This feature is disabled by default because it has
unpredictable side-effects, if you override default action/controllers
via Flexform.
You can enable this with following TypoScript:
plugin.tx_<yourExtensionName>.features.skipDefaultArguments = 1

But make sure that you're not using "switchableControllerActions"
settings in your plugin FlexForms for this extension.

Change-Id: I5baf0b3f3e5470bf8eec5537af7bd5246caa1c24
Resolves: #8344

10 years ago[FEATURE] Setting a scheme for a URI
Stefan Neufeind [Sat, 11 Jun 2011 14:02:03 +0000 (16:02 +0200)]
[FEATURE] Setting a scheme for a URI

Allow specifying an URI-scheme like "https".

Change-Id: Ifff775b188328b7caf5bdf4bde8d5f5b8834e3a9
Resolves: #9969

10 years agoMerge "[TASK] Remove deprecated methods & properties"
Bastian Waidelich [Mon, 12 Sep 2011 09:33:34 +0000 (11:33 +0200)]
Merge "[TASK] Remove deprecated methods & properties"

10 years agoMerge "[BUGFIX] Tx_Extbase_Utility_Localization::translate() must return NULL for...
Bastian Waidelich [Fri, 9 Sep 2011 19:42:36 +0000 (21:42 +0200)]
Merge "[BUGFIX] Tx_Extbase_Utility_Localization::translate() must return NULL for non-existing keys"

10 years ago[BUGFIX] Don't clone ContentObject in ConfigurationManager
Bastian Waidelich [Fri, 9 Sep 2011 18:27:00 +0000 (20:27 +0200)]
[BUGFIX] Don't clone ContentObject in ConfigurationManager

This reverts Ia3271303e571931b1d9c45e37f2b1455987e1ce0 which
introduced a regression:
Cloning the cObject will break non-cacheable actions in
otherwise cacheable Plugins because convertToUserIntObject()
has to be called on the current cObject.

Change-Id: I831fa9dbe58c572e40b7c89e5b8ff32e9f935b78
Related: #12332

10 years ago[TASK] Remove deprecated methods & properties
Bastian Waidelich [Fri, 9 Sep 2011 15:52:20 +0000 (17:52 +0200)]
[TASK] Remove deprecated methods & properties

This removes some deprecated methods and calls to them.
Namely Tx_Extbase_Persistence_Query::withUid()
and Tx_Extbase_Utility_TypeHandling::*().
Besides this fixes a doc comment and removes the obsolete

Change-Id: I1d08783053c348e34efbc602af57b72f37afe6b8
Resolves: #13745

10 years ago[BUGFIX] Tx_Extbase_Utility_Localization::translate() must return NULL for non-existi...
Bastian Waidelich [Fri, 9 Sep 2011 14:57:34 +0000 (16:57 +0200)]
[BUGFIX] Tx_Extbase_Utility_Localization::translate() must return NULL for non-existing keys

Apparently the behavior of t3lib_fe->sL() changed resulting in
Tx_Extbase_Utility_Localization::translate() returning FALSE if
the given locallang key does not exist.
The translation ViewHelper of Fluid however expects NULL to be
returned in that case.

Change-Id: Id816d2e9e586ceaf663c123018996e53103ee70b

10 years ago[BUGFIX] Clone ContentObject
Bastian Waidelich [Wed, 7 Sep 2011 14:42:26 +0000 (16:42 +0200)]
[BUGFIX] Clone ContentObject

ConfigurationManager::getContentObject() currently always returns
the original instance of the cObject that has been initialized in
the extbase bootstrap.
Sharing the same instance between multiple plugins leads to several
issues, one of them creating duplicate id attributes when using
css styled content and cObject ViewHelper.

This is fixed by cloning the cObject before returning it.

Thanks to Thomas Heilmann for reporting!

Change-Id: Ia3271303e571931b1d9c45e37f2b1455987e1ce0
Fixes: #12332

10 years ago[BUGFIX] Fix method visibility of AbstractConfigurationManager::getTypoScriptSetup()
Bastian Waidelich [Thu, 1 Sep 2011 16:06:08 +0000 (18:06 +0200)]
[BUGFIX] Fix method visibility of AbstractConfigurationManager::getTypoScriptSetup()

This method should be public (and it is in the implementing sub classes - so this is rather
a cosmetical fix).

Change-Id: Ief915d8c559e1b926c53eb556d1e2f9084fdf44b