From ebeb7d0f94ce4134ac78d31889c92beb75c68706 Mon Sep 17 00:00:00 2001 From: gwoo Date: Thu, 24 Jan 2008 21:19:13 +0000 Subject: [PATCH] updating dispatcher related to #3856, test added git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6408 3807eeeb-6ff5-0310-8944-8be069107fe0 --- cake/dispatcher.php | 2 +- cake/tests/cases/dispatcher.test.php | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cake/dispatcher.php b/cake/dispatcher.php index 384272c1d..07b426372 100644 --- a/cake/dispatcher.php +++ b/cake/dispatcher.php @@ -605,7 +605,7 @@ class Dispatcher extends Object { if ($tmpUri === '/' || $tmpUri == $baseDir || $tmpUri == $base) { $url = $_GET['url'] = '/'; } else { - if (strpos($uri, $base) !== false) { + if ($base && strpos($uri, $base) !== false) { $elements = explode($base, $uri); } elseif (preg_match('/^[\/\?\/|\/\?|\?\/]/', $uri)) { $elements = array(1 => preg_replace('/^[\/\?\/|\/\?|\?\/]/', '', $uri)); diff --git a/cake/tests/cases/dispatcher.test.php b/cake/tests/cases/dispatcher.test.php index 915bcb2cf..6a89ade7a 100644 --- a/cake/tests/cases/dispatcher.test.php +++ b/cake/tests/cases/dispatcher.test.php @@ -372,6 +372,14 @@ class DispatcherTest extends UnitTestCase { $result = $Dispatcher->getUrl($uri); $expected = 'students/browse'; $this->assertEqual($expected, $result); + + $_GET['url'] = array(); + $Dispatcher =& new Dispatcher(); + $Dispatcher->base = ''; + $uri = '/?/home'; + $result = $Dispatcher->getUrl($uri); + $expected = '?/home'; + $this->assertEqual($expected, $result); } function testBaseUrlAndWebrootWithModRewrite() {