From 3b17c6baddda20c82fd0f6c635c420c048ac3866 Mon Sep 17 00:00:00 2001 From: Thomas Portelange Date: Fri, 18 Sep 2015 11:51:14 +0200 Subject: [PATCH] check if class exists on first run, class may not exist and prevent dev/build from working (since preRequest is called before dev/build) also change postRequest to check if clockwork exists instead of checking env (env might change between pre et post request) --- src/ClockworkControllerExtension.php | 4 ++-- src/RequestFilter.php | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ClockworkControllerExtension.php b/src/ClockworkControllerExtension.php index f748961..916936b 100644 --- a/src/ClockworkControllerExtension.php +++ b/src/ClockworkControllerExtension.php @@ -17,7 +17,7 @@ class ClockworkControllerExtension extends Extension { public function onBeforeInit() { - if (Director::isDev()) { + if (Director::isDev() && class_exists('Clockwork\\Request\\ClockworkTimeline')) { Injector::inst()->get('ClockworkTimeline')->startEvent( get_class($this->owner) . '_init', get_class($this->owner) . ' initialization' @@ -26,7 +26,7 @@ public function onBeforeInit() { } public function onAfterInit() { - if (Director::isDev()) { + if (Director::isDev() && class_exists('Clockwork\\Request\\ClockworkTimeline')) { $injector = Injector::inst(); $injector->get('ClockworkTimeline')->endEvent(get_class($this->owner) . '_init'); $injector->get('ClockworkTimeline')->startEvent( diff --git a/src/RequestFilter.php b/src/RequestFilter.php index 5822983..85f4a07 100644 --- a/src/RequestFilter.php +++ b/src/RequestFilter.php @@ -33,7 +33,8 @@ class RequestFilter implements \RequestFilter * @return boolean Whether to continue processing other filters. Null or true will continue processing (optional) */ public function preRequest(SS_HTTPRequest $request, Session $session, DataModel $model) { - if (Director::isDev()) { + if (Director::isDev() && class_exists('Clockwork\\Clockwork')) { + $this->clockwork = new Clockwork(); // Wrap the current database adapter in a proxy object so we can log queries @@ -59,7 +60,7 @@ public function preRequest(SS_HTTPRequest $request, Session $session, DataModel * @return boolean Whether to continue processing other filters. Null or true will continue processing (optional) */ public function postRequest(SS_HTTPRequest $request, SS_HTTPResponse $response, DataModel $model) { - if (Director::isDev()) { + if (isset($this->clockwork)) { $response->addHeader("X-Clockwork-Id", $this->clockwork->getRequest()->id); $response->addHeader("X-Clockwork-Version", Clockwork::VERSION); $response->addHeader('X-Clockwork-Path', Director::baseURL() . '__clockwork/');