Fixed bug in AJAX upload (#45): uploads were always sent as file arrays. It now only sends arrays if multiple files are to be uploaded.
Made it possible to select context to insert error and info messages into (bug #46).
It's now possible for Controllers to check if an AJAX postback has occured. It's also possible to get a Controller's view's content-type.
Updated class description text.
The function to make internal redirects without making a new HTTP request is removed.
Changed the loading behaviour of Pages. The Router now uses the given
PageModel to find a Page object. Router is responsible for trying every
route parameter against PageModel and finding 404 page if no Page was
found according to given route. Every page can now have an own "outer"
view. Default outer view is DEFAULT_VIEW and corresponds to config
parameter RESPONSE_LAYOUT.
The PageModel is now an abstract class and must be extended. Old PageModel is now called FilePageModel. All page models must implement the method getPage().
The Request class is now responsible for parsing the route that produced the request. Removed the bugfix for Firefox buggy behavior when redirecting AJAX requests.
Made formState() private and added curly brackets for better code style.
A page's "outer" view is now a property on Response class. It's set when
Response object is created by Page. Retrieving of "outer" view (formerly
called layout view) is done in Page class.
Form errors are now <strong> elements instead of <span> for improved accessability.
The "X-ajax-error" HTTP header is no longer sent to client. That header had no use for very long time.
Clearified some code regarding AJAX outputs with more and better comments.
The Content-type for AJAX responses with error/info messages are now
always JSON. The response also has an "inner" Content-type set by the
controller.
Removed bugfix for Firefox when redirecting AJAX requests.
A link is now shown for browsers not accepting HTTP Redirects.
Updated class description text.
The View class is renamed to HTMLView and View is now an abstract class.
Added view classes for JSON responses. JsonView takes an array of data to encode to JSON. JsonViewsCollection takes an array of other views and encodes that to JSON together with an array of data.
Added classes for easier JSON encoding of PHP objects in PHP version 5.3.
Updated test case Controllers to use the new View classes.