datatable.directory codebase
				https://datatable.directory/
			
			
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							85 lines
						
					
					
						
							2.9 KiB
						
					
					
				
			
		
		
	
	
							85 lines
						
					
					
						
							2.9 KiB
						
					
					
				| <?php
 | |
| // Routes using the web middleware
 | |
| 
 | |
| require "login.php";
 | |
| 
 | |
| Route::get('/ping', function () {
 | |
|     die(
 | |
|         json_encode([
 | |
|             'user_agent' => request()->userAgent(),
 | |
|             'ip' => request()->ip(),
 | |
|             'server_time' => date('r'),
 | |
|         ], 128)
 | |
|     );
 | |
| });
 | |
| 
 | |
| Route::get('/about/terms', function () {
 | |
|     return view('about.terms');
 | |
| })->name('terms');
 | |
| 
 | |
| Route::get('/about/privacy', function () {
 | |
|     return view('about.privacy');
 | |
| })->name('privacy');
 | |
| 
 | |
| Route::get('/', 'DashController@view')->name('dash');
 | |
| 
 | |
| // redirect home to user home
 | |
| Route::get('/home', function () {
 | |
|     if (guest()) return redirect(route('dash'));
 | |
| 
 | |
|     return redirect(route('profile.view', user()->name));
 | |
| })->name('home');
 | |
| 
 | |
| // Table resource
 | |
| Route::get('@{user}', 'ProfileController@view')->name('profile.view');
 | |
| Route::get('@{user}/{table}', 'TableController@view')->name('table.view');
 | |
| Route::get('@{user}/{table}/export', 'TableController@export')->name('table.export');
 | |
| 
 | |
| 
 | |
| // Routes for confirmed users
 | |
| Route::group(['middleware' => ['auth', 'activated']], function () {
 | |
|     // Table resource
 | |
|     Route::group([
 | |
|         'prefix' => 'table',
 | |
|     ], function () {
 | |
|         Route::get('create', 'TableController@create')->name('table.create');
 | |
|         Route::post('create', 'TableController@storeNew')->name('table.storeNew');
 | |
|     });
 | |
| 
 | |
|     Route::get('@{user}/{table}/settings', 'TableController@settings')->name('table.conf');
 | |
|     Route::post('@{user}/{table}/settings', 'TableController@storeSettings')->name('table.storeConf');
 | |
|     Route::post('@{user}/{table}/delete', 'TableController@delete')->name('table.delete');
 | |
| 
 | |
|     Route::post('@{user}/{table}/draft/update', 'TableEditController@draftUpdate')->name('table.draft-update');
 | |
|     Route::get('@{user}/{table}/draft/update', 'TableEditController@draftUpdate');
 | |
|     Route::get('@{user}/{table}/draft/discard', 'TableEditController@discard')->name('table.draft-discard');
 | |
|     Route::get('@{user}/{table}/draft/{tab?}', 'TableEditController@draft')->name('table.draft');
 | |
| });
 | |
| 
 | |
| // Routes for all authed users
 | |
| Route::group(['middleware' => 'auth'], function () {
 | |
| 
 | |
|     Route::group([
 | |
|         'prefix' => 'profile',
 | |
|     ], function () {
 | |
|         Route::get('edit', 'ProfileController@editProfile')->name('profile.edit');
 | |
|         Route::post('store', 'ProfileController@storeProfile')->name('profile.store');
 | |
|     });
 | |
| 
 | |
|     Route::group([
 | |
|         'prefix' => 'account',
 | |
|     ], function () {
 | |
|         Route::get('edit', 'AccountController@editAccount')->name('account.edit');
 | |
|         Route::post('store', 'AccountController@storeAccount')->name('account.store');
 | |
|         Route::get('forget-social-login/{id}', 'AccountController@forgetSocialLogin')->name('forget-identity');
 | |
|     });
 | |
| });
 | |
| 
 | |
| Route::post('toggle-dark-mode', function () {
 | |
|     if (dark_mode()) {
 | |
|         setcookie('dark_mode', '0', time() - 1);
 | |
|     } else {
 | |
|         setcookie('dark_mode', '1');
 | |
|     }
 | |
|     return redirect()->back();
 | |
| })->name('toggle-dark-mode');
 | |
| 
 |