[root]/Classes/MVC/Controller
Exception
(0 files, 0 lines)

| Author | Changes | Lines of Code | Lines per Change |
|---|---|---|---|
| Totals | 464 (100.0%) | 5541 (100.0%) | 11.9 |
| robert | 170 (36.6%) | 2904 (52.4%) | 17.0 |
| k-fish | 222 (47.8%) | 1601 (28.9%) | 7.2 |
| sebastian | 30 (6.5%) | 405 (7.3%) | 13.5 |
| networkteam_hlubek | 16 (3.4%) | 306 (5.5%) | 19.1 |
| andi | 16 (3.4%) | 220 (4.0%) | 13.7 |
| bwaidelich | 10 (2.2%) | 105 (1.9%) | 10.5 |
Removed everything in trunk after move to git.
0 lines of code changed in 31 files:
[~TASK] FLOW3 (MVC): Changed the order how views are resolved: If a dedicated view exists for the controller / action pair, it is chosen instead of the Fluid Template View.
[+FEATURE] FLOW3 (MVC): The ActionController now allows for specifying view object names for each format, e.g. a specific view for JSON request, another one for HTML etc. Resolves #7113
[!!!]][API] FLOW3 (MVC): Added a new method to the ViewInterface: canRender() must tell if the view is able to render something meaningful for the given controller context.
[~TASK] Fluid (View): Adjusted the template view to the extended ViewInterface.
43 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (Persistence): Ordering by multiple fields works again, fixes #8968.
1 lines of code changed in 1 file:
[~TASK] FLOW3 (MVC): Removed RESTController.php and renamed RestControllers.php to RestController.php
0 lines of code changed in 1 file:
[~TASK][!!!] FLOW3 (MVC): Renamed the RESTController to RestController.
[+FEATURE] FLOW3 (MVC): The name of the request argument triggering the actions show(), delete() and update is now configurable through the RestController's property "resourceArgumentName". Default name is "resource". Resolves #9327
0 lines of code changed in 1 file:
[+TASK] FLOW3 (Validation): The ValidatorResolver now throws a helpful exception when encountering missing @param annotations.
1 lines of code changed in 1 file:
[-TASK] FLOW3: Removed @version keyword from files, resolves #8835.
0 lines of code changed in 14 files:
[+FEATURE] FLOW3 (Resource): The resource:// stream wrapper now also supports persistent resource - just specify the resource hash to access one. Resolves #8082
[+FEATURE] FLOW3 (Resource): The Resource Manager now provides an API method for getting more information about recently imported or uploaded resources. Resolves #8088
[+FEATURE] FLOW3 (Resource): Resource objects can now be converted to a string. Its __toString() method returns the resource's sha1 hash.
[+TASK] FLOW3 (Documentation): Updated the Resource Management section in the FLOW3 manual.
[~TASK] FLOW3 (Error): The debugger now doesn't filter Resource classes anymore.
1 lines of code changed in 1 file:
[+FEATURE][+API] FLOW3 (Object): The Object Manager (and the object containers) now provide a method for retrieving the implementation class name by specifying the object name. Resolves #7960
[~TASK] FLOW3 (MVC): The Request object now returns the case sensitive action name, even if it has been set all lowercase by a route. That means that a route http://host/package/mycontroller/myaction will be correctly resolved to myActionAction if \F3\Package\Controller\MyController::myActionAction exists. Addresses #7243
3 lines of code changed in 1 file:
[~TASK] FLOW3: Fixed a comment
[~TASK] Fluid: Tiny layout changes
1 lines of code changed in 1 file:
[-API] FLOW3 (MVC): Controller\Argument no longer has setNewValidatorConjunction() - it was unused.
[+BUGFIX] FLOW3 (Persistence): Fixed building of hash for value objects.
[~TASK] FLOW3 Distribution (Build system): Moved vfsStream to a new folder; PHPUnit target fails build on error and failure now;
[-TASK] FLOW3: Fixed/removed some incomplete unit tests.
[-TASK] Fluid: Removed some incomplete unit tests.
[~TASK] Testing: Adjusted Bootstrap.php file to fixed FLOW3 Bootstrap behavior.
0 lines of code changed in 1 file:
[~TASK] FLOW3 (MVC): Fixed an exception number.
1 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Validation): The @validate annotations in action methods now support an object accessor syntax ($argument.subobject.subsubobject) for declaring additional validation rules referring to a property of a nested object. Resolves #6993
[~TASK] FLOW3 (Validation): Brushed up and unified the messages of most validators.
[~TASK] FLOW3 (Error): The var_dump method now also filters PHPUnit Invocation Mokers.
34 lines of code changed in 2 files:
[~TASK] FLOW3 (MVC): Renamed Controller\Context (back) to Controller\ControllerContext, resolves #6949.
[~TASK] ExtJS: Renamed Controller\Context (back) to Controller\ControllerContext, relates to #6949.
[~TASK] Fluid: Renamed Controller\Context (back) to Controller\ControllerContext, relates to #6949.
158 lines of code changed in 3 files:
[+FEATURE] FLOW3 (Persistence): Reimplemented lazy loading, resolves #6120. See updated manual for details.
[+FEATURE] FLOW3 (Persistence): Lazy loaded SplObjectStorage can now be counted without triggering activation, resolves #3337.
[~API] FLOW3 (Persistence): Moved the BackendInterface into the Backend namespace.
[-API] FLOW3 (Persistence): Removed the DataMapperInterface. Backends should follow the defined data structure.
[~TASK] FLOW3 (Persistence): Optimized clean data handling while dirty checking, reducing memory usage.
3 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Core): The flow3 hell script now uses the PHP binary specified in the PHP environment variable, resolves #6681.
[~TASK] FLOW3: Some SVN property maintenance.
1 lines of code changed in 2 files:
[+BUGFIX] FLOW3 (MVC): Fixed the StandardController which still used the only Resources path. Now it uses Fluid instead of its own view.
19 lines of code changed in 1 file:
[+FEATURE] FLOW3 (Object): Implemented a static object container which is automatically built. It's essentially a hardcoded version of the autowired and configured object dependencies - just a lot faster. Many tests are still missing, but the version in this commit should be mostly functional. Addresses #3740 and resolves #2123.
[!!!][~API] FLOW3 (Object): Heavily refactored the Object Manager and its tests. The most important change is the removal of the Object Factory whose create() method is now located in the Object Manager. Furthermore, the getObject() method has been renamed to get() and a few minor important API functions within the Object Manager have been modified. This commit also contains a script which allows for semi automatically migrating existing code to the new API (see ./flow3 migrate objectmanagerusage). Resolves #6562
[~TASK] FLOW3 (Configuration): The Configuration Manager and its YAML source now doesn't depend on the YAML package anymore but refers to a YAML parser class within the FLOW3 package. Resolves #6564.
30 lines of code changed in 5 files:
[~TASK] FLOW3 (Documentation): Updated the Coding Guidelines: removed inconsistent exceptions from the general class naming rules. Also added the rule that names of aspect classes must end with "Aspect". Relates to #5658
[~TASK] Global: Renamed many classes and interfaces in order to be consistent with FLOW3's naming rules. A migration script to update third-party applications will follow soon. Resolves #5658
209 lines of code changed in 8 files:
[+FEATURE] FLOW3 (Persistence): Wrote a new persistence backend using a database directly instead of TYPO3CR. Details see below. Resolves #6006.
[+API] FLOW3 (Persistence): Added new backend classes that can be used for further backends.
[-API] FLOW3 (Persistence): Removed methods getIdentifierByObject(), getObjectByIdentifier() and isNewObject() from BackendInterface.
[+API] FLOW3 (Persistence): Removed methods getIdentifierByObject(), getObjectByIdentifier() and isNewObject() to ManagerInterface and Manager.
[-API] FLOW3 (Persistence): Removed withUUID() from QueryInterface, use getObjectByIdentifier() on Manager instead.
[+API] FLOW3 (Persistence): Added constants for query operators to QueryInterface.
1 lines of code changed in 1 file:
[+FEATURE] FLOW3 (MVC): If the result of an action method is an object providing a __toString() method, this method will be called by the ActionController and its result will be added to the response content. Resolves #5995
[+FEATURE] FLOW3 (MVC): The routes property @controller now allows the use of namespace separators for referring to classes in file / class structure below "Controllers". Resolves #5998
[~TASK] FLOW3 (Documentation): Fixed a few typos in the AOP documentation.
2 lines of code changed in 1 file:
[~TASK] FLOW3 (AOP): Removed the "Resource" sub package from the blacklisted sub packages because it now contains a class (Resource) which needs to be persistable.
[-FEATURE][!!!] FLOW3 (MVC): For now removed the request hash feature (HMAC) because it mocks a level of security for incoming data which it doesn't provide. The current mechanism effectively puts control over content security into Fluid templates and it doesn't belong there. Although there might be a need for a request hash, the content security must be implemented by other means. Relates to #4960 and relates to #5659.
[+FEATURE] FLOW3 (MVC): Implemented support for file uploads. Uploading files is cooperation between the Web Request Builder, the Property Mapper and the Resource sub package. The solution included in this commit provides handling of incoming files (including nested arguments) and transparent conversion into Resource objects. Resources (files) are only stored once, no matter how often they are uploaded or what original filename they carried. Still missing: view helper, documentation and automatic purging of unused resource files. Addresses #342.
[~API][!!!] FLOW3 (Property): Renamed the property mapper class to "PropertyMapper" (was just "Mapper" before). Relates to #5658
[+FEATURE] FLOW3 (Property): The Property Mapper now supports a mechanism called Object Converters. These convertes enable the mapper to convert strings, arrays or numbers to certain objects, for example a unix time stamp to a DateTime object. Resolves #5660.
[+FEATURE] FLOW3 (Reflection): Implemented the methods "isPropertySettable" and "isPropertyGettable" for the ObjectAccess class.
[~TASK] FLOW3 (Resource): Renamed the StreamWrapper class to StreamWrapperAdapter
[+FEATURE] FLOW3 (Resource): Implemented a ResourceObjectConverter which is capable of converting arrays or strings to Resource objects.
[+FEATURE] FLOW3 (Utility): Implemented a setValueByPath() method for the Array utilities class.
[+FEATURE] FLOW3 (Utility): Added support for the _FILES super global to the Environment class. The array of information about uploaded files can be obtained in a much cleaner way than PHP provides it by the new getUploadedFiles() method.
6 lines of code changed in 3 files:
[~TASK] FLOW3 (Environment): Renamed getRawGETArguments() and getRawPOSTArguments() to getRawGetArguments() and getRawPostArguments().
5 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (AOP): The built proxy classes now retain vital method annotations, fixes #5484
[~TASK] FLOW3 (Security): Some tweaks to the HashService, renamed generateHash() to generateHmac(), validateHash() to validateHmac()
[!!!][+CONFIGURATION] FLOW3 (Security): the HashService now needs an encryptionKey to be set in it's settings
[~TASK] FLOW3 (MVC): Tweaked ActionController::checkRequestHash() a little
13 lines of code changed in 1 file:
[~TASK] FLOW3 (MVC): Fixed a tiny error in the NotFoundController.
1 lines of code changed in 1 file:
[~API] FLOW3 (Log): setLogFileURL() was renamed to setLogFileUrl() in FileBackend.
[~API] FLOW3 (MVC): redirectToURI() was renamed to redirectToUri() in AbstractController.
[~API] FLOW3 (MVC): setRequestURI(), getRequestURI(), setBaseURI() and getBaseURI() were renamed to *Uri() in Request.
[~API] FLOW3 (Property): DataType\URI was renamed to DataType\Uri.
[~API] FLOW3 (Utility): getRequestURI() was renamed to getRequestUri() in Environment.
[~TASK] Fluid (Service): Refactored XML generators a little.
[~TASK] DocumentationBrowser: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] FLOW3: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Fluid: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Kickstart: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Testing: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
[~TASK] Welcome: Moved towards more consistent class, function and variable naming: changed uppercase acronyms to studlyCaps or StudlyCaps as needed.
4 lines of code changed in 1 file:
[~TASK][+API] FLOW3 (MVC): Refactored the Controller Context and how its being built in the Abstract Controller and Action Controller. The controllers now provide a method getControllerContext() which can potentially be used as a factory method for injecting a controller's current context into other objects (such as a TypoScript view).
38 lines of code changed in 5 files:
[+FEATURE] FLOW3 (MVC): Made package settings available in view. Now you can access settings directly in your Fluid template like {settings.someOption}. This resolves #5152
4 lines of code changed in 1 file:
[~TASK] FLOW3: Added @api annotations on class level and adjusted CGL to explain class-level @api handling.
10 lines of code changed in 10 files:
[~API] FLOW3 (MVC): Configured the AbstractView and NotFoundView to be of scope prototype instead of singleton. Make sure to annotate all your views as prototypes as well!
[~TASK] Fluid (View): TemplateView is now prototype because it can be configured. If it stayed a singleton, we'd run into big trouble when template views are nested.
5 lines of code changed in 2 files:
[~TASK] FLOW3 (MVC): Renamed exception InvalidOrNoRequestHash to InvalidOrMissingRequestHash, some tiny documentation tweaks.
6 lines of code changed in 2 files:
[+BUGFIX] FLOW3 (Security): Fixed two issues with Request Hashing. Changed hash implementation from normal SHA1 to a real HMAC. Thanks to Markus Krause for pointing this out. Relates to #4960.
3 lines of code changed in 1 file:
[BUGFIX] FLOW3 (MVC): Bugfix to automatic request hashing in context with CLI. Relates to #4960.
1 lines of code changed in 1 file:
[!!!][+FEATURE] FLOW3 (Security): Added a HMAC generator and checker to prevent unauthorized access on objects where no edit fields were generated for. It is mandatory in case objects are modified on the server side. See the issue for a more in-depth explanation. This feature does NOT break backwards-compatibility as long as you use only Fluid for form-generation. In case of custom fields, it WILL break backwards compatibility, and you might need the @dontverifyrequesthash annotation. Resolves #4960.
[+FEATURE] Fluid (ViewHelpers): Added a request hash to all form fields. It is mandatory in case objects are modified on the server side. Relates to #4960.
61 lines of code changed in 2 files:
[~TASK] FLOW3 (MVC): Fixed an error with handling an error in transformValue().
[~TASK] FLOW3 (Persistence): changed the way cloning affect the memorized clean state of an entity, relates to #4931.
[~TASK] Testing: unit tests are now looked for in Tests/Unit/ instead of Tests/.
[!!!][~TASK] FLOW3 (Resource): Changed the way resources from packages are addressed: files in packages are now fetched by getResource('package:<packageKey>/<relativePathInResources>').
[!!!][~TASK] DocumentationBrowser: Moved all unit tests to new subdirectory, added directory for system tests.
[!!!][~TASK] FLOW3: Moved all unit tests to new subdirectory, added directory for system tests.
[!!!][~TASK] Fluid: Moved all unit tests to new subdirectory, added directory for system tests.
[!!!][~TASK] Kickstart: Moved all unit tests to new subdirectory, added directory for system tests.
[!!!][~TASK] Party: Moved all unit tests to new subdirectory, added directory for system tests.
[!!!][~TASK] PHP6: Moved all unit tests to new subdirectory, added directory for system tests.
[!!!][~TASK] Welcome: Moved all unit tests to new subdirectory, added directory for system tests.
[!!!][~TASK] YAML: Moved all unit tests to new subdirectory, added directory for system tests.
5 lines of code changed in 1 file:
[+BUGFIX] FLOW3 (MVC): Fixed leftover use of flashMessages variable in ActionController, fixes #4850.
1 lines of code changed in 1 file:
[!!!][~API] FLOW3 (Validation): The RangeValidator now expects the arguments "minimum" and "maximum" instead of "startRange" and "endRange". The CountValidator also uses "minimum" and "maxmimum", previously it was "min" and "max"
[!!!][~API] FLOW3 (MVC): The recently introduced class "FlashMessages" was renamed to "FlashMessageContainer" and the property name within the AbstractController was changed to "flashMessageContainer" accordingly. Check your controller code for use of $this->flashMessages!
[!!!][~API] Fluid (ViewHelper): Renamed the "RenderFlashMessages" view helper to "FlashMessages". Replace "<f:renderFlashMessages" by "<f:flashMessages" in your templates if you already used this new feature.
104 lines of code changed in 3 files:
[!!!][+BUGFIX] FLOW3 (MVC): The RESTController no longer defines the $id argument for methods, this fixes #4013. You must declare the $id argument properly in your controller actions from now on!
0 lines of code changed in 1 file:
[+FEATURE] FLOW3 (MVC): Removed EmptyView and made NotFoundView display helpful message instead, resolves #4405.
9 lines of code changed in 1 file:
[~TASK] FLOW3 (MVC): removed Text as default data type for Controller\Argument
6 lines of code changed in 2 files:
(134 more)