1
|
|
|
<?php namespace App\Providers; |
2
|
|
|
|
3
|
|
|
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; |
4
|
|
|
use Illuminate\Routing\Router; |
5
|
|
|
|
6
|
|
|
class RouteServiceProvider extends ServiceProvider |
7
|
|
|
{ |
8
|
|
|
/** |
9
|
|
|
* This namespace is applied to the controller routes in your routes file. |
10
|
|
|
* |
11
|
|
|
* In addition, it is set as the URL generator's root namespace. |
12
|
|
|
* |
13
|
|
|
* @var string |
14
|
|
|
*/ |
15
|
|
|
protected $namespace = 'App\Http\Controllers'; |
16
|
|
|
|
17
|
|
|
/** |
18
|
|
|
* Define your route model bindings, pattern filters, etc. |
19
|
|
|
* |
20
|
|
|
* @param \Illuminate\Routing\Router $router |
21
|
|
|
* |
22
|
|
|
* @return void |
23
|
|
|
*/ |
24
|
31 |
|
public function boot(Router $router) |
25
|
|
|
{ |
26
|
31 |
|
$router->patterns([ |
27
|
31 |
|
'provider' => 'twitter|google|facebook', |
28
|
|
|
'token' => '[a-zA-Z0-9-]+' |
29
|
31 |
|
]); |
30
|
|
|
|
31
|
31 |
|
parent::boot($router); |
32
|
31 |
|
} |
33
|
|
|
|
34
|
|
|
/** |
35
|
|
|
* Define the routes for the application. |
36
|
|
|
* |
37
|
|
|
* @param \Illuminate\Routing\Router $router |
38
|
|
|
*/ |
39
|
31 |
|
public function map(Router $router) |
40
|
|
|
{ |
41
|
31 |
|
$defaultLocale = config('app.locale'); |
42
|
31 |
|
$namespace = $this->namespace; |
43
|
31 |
|
$middleware = 'web'; |
44
|
|
|
|
45
|
|
|
//----------------------------------------------------------------------- |
46
|
|
|
// Non-localized, generic routes (such as those for admin panel etc). |
47
|
|
|
//----------------------------------------------------------------------- |
48
|
|
|
|
49
|
|
|
$router->group(compact('namespace', 'middleware'), function (Router $router) { |
50
|
31 |
|
$router->get('/oauth/{provider}', 'Users\AuthController@getOAuth'); |
51
|
31 |
|
}); |
52
|
|
|
|
53
|
|
|
//----------------------------------------------------------------------------------------------------- |
54
|
|
|
// Register localized routes with locale-prefices (in case of default locale, no prefix is attached). |
55
|
|
|
//----------------------------------------------------------------------------------------------------- |
56
|
|
|
|
57
|
31 |
|
foreach (config('app.locales') as $prefix => $localeName) { |
58
|
31 |
|
app('translator')->setLocale($prefix); |
59
|
|
|
// Skip default locale for now. |
60
|
31 |
|
if ($prefix === $defaultLocale) { |
61
|
31 |
|
continue; |
62
|
|
|
} |
63
|
|
|
|
64
|
|
|
// Set localized routers. |
65
|
|
|
$router->group(compact('namespace', 'middleware', 'prefix'), function (Router $router) use ($prefix) { |
66
|
31 |
|
$this->localizedRoutes($router, $prefix); |
67
|
31 |
|
}); |
68
|
31 |
|
} |
69
|
|
|
|
70
|
|
|
//------------------------------------------------ |
71
|
|
|
// Default locale: No prefices are necessary. |
72
|
|
|
//------------------------------------------------ |
73
|
|
|
|
74
|
31 |
|
app('translator')->setLocale($defaultLocale); |
75
|
31 |
|
$router->group(compact('namespace', 'middleware'), function (Router $router) use ($defaultLocale) { |
76
|
31 |
|
$this->localizedRoutes($router, $defaultLocale); |
77
|
31 |
|
}); |
78
|
31 |
|
} |
79
|
|
|
|
80
|
31 |
|
protected function localizedRoutes(Router $router, $prefix) |
81
|
|
|
{ |
82
|
31 |
|
$router->get('login/{provider?}', ['uses' => 'Users\AuthController@getLogin', 'as' => $prefix . '.login']); |
83
|
31 |
|
$router->post('login/{provider?}', 'Users\AuthController@postLogin'); |
84
|
31 |
|
$router->get('logout', ['uses' => 'Users\AuthController@getLogout', 'as' => $prefix . '.logout']); |
85
|
31 |
|
$router->get('register', ['uses' => 'UsersController@create', 'as' => $prefix . '.register']); |
86
|
31 |
|
$router->post('register', 'UsersController@store'); |
87
|
|
|
|
88
|
31 |
|
$router->resource('users', 'UsersController'); |
89
|
|
|
|
90
|
31 |
|
$router->get('password/email', 'Users\PasswordController@requestPasswordResetLink'); |
91
|
31 |
|
$router->post('password/email', 'Users\PasswordController@sendPasswordResetLink'); |
92
|
31 |
|
$router->get('password/reset/{token}', 'Users\PasswordController@showPasswordResetForm'); |
93
|
31 |
|
$router->post('password/reset', 'Users\PasswordController@resetPassword'); |
94
|
|
|
|
95
|
31 |
|
$router->get('activation', 'Users\ActivationController@requestActivationCode'); |
96
|
31 |
|
$router->get('activation/{token}', 'Users\ActivationController@activate'); |
97
|
31 |
|
$router->post('activation', 'Users\ActivationController@activate'); |
98
|
|
|
|
99
|
31 |
|
$router->resource('files', 'FilesController', ['only' => ['index', 'create', 'store', 'show', 'destroy']]); |
100
|
|
|
|
101
|
31 |
|
$router->get('', 'HomeController@index'); |
102
|
|
|
|
103
|
31 |
|
$router->get('admin', 'AdminController@index'); |
104
|
31 |
|
} |
105
|
|
|
} |
106
|
|
|
|