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
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
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"
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
Marc Bastian Heinrichs [Mon, 30 Apr 2012 23:46:04 +0000 (01:46 +0200)]
Merge "[TASK] Backport changes to Extbase_Error_Message"
Marc Bastian Heinrichs [Mon, 30 Apr 2012 23:35:31 +0000 (01:35 +0200)]
Merge "[TASK] Improve performance of Utility/Arrays::integerExplode"
Marc Bastian Heinrichs [Mon, 30 Apr 2012 22:51:52 +0000 (00:51 +0200)]
Merge "[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
Marc Bastian Heinrichs [Mon, 30 Apr 2012 21:41:00 +0000 (23:41 +0200)]
Merge "[TASK] Remove trailing whitespace"
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
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
Felix Oertel [Wed, 11 Apr 2012 14:42:13 +0000 (16:42 +0200)]
[CLEANUP] clean up ext_autoload.php
Change-Id: Ibcb6eded45f75fa372675f79bab121c97a0bb0b0
Resolves: #35866
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
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
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
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
Jochen Rau [Fri, 13 Apr 2012 22:17:05 +0000 (00:17 +0200)]
Merge "[BUGFIX] Respect all subclasses (single table inheritance)"
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
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
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
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
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
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
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
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"
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
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
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
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
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
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
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
Felix Oertel [Sun, 18 Mar 2012 13:02:12 +0000 (14:02 +0100)]
Merge "[BUGFIX] PropertyMapper throws exceptions instead of returning error objects."
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
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
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
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
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
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
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
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
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
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
Jochen Rau [Wed, 15 Feb 2012 19:26:12 +0000 (14:26 -0500)]
[BUGFIX] Removed obsolet file.
Related to #32734
Change-Id: I13d43c65b7fe005642faba9da7e3420f4baeeb24
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
Sebastian Kurfuerst [Sat, 11 Feb 2012 06:41:11 +0000 (07:41 +0100)]
Merge "Revert "[BUGFIX] keep PersistentObjectConverterTest from cloning objects""
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
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
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
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
Jochen Rau [Sat, 4 Feb 2012 02:13:41 +0000 (03:13 +0100)]
Merge "[TASK] Backported FLOW3 Debugger"
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)."
Stefan Neufeind [Fri, 3 Feb 2012 17:40:26 +0000 (18:40 +0100)]
Merge "[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
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
Jochen Rau [Fri, 3 Feb 2012 17:13:12 +0000 (18:13 +0100)]
Merge "[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
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
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
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
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
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
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
Bastian Waidelich [Wed, 18 Jan 2012 13:39:13 +0000 (14:39 +0100)]
Merge "[FEATURE] Run CommandController commands through Scheduler"
Xavier Perseguers [Wed, 18 Jan 2012 11:23:27 +0000 (12:23 +0100)]
Merge "[BUGFIX] Invalid LOCAL_LANG overlay for non-existing languages"
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
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
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
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
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
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
Stefan Neufeind [Wed, 30 Nov 2011 14:53:51 +0000 (15:53 +0100)]
Merge "[CLEANUP] remove not needed parameter"
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
Stefan Neufeind [Tue, 22 Nov 2011 12:25:37 +0000 (13:25 +0100)]
Merge "[BUGFIX] DateTime properties are not mapped correctly"
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
t3lib_Singleton.
Change-Id: I6911b41abc4ef4130fa3dea6f30f405b2ed5385c
Fixes: #31950
Releases: 1.4, 1.5
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
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
Tx_Extbase_Service_ExtensionService::isActionCacheable()
Thanks to Marc Bastian Heinrichs for the idea.
Change-Id: I9d2c7eb2eec8eb58eaebd54b5446b3f88bae3675
Resolves: #13100
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
Felix Oertel [Sun, 30 Oct 2011 18:32:47 +0000 (19:32 +0100)]
[CLEANUP] remove not needed parameter
Change-Id: Id66ad52771c6a20c57797026eb87d5a629aaa06e
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
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
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
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
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
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
Oliver Hader [Thu, 13 Oct 2011 16:21:51 +0000 (18:21 +0200)]
[TASK] Fix CGL issues on "else if" constructs
Change-Id: I62d0f2e9a618a99b0b5469afd84beb936f71eceb
Bastian Waidelich [Tue, 11 Oct 2011 09:48:25 +0000 (11:48 +0200)]
[TASK] Update version to 1.4.0-rc1
Change-Id: Id27119a21aa5a38032f5d44752f9bcc90c6c90e7
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
Felix Oertel [Sun, 9 Oct 2011 19:22:11 +0000 (21:22 +0200)]
Merge "[!!!][TASK] Disable rewritten property mapper by default"
Bastian Waidelich [Sun, 9 Oct 2011 19:18:18 +0000 (21:18 +0200)]
Merge "[BUGFIX] Removing "Repository" in class name makes extensions unusable"
Bastian Waidelich [Sun, 9 Oct 2011 19:17:28 +0000 (21:17 +0200)]
Merge "[BUGFIX] ConfigurationManager use FrontendSimulator only if neccessary"
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
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
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"
explicitly.
Change-Id: Ic2b9b8e105d3857abb07304967d9d6d2d57c4335
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
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
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
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
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
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