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
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
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
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".
Usage:
$uriBuilder
->setCreateAbsoluteUri(TRUE)
->setAbsoluteUriScheme('https')
Change-Id: Ifff775b188328b7caf5bdf4bde8d5f5b8834e3a9
Resolves: #9969
Bastian Waidelich [Mon, 12 Sep 2011 09:33:34 +0000 (11:33 +0200)]
Merge "[TASK] Remove deprecated methods & properties"
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"
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
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
TypeHandlingTest.
Change-Id: I1d08783053c348e34efbc602af57b72f37afe6b8
Resolves: #13745
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
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
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
Xavier Perseguers [Tue, 30 Aug 2011 20:05:41 +0000 (22:05 +0200)]
[TASK] Convert XLIFF files to Tab indentation
Change-Id: I8b6680d1a2793886b0bcadab29e40bee27402d8c
Resolves: #29306
Xavier Perseguers [Fri, 26 Aug 2011 08:05:16 +0000 (10:05 +0200)]
Merge "[BUGFIX] XLIFF: Approved attribute is on wrong element"
Xavier Perseguers [Fri, 26 Aug 2011 07:51:54 +0000 (09:51 +0200)]
[BUGFIX] XLIFF: Approved attribute is on wrong element
Attribute "approved" is currently put on "target" element instead
of "trans-unit".
Change-Id: I1b766376775569888edb025227bcd4cbadccc424
Fixes: #29262
Releases: 4.6
Sebastian Kurfuerst [Fri, 19 Aug 2011 06:25:08 +0000 (08:25 +0200)]
Merge "[+BUGFIX] Added missing initializeView method in EmptyView"
Claus Due [Thu, 18 Aug 2011 17:12:30 +0000 (19:12 +0200)]
[+BUGFIX] Fixing incorrect references to F3 classes
This change fixes some incorrect references to F3 classes
missed during backporting. This fixes #28816 for Extbase,
while #Ie2551cbc fixes it for Fluid.
Thanks to Jaume for reporting!
Change-Id: I1623d70715e80812fde079f9a4faa080b9d66eed
Fixes: #28816
Claus Due [Thu, 18 Aug 2011 17:03:13 +0000 (19:03 +0200)]
[+BUGFIX] Added missing initializeView method in EmptyView
This change adds an empty function to observe method
requirements set by the interface.
Thanks to Jay Dinse for reporting!
Change-Id: Ie2551cbccfe8eb6d5afb6f9490107b254f38d4a6
Fixes: #28966
Claus Due [Mon, 15 Aug 2011 12:53:09 +0000 (14:53 +0200)]
[+BUGFIX] Fix classname of Exception, ConfigurationManager
Removed extraneous "Exception" part from class name of exception
thrown on incorrect configuration type. Thanks to Mathias Brodala
for reporting!
Change-Id: I13adc6353e76989bdcc9e3c5e4a8934012d5f571
Fixes: #28480
Sebastian Kurfuerst [Tue, 2 Aug 2011 09:41:51 +0000 (11:41 +0200)]
Merge "[TASK] Replace LLXML file by XLIFF file"
Sebastian Kurfuerst [Tue, 2 Aug 2011 08:52:11 +0000 (10:52 +0200)]
Improved ChangeLog
Change-Id: Iad0f4f5da4461b909254d4ebfcf8a93db9db00af
Sebastian Kurfuerst [Tue, 2 Aug 2011 08:30:12 +0000 (10:30 +0200)]
[!!!][TASK] Enable rewritten property mapper by default
Change-Id: I6b415ee9502c242013661ee85acb6ae77218fb2d
Sebastian Kurfuerst [Tue, 2 Aug 2011 08:28:06 +0000 (10:28 +0200)]
Updated ChangeLog; raised version number
Change-Id: I920b3b23abc32e79f184380a92cce7ce0d03d277
Sebastian Kurfuerst [Tue, 2 Aug 2011 05:20:27 +0000 (07:20 +0200)]
Merge "[FEATURE] Speed up ObjectAccess"
Dominique Feyer [Mon, 1 Aug 2011 18:10:05 +0000 (20:10 +0200)]
[TASK] Replace LLXML file by XLIFF file
Change-Id: Ia23e06ab5efc9a90f08c42fe54a4aadddcb0d92d
Stefan Neufeind [Fri, 10 Jun 2011 19:51:28 +0000 (21:51 +0200)]
[+FEATURE] Extbase (Persistence): Allow pid of object to be set from action-controller
If pid of an object is set then
Tx_Extbase_Persistence_Backend->determineStoragePageIdForNewRecord()
needs to give it priority.
Thanks to Michael Budnick and Balisky Christophe.
Change-Id: Ib99400eb6947044dd190d47de5dce0c63444bb20
Resolves: #7572
Bastian Waidelich [Thu, 28 Jul 2011 14:40:30 +0000 (16:40 +0200)]
[FEATURE] Speed up ObjectAccess
This change improves performance of ObjectAccess::getProperty(),
ObjectAccess::getPropertyPath() and ObjectAccess::isPropertyGettable()
by roughly 100% by changing the order of type handling and reducing the
amount of type checks in internal calls.
This should not change the behavior in most cases, unit tests
are still running through.
Change-Id: I2a5e2242d0c9cf76a3523dd45e73284ec770b55c
Stefan Neufeind [Sun, 31 Jul 2011 18:44:16 +0000 (20:44 +0200)]
Merge "[+FEATURE] Extbase (Persistence): Allow removing previously set limit with unsetLimit()"
Stefan Neufeind [Sun, 19 Jun 2011 15:17:18 +0000 (17:17 +0200)]
[+FEATURE] Extbase (Persistence): Allow removing previously set limit with unsetLimit()
$limit is initially unset and can be set with setLimit().
Using unsetLimit() it is possible to reset that limit now.
Change-Id: I6040c6b655439066af1716d7af07d1e0ff7bfbdc
Resolves: #27445
Christian Kuhn [Fri, 15 Jul 2011 23:22:02 +0000 (01:22 +0200)]
[-TASK] Remove autoloader
With core issue #21144 the extbase autoloader was moved to the core.
This patch removes the according code from extbase since class file locations
based on the extbase class naming scheme is now handled and cached by the core.
Thanks to Christian Kuhn.
Change-Id: I73b5fc592882f142726fbb4962845e57aa7c1dfe
Resolves: #28249
Depends: #21144
Felix Oertel [Sat, 9 Jul 2011 13:09:47 +0000 (15:09 +0200)]
[+FEATURE] introduce signal in MVC/Dispatcher
Introuce signal dispatched after a request has been dispatched.
Change-Id: Ia274306265d59fa5d5e14e08777025813ea307a7
Stefan Neufeind [Sat, 16 Jul 2011 13:08:04 +0000 (15:08 +0200)]
Merge "[-BUGFIX] remove datecheck on timezone test"
Stefan Neufeind [Fri, 15 Jul 2011 06:08:41 +0000 (08:08 +0200)]
[TASK] Correct classnaming for Tx_Extbase_Tests_Unit_BaseTestCase
Must be Tx_Extbase_Tests_Unit_BaseTestCase
not Tx_Extbase_BaseTestCase, which currently only
works because of ext_autoload.php.
Change-Id: Iac06b2ae5ae52d2661b32faf257fe802cad64ccb
Felix Oertel [Wed, 13 Jul 2011 22:20:57 +0000 (00:20 +0200)]
[-BUGFIX] remove datecheck on timezone test
When testing between 00:00 and 01:00 GMT+1 the timezone test fails,
because in this time the date in the set timezone differs from the
date in your timezone.
The assert for the date is not needed here, as only the set timezone
is going to be tested.
Change-Id: I6300a3c826e35ea6dd5b30f27fce05b9d81d6284
Felix Oertel [Wed, 13 Jul 2011 21:41:19 +0000 (23:41 +0200)]
[+FEATURE] remove usage of deprecated methods in unit-tests
Using PHPUnit 3.5 some methods are marked deprecated as they
will be removed in PHPUnit 3.6. This methods should not longer
be used.
Change-Id: I61a84f9d9bd5a4d0e412a3db8956d0343e996d44
Felix Oertel [Tue, 12 Jul 2011 17:48:24 +0000 (19:48 +0200)]
Merge "[BUGFIX] Adjust unit tests to changes"
Bastian Waidelich [Tue, 12 Jul 2011 16:33:49 +0000 (18:33 +0200)]
[BUGFIX] Adjust unit tests to changes
Apparently unit tests were not green for a while.
This change fixes this.
Besides it removes "static" modifiers from
TypeHandlingService::isLiteral() and
TypeHandlingService::isSimpleType().
Change-Id: I9ef82ec6c477bf1b5dd29731167ee34e8012404f
Bastian Waidelich [Tue, 12 Jul 2011 16:33:01 +0000 (18:33 +0200)]
[BUGFIX] create ClassSchema with ObjectManager::create()
ClassSchema is a prototype and should thus not beeing
build with ObjectManager::get().
This is fixed with this change.
Change-Id: Id50b959bb2259e22621b3e7a4b98905e161cf668
Bastian Waidelich [Tue, 12 Jul 2011 15:18:51 +0000 (17:18 +0200)]
[BUGFIX] TypeHandling class not found
This is a hotfix for #28121
Change-Id: I7c8d74e77ed09112b5ec86668f129d247a558261
Resolves: #28121
Stefan Neufeind [Sat, 9 Jul 2011 21:06:22 +0000 (23:06 +0200)]
[TASK] Extbase (Utility): Add service for TypeHandling
Transforms static utility-class for TypeHandling into
a service, including testcases.
Related: #13864
Change-Id: Icf30bda56db41337b03281e59d1f8d343bda0ae1
Stefan Neufeind [Sat, 9 Jul 2011 20:54:50 +0000 (22:54 +0200)]
Merge "[+BUGFIX] Extbase: CGL: Convert case of acronyms from UPPERCASE to CamelCase"
Stefan Neufeind [Sat, 9 Jul 2011 20:52:38 +0000 (22:52 +0200)]
[+BUGFIX] Extbase: CGL: Convert case of acronyms from UPPERCASE to CamelCase
According to CGL things like setRequestURI need to be named setRequestUri
Change-Id: I5e1b4b32a3cd736f8666c1963269398097f99145
Resolves: #12189