<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|


Route::get('/', function () {
    return view('welcome');
});
*/

//Default Controller
Route::get('/', 'HomeController@index');
Route::post('/home/submit', 'HomeController@submit');
Route::get('/home/skin/{any?}', 'HomeController@getSkin');


Route::get('dashboard/import', 'DashboardController@getImport');
/* Auth & Profile */
Route::get('user/profile','UserController@getProfile');
Route::get('user/theme','UserController@getTheme');
Route::get('user/login','UserController@getLogin');
Route::get('user/register','UserController@getRegister');
Route::get('user/logout','UserController@getLogout');
Route::get('user/reminder','UserController@getReminder');
Route::get('user/reset/{any?}','UserController@getReset');
Route::get('user/reminder','UserController@getReminder');
Route::get('user/activation','UserController@getActivation');
// Social Login
Route::get('user/socialize/{any?}','UserController@socialize');
Route::get('user/autosocialize/{any?}','UserController@autosocialize');
//
Route::post('user/signin','UserController@postSignin')->middleware('throttle:25,1');
Route::post('user/login','UserController@postSigninMobile')->middleware('throttle:25,1');
Route::post('user/signup','UserController@postSignupMobile')->middleware('throttle:25,1');
Route::post('user/create','UserController@postCreate')->middleware('throttle:5,1');
Route::post('user/saveprofile','UserController@postSaveprofile')->middleware('throttle:5,1');
Route::post('user/savepassword','UserController@postSavepassword')->middleware('throttle:5,1');
Route::post('user/doreset/{any?}','UserController@postDoreset')->middleware('throttle:5,1');
Route::post('user/request','UserController@postRequest');

Route::post('user/loginmobile','UserController@postLoginMobile')->middleware('throttle:5,1');

/* Posts & Blogs */
Route::get('posts','HomeController@posts');
Route::get('posts/category/{any}','HomeController@posts');
Route::get('posts/read/{any}','HomeController@read');
Route::post('posts/comment','HomeController@comment');
Route::get('posts/remove/{id?}/{id2?}/{id3?}','HomeController@remove');
// Start Routes for Notification 
Route::resource('notification','NotificationController');
Route::get('home/load','HomeController@getLoad');
Route::get('home/lang/{any}','HomeController@getLang');
Route::get('home/getigreels','HomeController@getigreels')->middleware('throttle:5,1');

Route::get('/set_theme/{any}', 'HomeController@set_theme');

Route::get('/reportlkp/verify/{any}', 'ReportlkpController@verify');

include('pages.php');


Route::resource('sximoapi','SximoapiController');
Route::resource('services/posts', 'Services\PostController');



// Routes for  all generated Module
include('module.php');
// Custom routes  
$path = base_path().'/routes/custom/';
$lang = scandir($path);
foreach($lang as $value) {
	if($value === '.' || $value === '..') {continue;} 
	include( 'custom/'. $value );	
	
}
// End custom routes
Route::group(['middleware' => 'auth'], function () {
	Route::resource('dashboard','DashboardController');
});


Route::group(['namespace' => 'Sximo','middleware' => 'auth'], function () {
	// This is root for superadmin
		
		include('sximo.php');
		
});

Route::group(['namespace' => 'Core','middleware' => 'auth'], function () {

	include('core.php');

});

Route::resource('mindmap','MindmapController');

Route::get('function-menu', 'FunctionMenuController@index');
Route::get('virtual-office', 'VirtualOfficeController@index')
    ->middleware(['auth', \App\Http\Middleware\EnsureSuperadmin::class])->name('virtual-office.index');
Route::get('virtual-office/{employee}/logs', 'VirtualOfficeController@logs')
    ->middleware(['auth', \App\Http\Middleware\EnsureSuperadmin::class])
    ->where('employee', '[A-Za-z0-9_-]+')->name('virtual-office.logs');
Route::get('virtual-office/{employee}/work-state', 'VirtualOfficeController@workState')
    ->middleware(['auth', \App\Http\Middleware\EnsureSuperadmin::class])
    ->where('employee', '[A-Za-z0-9_-]+')->name('virtual-office.work-state');
Route::get('virtual-office/{employee}/executions/{execution}', 'VirtualOfficeController@executionError')
    ->middleware(['auth', \App\Http\Middleware\EnsureSuperadmin::class])
    ->where(['employee' => '[A-Za-z0-9_-]+', 'execution' => '[A-Za-z0-9_-]+'])->name('virtual-office.execution');
