HEX
Server: LiteSpeed
System: Linux sv4.hami.host 5.14.0-611.54.3.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:31:24 EDT 2026 x86_64
User: armgroup (1008)
PHP: 8.2.32
Disabled: show_source, system, shell_exec, passthru, exec, popen, proc_open, mail, socket_create, socket_create_listen, socket_create_pair, link, dl, openlog, syslog, stream_socket_server, curl_multi_init
Upload Files
File: /home/armgroup/libs/app/Http/Controllers/Frontend/ContactController.php
<?php

namespace App\Http\Controllers\Frontend;

use App\Http\Controllers\Controller;
use App\Models\Contact;
use App\Rules\Mobile;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class ContactController extends Controller
{
    public function store(Request $request)
    {
        $data = $request->validate([
            'name' => 'required|string|max:250',
            'email' => 'nullable|email|max:250',
            'mobile' => ['required', new Mobile],
            'message' => 'required|string|min:5|max:60000',
            'file' => 'nullable|max:1024|mimes:png,jpg,jpeg,mp4,pdf',
            'category_id' => 'sometimes|required|exists:categories,id',
        ]);

        DB::transaction(function () use ($request, $data) {
            if ($request->file) {
                $data['file'] = 'storage/'.$request->file->store('contacts', 'public');
            }

            $contact = Contact::create($data);

            if ($request->has('category_id')) {
                $contact->categories()->attach($request->category_id);
            }
        });
        $this->doneMessage('Saved Successfully');

        return back();
    }
}