-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathroutes.php
More file actions
115 lines (87 loc) · 3.53 KB
/
Copy pathroutes.php
File metadata and controls
115 lines (87 loc) · 3.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the Closure to execute when that URI is requested.
|
*/
/* PATTERNS */
Route::pattern('id', '\d+');
Route::pattern('courseId', '\d+');
Route::pattern('reviewId', '\d+');
Route::pattern('slug', '[a-zA-Z0-9_\-\.]+');
// Localization wrapper
Route::group([
'prefix' => LaravelLocalization::setLocale(),
'before' => 'LaravelLocalizationRedirectFilter' // LaravelLocalization filter
], function() {
/* All localized routes */
Route::get('/', function()
{
return View::make('hello');
});
Route::get('/', 'StaticController@homepage');
Route::get('/about', 'StaticController@about');
Route::get('/search', 'SearchController@search');
/*Route::get('/students', 'StudentController@index');
Route::get('/students/{id}', 'StudentController@show');*/
Route::get('/courses', 'CourseController@studyCycles');
Route::post('/courses/studyplan', 'CourseController@findStudyPlan');
Route::get('/courses/{cycle}', 'CourseController@studyPlans');
Route::get('/courses/{cycle}/{plan_slug}', 'CourseController@studyPlanCourses');
Route::get('/course/{slug}-{id}', 'CourseController@show');
Route::get('/teacher/{slug}-{id}', 'CourseController@showTeacher');
Route::get('/login', array('before' => 'guest', 'uses' => 'AuthController@login'));
Route::get('/login_redirect', 'AuthController@loginRedirect');
Route::get('/logout', 'AuthController@logout');
/* Routes forcing login */
Route::group(array('before' => 'auth'), function() {
Route::get('/dashboard', 'StudentController@dashboard');
});
});
// === actions API ===
// Routes for posting / editing / deleting stuff.
Route::group([
'prefix' => 'api'
], function() {
// Public
Route::get('/csrf_token', function() {
return "TOKEN = ".Session::token();
});
Route::get('/errors', function() {
return Session::get('errors', new Illuminate\Support\MessageBag)->getMessages();
});
// Restricted
Route::group(['before' => 'auth'], function() {
// --- Regular API ---
// reviews
Route::post('/review', 'ReviewController@createReview');
Route::post('/review/edit', 'ReviewController@updateReview');
Route::post('/review/delete', 'ReviewController@deleteReview');
// comments
Route::post('/comment', 'ReviewController@createComment');
Route::post('/comment/edit', 'ReviewController@updateComment');
Route::post('/comment/delete', 'ReviewController@deleteComment');
// --- AJAX API ---
// Basic route to ping for auth status
Route::get('/is_auth', function() { return 'ok'; });
// votes
Route::post('/vote', 'ReviewController@vote');
});
});
// === Admin stuff ===
Route::group(['before' => 'admin'], function() {
Route::get('/admin', 'AdminController@index');
Route::get('/admin/moderate', 'AdminController@moderate');
Route::post('/admin/moderate', 'AdminController@doModerate');
Route::get('/admin/students', 'AdminController@listStudents');
Route::get('/admin/reviews', 'AdminController@listReviews');
});
Route::when('*', 'csrf', array('post', 'put', 'delete'));
Route::when('*', 'locale', array('post', 'put', 'delete', 'get'));
Route::when('*', 'mixpanel_identity', array('post', 'put', 'delete', 'get'));
Route::when('*', 'ab_testing', array('post', 'put', 'delete', 'get'));