Commit Graph

312 Commits

Author SHA1 Message Date
Ingo Schommer
b930149c3a BUGFIX Fixed RequestHandler->allowedActions() lowercasing of actions - was applying the logic, but not writing it back to the $actions array.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@89163 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-15 21:50:02 +00:00
Andrew Short
7277ada137 BUGFIX: Added PageComments to ContentController::$allowed_actions so commenting works.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@89003 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-15 00:49:49 +00:00
Andrew Short
2be58d19f3 BUGFIX: Updated ModelAsController->findOldPage() query to be cross-database compatible.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88799 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-13 02:43:39 +00:00
Andrew Short
94d2913f09 API CHANGE: HTTPRequest and HTTPResponse no longer inherit from Object, since they should not be extended.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88797 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-13 02:43:30 +00:00
Sam Minnee
68279be998 BUGFIX: Fix regression in r88521 that prevented the index action from being explictly disabled by setting the * key in allowed_actions
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88523 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 09:15:51 +00:00
Sam Minnee
1fce2e614b BUGFIX: Ensure that the index action works even if allowed_actions is set.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88521 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 05:16:18 +00:00
Andrew Short
72592d8c14 FEATURE: Added RequestHandler->allowedActions() to return a unified representation (including extensions) of all allowed actions on a controller.
BUGFIX: Updated Controller->hasAction() to use RequestHandler->allowedActions() so that extension actions are recognised.

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88508 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:26 +00:00
Andrew Short
06fbb96f88 API CHANGE: Decoupled ErrorPage::response_for() from the request and updated it so it will only return a response if an appropriate error page can be found.
MINOR: Updated ContentController->httpError() to use Controller->httpError() if there is no error page.

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88507 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:25 +00:00
Andrew Short
53450e1221 MINOR: Updated Controller to return a 404 on actions that don't exist, rather than a 403.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88506 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:24 +00:00
Andrew Short
da4b65c749 FEATURE: Added RequestHandler->hasAction() and Controller->hasAction() to check if a specific action is defined on a controller.
ENHANCEMENT: Updated ContentController->handleRequest() to use Controller->hasAction() to check whether to fall over to a child page, rather than relying on an error response from Controller->handleRequest().

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88505 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:23 +00:00
ajshort
97ac0008b3 ENHANCEMENT: Cached the value for RootURLController::get_homepage_link() between calls.
From: ajshort <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88504 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:22 +00:00
Andrew Short
ea906a50a8 FEATURE: Implemented Translatable::get_homepage_link_by_locale() to enable translated home pages to function.
FEATURE: Updated SiteTree::get_by_link() to integrate with translatable, and allow it to work across languages by implementing Translatable->alternateGetByLink().
API CHANGE: Moved lang_filter enabling & disabling into static methods on Translatable, and renamed to locale_filter.
BUGFIX: Fixed viewing a translatable page by URL without explicitly setting a Locale in ContentController->handleRequest().

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88503 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:22 +00:00
Andrew Short
beebf785b5 ENHANCEMENT: Refactored ModelAsController to only grab the first page of a request, then pass control on to it.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88499 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:19 +00:00
Andrew Short
4cc56abecb MINOR: Updated ContentController->ChildrenOf() to use new SiteTree functions, and added tests.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88498 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:19 +00:00
Andrew Short
ad7194cc40 FEATURE: Refactored RootURLController to allow nested home pages.
MINOR: Deprecated RootURLController::get_homepage_urlsegment() in favour of get_homepage_link().
MINOR: Updated SiteTree->RelativeLink() to return a link to the site root for the home page.

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88496 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:17 +00:00
Andrew Short
f29eceecff API CHANGE #3724: Unified the Link() method to accept an action parameter.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88495 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:16 +00:00
Andrew Short
c1c7973b95 BUGFIX: Fixed Controller::join_links() to properly handle multiple consecutive slashes.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88494 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:15 +00:00
Andrew Short
bf50f560df ENHANCEMENT: Update ContentController to manually set the current Director page in handleRequest().
MINOR: Deprecated Director::currentPage() in favour of Director::get_current_page().

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88487 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:10 +00:00
Andrew Short
d4fb917825 MINOR: Replaced usage of the deprecated SiteTree::get_by_url() with get_by_link().
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88485 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:08 +00:00
Andrew Short
da2fd13b38 FEATURE: Allow you to access nested pages by falling over to a child page in ContentController if one is available.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88483 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:07 +00:00
Andrew Short
acc063984b ENHANCEMENT: Added ErrorPage::response_for() to get a response for a HTTP error code and request.
MINOR: Updated ModelAsController to generate errors with ErrorPage.
MINOR: Updated ContentController to generate HTTP errors with ErrorPage.

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88480 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:03 +00:00
Andrew Short
3eafee7799 ENHANCEMENT: Added ModelAsController::controller_for() to link a SiteTree object to its controller.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88479 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:02 +00:00
Andrew Short
490835633c ENHANCEMENT: Added HTTPRequest->isMedia() to check if a request is for a common media type.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88478 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:02 +00:00
Andrew Short
cf2cf11b57 ENHANCEMENT: Do not allow access to actions that have not been defined or do not have an action template.
ENHANCEMENT: Added Controller->hasActionTemplate() to check if a template exists for a specific action.

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88477 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:01 +00:00
Andrew Short
3599a105fd ENHANCEMENT: Updated SiteTree linking methods to generate nested URLs.
MINOR: Updated ContentController->Link() to force links generated by a controller to always be returned in their full form.

From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88476 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:07:00 +00:00
Andrew Short
d81d7593b3 MINOR ajshort: Deprecated un-used HTTPResponse->getLinks() method that duplicated functionality.
From: Andrew Short <andrewjshort@gmail.com>

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88467 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-11 00:06:53 +00:00
Sam Minnee
baea4ee2ba BUGFIX #3685: Fixed setting of character set by default when no content negotiator is used.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@88218 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-10-06 21:44:38 +00:00
Geoff Munn
384389e079 MINOR FIX: removed backticks from documentation
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@86167 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-09-13 22:26:23 +00:00
Ingo Schommer
3f751a2cb8 BUGFIX Don't lowercase permission codes contained in $allowed_actions in RequestHandler->checkAccessAction(). Permission checks are case sensitive.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@86085 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-09-10 07:02:54 +00:00
Ingo Schommer
5708f79312 BUGFIX Consistently returning from a Security::permissionFailure() to avoid ambiguous situations when controllers are in ajax mode
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@86008 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-09-10 02:00:42 +00:00
Ingo Schommer
fc03a8608a API CHANGE Don't exempt 'index' controller actions from $allowed_actions check - they might still contain sensitive information (for example ImageEditor). This action has to explicitly allowed on controllers with $allowed_actions defined now.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@86002 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-09-10 01:37:44 +00:00
Ingo Schommer
0cc95bec5f BUGFIX Fixed WidgetControllerTest by adding missing url routing to ContentController (see r85789)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@85817 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-09-07 05:39:43 +00:00
Ingo Schommer
2cc0d016f4 API CHANGE Removed unnecessary WidgetFormProxy class and Widget->FormObjectLink(), broken functionality since the RequestHandler restructuring in 2.3. Use Widget_Controller instead.
FEATURE Added Widget_Controller class to enable nested forms within Wiget class.
ENHANCEMENT Changed WidgetArea.ss to iterate over $WidgetControllers instead of $Widgets, to allow forms rendered within to retain their controller context (through Widget_Controller and $failover mechanisms).
ENHANCEMENT Added handleWidgets() to ContentController to support new Widget_Controller class

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@85789 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-09-07 03:28:23 +00:00
Ingo Schommer
e9d25ca2ce MINOR Moved documentation about Controller and RequestHandler to the right places
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@85775 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-09-07 00:14:11 +00:00
Geoff Munn
a1207e4b94 MINOR FIX: Column names quoted properly
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@85419 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-31 00:22:10 +00:00
Sean Harvey
9e45d960bf MINOR Debug::backtrace() calls now call SSBacktrace::backtrace()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84782 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-19 04:22:36 +00:00
Sam Minnee
2b7572e21a BUGFIX: Removed some code that needed Extension to extend from Object.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84162 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 08:50:32 +00:00
Sam Minnee
6f0a1e9d36 MINOR: Small speed-up of HTTPRequest::match()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84143 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-11 03:51:17 +00:00
Sam Minnee
63d5691fb2 BUGFIX: Don't make the Director completely fail if there was output prior to session_start() being called.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@84063 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-08 03:10:20 +00:00
Sam Minnee
004a1a2f24 MINOR: Removed unnecessary HomepageForDomain query
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@83812 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-08-05 05:30:04 +00:00
Sean Harvey
82a68dd3bd MINOR Merged from branches/2.3
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@81997 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-16 03:44:15 +00:00
Tom Rix
61ed3df367 MINOR fixed relative URL resolver in Director::test()
MINOR improved documentation in static-main.php

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@81749 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-14 01:21:04 +00:00
Tom Rix
39309b1e9a ENHANCEMENT allow Director::test() to cope with absolute URIs
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@81680 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-13 04:15:40 +00:00
Sam Minnee
0924d723b6 BUGFIX #3937: Fixed substr_count in HTTPRequest to be mbstring compatible
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@80655 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-30 23:21:50 +00:00
Sean Harvey
628a0b7b88 ENHANCEMENT Don't give an error if ContentController::childrenOf() can't find the parent page, since this error isn't that useful
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@80341 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-29 04:53:15 +00:00
Sam Minnee
56199e45e7 BUGFIX #3900: Fix Director::forceWWW()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@80230 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-27 13:08:23 +00:00
Sam Minnee
e2dcc48d48 ENHANCEMENT ajshort: Allow a HTTPResponse to be encapsulated in a HTTPResponse_Exception, which can be later caught by the request handler.
MINOR ajshort: Updated RequestHandler->httpError() to interrupt the execution flow by throwing an exception.

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@80226 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-27 08:48:44 +00:00
Sam Minnee
f882f55492 BUGFIX #3732: Fixed validation of SilverStripeNavigator HTML
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@80219 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-27 06:41:19 +00:00
Sam Minnee
6fd387c99c API CHANGE ajshort: Deprecated the Director site mode and callback functionality.
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@80055 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-25 08:15:52 +00:00
Sam Minnee
c52f67aae5 MINOR ajshort: Replaced usage of the deprecated split() function with preg_split().
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@79568 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-06-18 09:34:17 +00:00