|
@@ -107,6 +107,46 @@ Routing\Router::register('*', '(:all)', function()
|
|
|
return Event::first('404');
|
|
|
});
|
|
|
|
|
|
+/*
|
|
|
+|--------------------------------------------------------------------------
|
|
|
+| Gather The URI And Locales
|
|
|
+|--------------------------------------------------------------------------
|
|
|
+|
|
|
|
+| When routing, we'll need to grab the URI and the supported locales for
|
|
|
+| the route so we can properly set the language and route the request
|
|
|
+| to the proper end-point in the application.
|
|
|
+|
|
|
|
+*/
|
|
|
+
|
|
|
+$uri = URI::current();
|
|
|
+
|
|
|
+$locales = Config::get('application.languages', array());
|
|
|
+
|
|
|
+$locales[] = Config::get('application.language');
|
|
|
+
|
|
|
+/*
|
|
|
+|--------------------------------------------------------------------------
|
|
|
+| Set The Locale Based On Route
|
|
|
+|--------------------------------------------------------------------------
|
|
|
+|
|
|
|
+| If the URI starts with one of the supported languages, we will set
|
|
|
+| the default language to match that URI segment and shorten the
|
|
|
+| URI we'll pass to the router to not include the lang segment.
|
|
|
+|
|
|
|
+*/
|
|
|
+
|
|
|
+foreach ($locales as $locale)
|
|
|
+{
|
|
|
+ if (starts_with($uri, $locale))
|
|
|
+ {
|
|
|
+ Config::set('application.language', $locale);
|
|
|
+
|
|
|
+ $uri = trim(substr($uri, strlen($locale)), '/'); break;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+if ($uri === '') $uri = '/';
|
|
|
+
|
|
|
/*
|
|
|
|--------------------------------------------------------------------------
|
|
|
| Route The Incoming Request
|
|
@@ -118,8 +158,6 @@ Routing\Router::register('*', '(:all)', function()
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
-$uri = URI::current();
|
|
|
-
|
|
|
Request::$route = Routing\Router::route(Request::method(), $uri);
|
|
|
|
|
|
$response = Request::$route->call();
|