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"
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
Stefan Neufeind [Sat, 11 Jun 2011 20:38:01 +0000 (22:38 +0200)]
[TASK] Extbase: Use strpos() instead of strstr() where possible
Faster and less memory-intensive if just checking for presence
of one character (according to PHP-documentation).
Change-Id: Idb05355dcacc8257f497ee7fc5abe293c9d592f7
Stefan Neufeind [Sat, 9 Jul 2011 17:57:47 +0000 (19:57 +0200)]
Merge changes I4241f1e3,Ic91d8ad1
* changes:
[+BUGFIX] clean up ObjectStorage
Revert "[+BUGFIX] clean up ObjectStorage"
Felix Oertel [Thu, 19 May 2011 09:47:27 +0000 (11:47 +0200)]
[+BUGFIX] clean up ObjectStorage
* smaller doc adjustments
* rename storage to objectStorage when used as argument
(Resubmit from reverted Change-Id: Ib45ff231358c25fc53d032f8b81fa88ca3408afe)
Change-Id: I4241f1e30c9bdc5d779ca6417cc734c44ea1a79d
Stefan Neufeind [Sat, 9 Jul 2011 17:34:09 +0000 (19:34 +0200)]
Revert "[+BUGFIX] clean up ObjectStorage"
This reverts commit
01ff47c3d4394eef63a4db4eca181df644743ebb
Stefan Neufeind [Sat, 9 Jul 2011 17:05:55 +0000 (19:05 +0200)]
Merge "[TASK] Extbase (Persistence): Remove duplicate registration in identity map"
Stefan Neufeind [Sat, 9 Jul 2011 17:04:06 +0000 (19:04 +0200)]
Merge "[+BUGFIX] clean up ObjectStorage"
Marc Bastian Heinrichs [Sat, 9 Jul 2011 14:49:11 +0000 (16:49 +0200)]
Merge "[TASK] Adjust PHP dependency in ext_emconf.php"
Marc Bastian Heinrichs [Sat, 9 Jul 2011 14:48:42 +0000 (16:48 +0200)]
Merge "[FEATURE] Add check for loaded DBAL to requirements check"
Felix Oertel [Sat, 9 Jul 2011 13:00:50 +0000 (15:00 +0200)]
[+BUGFIX] allow skipping of arguments in signal dispatch
The SignalSlotDispatcher requires an array of arguments when dispatching a signal.
It should be perfectly fine to call it without.
Change-Id: Ifb8633ce9c62a545b2fabe6ed265e3749f5e8545
Bastian Waidelich [Sat, 9 Jul 2011 13:18:07 +0000 (15:18 +0200)]
[TASK] Adjust PHP dependency in ext_emconf.php
With Extbase 1.4 PHP version 5.3+ is required
Change-Id: I09f070f46eb3739012e3ce1343215210450daae2
Bastian Waidelich [Sat, 9 Jul 2011 13:16:47 +0000 (15:16 +0200)]
[FEATURE] Add check for loaded DBAL to requirements check
This adds a status report to ExtbaseRequirementsCheck that will
inform the user if the dbal Extension is installed.
Besides this slightly modifies the existing doc commend check
so it uses the new Bootstrap instead of the deprecated
Dispatcher
Change-Id: I5fed623316b955853c7dabeca716ebc5be490952
Felix Oertel [Thu, 19 May 2011 09:47:27 +0000 (11:47 +0200)]
[+BUGFIX] clean up ObjectStorage
* smaller doc adjustments
* rename storage to objectStorage when used as argument
Change-Id: Ib45ff231358c25fc53d032f8b81fa88ca3408afe
Claus Due [Fri, 1 Jul 2011 12:09:06 +0000 (14:09 +0200)]
Merge "[+BUGFIX] ObjectStorage->toArray(): fix array pointer problem"
Bastian Waidelich [Thu, 30 Jun 2011 09:21:19 +0000 (11:21 +0200)]
[TASK] Recreate ext_autoload.php
Using the Extension Development Evaluator
Change-Id: Icb8ad8b2190dba8ea27a2bd36669d7bb71d2b4ee
Resolves: #27680
Sebastian Kurfuerst [Tue, 21 Jun 2011 08:06:33 +0000 (10:06 +0200)]
[!!!][+FEATURE] (MVC): Modify MVC stack to use the new property mapper
* use Error_Result for validation errors and property mapping errors
* use new Property Mapper
* use new validation API
* removed @dontvalidate annotation, and replaced it by @ignorevalidation.
The new behavior is only exposed when the feature flag is enabled.
For testing this functionality, follow the instructions in the related issue.
This also brings the AbstractController and ActionController in sync with
FLOW3 again.
Resolves: #27656
Change-Id: I4c888f42eb6e366b2a939e129c6ae3b60eb03581
Sebastian Kurfuerst [Wed, 22 Jun 2011 14:56:51 +0000 (16:56 +0200)]
[!!!][+FEATURE] (Validation): Adjusted and re-done Validation API
* Completely reworked Validation API, adjusting all validators.
Validators now return a Error_Result object.
* Validators can now be singletons or prototypes
* Validator options are passed in the constructor
The whole change is *backwards-compatible*, so all default validators can be
used with the new MVC stack in Extbase 1.4, and with the MVC stack in
compatibility mode.
The same goes for *custom validators* which extend *AbstractValidator*. They
are automatically upwards-compatible.
!!! If an extension author directly implemented the *ValidatorInterface*,
he needs to adjust his validator to support the new API.
Resolves: #27653
Change-Id: I6b3c9f4a629728f7e1fa2cd672f38f69c7321f52
Sebastian Kurfuerst [Tue, 21 Jun 2011 07:20:44 +0000 (09:20 +0200)]
[+FEATURE] (Property): Add new property mapper
This changeset adds the new property mapper, alongside of the old one.
It is not used yet in the MVC framework.
Related: #27059
Change-Id: Ibc71a99a16f995ba608b1e1de61c7c9fcf4dc784
Sebastian Kurfuerst [Wed, 22 Jun 2011 12:40:02 +0000 (14:40 +0200)]
[+FEATURE] (Persistence): Synchronize PersistenceManagerInterface more with FLOW3
* adds the methods getObjectByIdentifier and getIdentifierByObject directly to
the Persistence Manager and interface, and marks it as public API.
Resolves: #27657
Change-Id: I14c4b5bad2d91d86801cb6ac873993f8e75a371b
Sebastian Kurfuerst [Wed, 22 Jun 2011 06:33:49 +0000 (08:33 +0200)]
[+FEATURE] (Reflection): Object Access can now access private properties
Resolves: #27652
Related: #27059
Change-Id: I93a31053f29e18791539033e262f32b41f21222e
Sebastian Kurfuerst [Tue, 21 Jun 2011 07:44:40 +0000 (09:44 +0200)]
[+FEATURE] (Utility): synchronize TypeHandling class with FLOW3
Also backports unit tests from FLOW3.
Resolves: #27651
Related: #27059
Change-Id: Ia76dfef73ad9833305a5493114cf99c99ce02157
Sebastian Kurfuerst [Tue, 21 Jun 2011 07:17:14 +0000 (09:17 +0200)]
[!!!][FEATURE] Improve error and message handling
ERROR HANDLING:
- Error\Result as base class for generic "Results" (used by validation
and by Property Mapping)
- Error\Message as base class for a generic error message, with
subclasses Error, Warning and Notice.
This is a backport of
f25803698d14e994a8c6582c6d47299ded2ca567 from FLOW3.
Resolves: #27650
Related: #27059
Change-Id: I6882744fb0121f2faa7733b250bef88b34e550a9
Sebastian Kurfuerst [Tue, 21 Jun 2011 06:43:24 +0000 (08:43 +0200)]
[TASK] (MVC, Property): Deprecation of the the old property mapper
Related: #27059
Change-Id: I9d11777ee44194f05f9e5a70f761695298a5ad5f
Sebastian Kurfuerst [Thu, 30 Jun 2011 05:14:29 +0000 (07:14 +0200)]
[+FEATURE] (Configuration): Feature flag implementation
In order to provide new features and stay backwards-compatible at the same time,
the framework has to distinguish at some points between old code and new code
with breaking changes.
At these points, the feature flag should be used.
Note: This is right now only an INTERNAL API, not to be used by Extension
Developers yet. It is needed as a basis for the new Property Mapper and MVC
adjustments, but it this solution will be revised at the T3DD11.
Related: #27070
Related: #27059
Change-Id: I29d79efb359ae8e61a8e4c08cd04037296e33720
Marc Bastian Heinrichs [Sun, 6 Mar 2011 15:21:53 +0000 (16:21 +0100)]
[+BUGFIX] (Persistence): return correct objectCountByQuery when query
contains left join and no limit
When using DISTINCT with COUNT, the DISTINCT has to be inside the
COUNT otherwise the DISTINCT works only on the returned single number
of rows with doublets, what has no effect.
Fixes: #13075
Change-Id: Ie2359d593004e012ca71ac5769b8806b43596855
Stefan Neufeind [Sun, 26 Jun 2011 15:57:47 +0000 (17:57 +0200)]
Merge "[+BUGFIX] Cloning a ValueObject should not set its uid to NULL"
Christian Kuhn [Sun, 19 Jun 2011 11:40:35 +0000 (13:40 +0200)]
[BUGFIX] Adapt cache configuration to 4.6
Change-Id: Ifcc5f66cd61c32bf2bf219da21eea67939d3b77c
Resolves: #27546
Depends: #27506
Depends: #27536
Stefan Neufeind [Fri, 24 Jun 2011 01:16:11 +0000 (03:16 +0200)]
Merge "[BUGFIX] Fix case of setChildSortByFieldName in DataMapFactory"
Stefan Neufeind [Fri, 24 Jun 2011 01:03:43 +0000 (03:03 +0200)]
Merge "[+FEATURE] Extbase (MVC): Make response format configurable in TypoScript"
Sebastian Kurfuerst [Thu, 23 Jun 2011 05:53:43 +0000 (07:53 +0200)]
[+BUGFIX] (SignalSlot): Fix unit tests
Resolves: #27550
Change-Id: Idddd477af6ff278473626455a963ebea925a4242
Sebastian Kurfuerst [Mon, 20 Jun 2011 08:56:40 +0000 (10:56 +0200)]
[+BUGFIX] Make ObjectManager::isRegistered work
This is a followup change to I7a31f93e9855bb1e36c5953e86c3aef7322f548f,
which introduced several unwanted behaviors, the main problem being that
isRegistered would not work for all objects being created implicitely through
dependency injection.
Furthermore, the change removes the @api annotations again, after discussing
that with Bastian, we do not see a benefit in providing that to the user right now.
Change-Id: Ibe4221c288daf9b10cc3f0decaa33bfccb5f9430
Felix Oertel [Mon, 11 Apr 2011 23:20:26 +0000 (01:20 +0200)]
[+FEATURE] backport SignalSlotDispatcher
The SignalSlotDispatcher is a great way to have a centralized
EventHandler in Extbase. The SignalAspect was omitted as we don't
have AOP in Extbase. We have to dispatch all the Signals ourself.
Some exemplary Signals will be committed in another change.
The code of the SignalSlotDispatcher itself was backported
completely.
Change-Id: I7891ee06af495c73c6ec7883ee83fa4540d82350
Stefan Neufeind [Sun, 19 Jun 2011 14:21:58 +0000 (16:21 +0200)]
Merge "[+FEATURE] implement ObjectManager::isRegistered()"