Files
landing-page/routes/web.php
Subash 2339e48b28 Added CRUD routes for benefits, success stories, and visa grants
Landing registration page completed except design
2025-07-08 17:53:06 +05:45

156 lines
6.5 KiB
PHP

<?php
use App\Http\Controllers\FileController;
use App\Http\Controllers\FormsController;
use App\Http\Controllers\GeneralFormController;
use App\Http\Controllers\ProfileController;
use App\Http\Controllers\UserController;
use App\Models\Enquiries;
use Illuminate\Support\Facades\Route;
use Symfony\Component\Process\Exception\ProcessFailedException;
use Symfony\Component\Process\Process;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "web" middleware group. Make something great!
|
*/
Route::post('/form/submit', [FormsController::class, 'handleFormSubmission'])->name("form.submit");
require __DIR__ . '/auth.php';
Route::middleware('auth')->group(function () {
Route::post('/upload', [FileController::class, 'upload'])->name('file.upload');
Route::group(['prefix' => 'files', 'middleware' => ['web', 'auth']], function () {
\UniSharp\LaravelFilemanager\Lfm::routes();
});
Route::middleware('auth')->get('/dashboard', function () {
$enquiries = Enquiries::where('status', 1)->latest()->take(5)->get();
$totalEnquiries = Enquiries::where('status', 1)->count();
return view('backend.dashboard', [
'enquiries' => $enquiries,
'totalEnquiries' => $totalEnquiries,
]);
})->name('dashboard');
Route::middleware('auth')->prefix('admin')->group(function () {
Route::get('/dashboard', function () {
return view('backend.dashboard');
});
Route::get('/', function () {
return view('backend.dashboard');
})->name('admin.dashboard');
Route::get('/backup', function () {
$databaseName = env('DB_DATABASE');
$backupFileName = 'backup_' . date('Y-m-d_His') . '.sql';
$backupPath = storage_path('app/' . $backupFileName);
// Create the mysqldump command as an array
$command = [
'mysqldump',
'--user=' . env('DB_USERNAME'),
'--password=' . env('DB_PASSWORD'),
'--host=' . env('DB_HOST'),
$databaseName,
];
// Run the mysqldump command using Symfony Process
$process = new Process($command);
$process->setOutputFile($backupPath);
$process->run();
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
// Provide the download link for the backup file
return response()->download($backupPath)->deleteFileAfterSend(true);
})->name('backup.db');
});
Route::prefix("form")->group(function () {
Route::get('/tables', [GeneralFormController::class, 'tables'])->name('form.tables');
Route::get('/', [GeneralFormController::class, 'create'])->name('form.create');
Route::get('/store', [GeneralFormController::class, 'store'])->name('form.store');
Route::get('/make-table-nullable', [GeneralFormController::class, 'getTableNullablecreate'])->name('table.create');
Route::get('/store', [GeneralFormController::class, 'store'])->name('form.store');
});
Route::resource('/users', UserController::class)->names('users');
Route::get('/shortcodes', function () {
return view("backend.shortcodes");
})->name('shortcodes');
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
//get all enquiries
Route::get('/all-enquiries', function () {
$data = Enquiries::where('status', 1)->latest()->get();
return view('backend.enquiries-list', compact('data'));
})->name('enquiries-list');
Route::delete('/enquiry/destory/{id}', function ($id) {
$data = Enquiries::where('enquiry_id', $id)->firstOrFail()->delete();
return response()->json(['status' => true, 'Deleted successfully']);
})->name('enquiry.destroy');
Route::post('/enquiry/mark-as-read/{id}', function ($id) {
$data = Enquiries::where('enquiry_id', $id)->update(['is_read' => 1]);
return response()->json(['status' => true, 'Marked successfully']);
})->name('enquiry.markAsRead');
require __DIR__ . '/route.resourcetypes.php';
require __DIR__ . '/route.branches.php';
require __DIR__ . '/route.articles.php';
require __DIR__ . '/route.brancharticles.php';
require __DIR__ . '/route.services.php';
require __DIR__ . '/route.countries.php';
require __DIR__ . '/route.countryarticles.php';
require __DIR__ . '/route.institutions.php';
require __DIR__ . '/route.programs.php';
require __DIR__ . '/route.preparationclasses.php';
require __DIR__ . '/route.preparationclassoffers.php';
require __DIR__ . '/route.events.php';
require __DIR__ . '/route.resources.php';
require __DIR__ . '/route.testimonials.php';
require __DIR__ . '/route.quicklinks.php';
require __DIR__ . '/route.certificates.php';
require __DIR__ . '/route.accridiations.php';
require __DIR__ . '/route.blogs.php';
require __DIR__ . '/route.galleries.php';
require __DIR__ . '/route.photos.php';
require __DIR__ . '/route.popups.php';
require __DIR__ . '/route.milestones.php';
require __DIR__ . '/route.sliders.php';
require __DIR__ . '/route.news.php';
require __DIR__ . '/route.settings.php';
require __DIR__ . '/route.menulocations.php';
require __DIR__ . '/route.menuitems.php';
require __DIR__ . '/route.customfields.php';
require __DIR__ . '/route.forms.php';
require __DIR__ . '/route.contacts.php';
require __DIR__ . '/route.teams.php';
require __DIR__ . '/route.shortcodes.php';
require __DIR__ . '/route.visas.php';
require __DIR__ . '/route.faqs.php';
require __DIR__ . '/route.subscribers.php';
require __DIR__ . '/route.successstories.php';
require __DIR__ . '/route.preparationclasstestimonials.php';
require __DIR__ . '/route.visagrantposts.php';
require __DIR__ . '/route.features.php';
require __DIR__ . '/CRUDgenerated/route.success_stories.php';
require __DIR__ . '/CRUDgenerated/route.benefits.php';
require __DIR__ . '/CRUDgenerated/route.visa_grants.php';
});
require __DIR__ . '/route.client.php';