<?php

use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Route;

use App\Http\Controllers\{HomeController,
	DomainController,
	EchoareaController,
	EchomailController,
	FileareaController,
	SystemController,
	UserController,
	UserSwitchController,
	ZoneController};
use App\Http\Controllers\Auth\LoginController;

/*
|--------------------------------------------------------------------------
| 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!
|
*/

Auth::routes([
	'login'         => true,
	'logout'        => true,
	'register'      => true,
	'reset'         => true,       // for resetting passwords
	'confirm'       => true,       // for additional password confirmations
	'verify'        => true,       // for email verification
]);
Route::get('logout',[LoginController::class,'logout']);
Route::get('admin/switch/start/{o}',[UserSwitchController::class,'user_switch_start']);
Route::get('admin/switch/stop',[UserSwitchController::class,'user_switch_stop']);

Route::get('/',[HomeController::class,'home']);
Route::view('about','about');

Route::middleware(['auth','verified','activeuser'])->group(function () {
	Route::get('dashboard',[UserController::class,'dashboard']);
	Route::match(['get','post'],'link',[UserController::class,'link']);

	Route::get('ftn/domain',[DomainController::class,'home']);
	Route::match(['get','post'],'ftn/domain/addedit/{o?}',[DomainController::class,'add_edit'])
		->where('o','[0-9]+');

	Route::get('ftn/echoarea',[EchoareaController::class,'home']);
	Route::match(['get','post'],'ftn/echoarea/addedit/{o?}',[EchoareaController::class,'add_edit'])
		->where('o','[0-9]+');

	Route::get('ftn/filearea',[FileareaController::class,'home']);
	Route::match(['get','post'],'ftn/filearea/addedit/{o?}',[FileareaController::class,'add_edit'])
		->where('o','[0-9]+');

	Route::get('ftn/system',[SystemController::class,'home']);
	Route::match(['get','post'],'ftn/system/addedit/{o?}',[SystemController::class,'add_edit'])
		->where('o','[0-9]+');

	Route::get('ftn/our_systems',[SystemController::class,'ours']);

	Route::post('ftn/system/addaddress/{o}',[SystemController::class,'add_address'])
		->where('o','[0-9]+');
	Route::post('ftn/system/addsession/{o}',[SystemController::class,'add_session'])
		->where('o','[0-9]+');
	Route::get('ftn/system/deladdress/{o}',[SystemController::class,'del_address'])
		->where('o','[0-9]+');
	Route::get('ftn/system/delsession/{o}/{zo}',[SystemController::class,'del_session'])
		->where('o','[0-9]+')
		->where('zo','[0-9]+');
	Route::match(['get','post'],'ftn/system/echoarea/{o}',[SystemController::class,'echoareas'])
		->where('o','[0-9]+');
	Route::match(['get','post'],'ftn/system/movaddress/{so}/{o}',[SystemController::class,'mov_address'])
		->where('so','[0-9]+')
		->where('o','[0-9]+');
	Route::get('ftn/system/susaddress/{o}',[SystemController::class,'sus_address'])
		->where('o','[0-9]+');

	Route::get('ftn/zone',[ZoneController::class,'home']);
	Route::match(['get','post'],'ftn/zone/addedit/{o?}',[ZoneController::class,'add_edit'])
		->where('o','[0-9]+');

	Route::match(['get','post'],'user/system/register',[SystemController::class,'system_register']);
});

Route::get('network/{o}',[HomeController::class,'network']);
Route::get('permissions',[HomeController::class,'permissions']);
Route::match(['get','post'],'pkt',[HomeController::class,'pkt']);
Route::get('search',[HomeController::class,'search']);

Route::middleware(['auth','can:admin'])->group(function () {
	Route::match(['get','post'],'setup',[HomeController::class,'setup']);

	Route::get('echomail/view/{o}',[EchomailController::class,'view']);
	Route::get('user/list',[UserController::class,'home']);
	Route::match(['get','post'],'user/addedit/{o?}',[UserController::class,'add_edit'])
		->where('o','[0-9]+');
});