diff --git a/application/core/LSYii_Application.php b/application/core/LSYii_Application.php index f816fe17..9e91fb1f 100755 --- a/application/core/LSYii_Application.php +++ b/application/core/LSYii_Application.php @@ -535,7 +535,8 @@ class LSYii_Application extends CWebApplication private function createControllerFromShortUrl($route) { $route = ltrim($route, "/"); - $alias = explode("/", $route)[0]; + $parts = explode("/", $route); + $alias = $parts[0]; if (empty($alias)) { return null; } @@ -563,7 +564,32 @@ class LSYii_Application extends CWebApplication if (empty($language)) { $_GET['lang'] = $languageSettings->surveyls_language; } - return parent::createController("survey/index/sid/" . $languageSettings->surveyls_survey_id); + + $extra = ''; + + if(count($parts) > 1) { + + if(count($parts) === 2) { + // $extra .= "/token/{$parts[1]}"; + $_GET['token'] = $parts[1]; + } + else { + + for($i = 1; $i < count($parts); $i++) { + if($parts[$i] === 'token') { + // $extra .= "/token/{$parts[$i+1]}"; + $_GET['token'] = $parts[$i+1]; + $i++; + } + } + } + } + + echo "
"; + var_dump($extra); + echo ""; + + return parent::createController("survey/index/sid/" . $languageSettings->surveyls_survey_id . $extra); } /**