HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/qas.sports-crowd.com/app/Http/Controllers/MailBoxController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Mailbox;
use Illuminate\Support\Facades\DB;
use Yajra\DataTables\Facades\DataTables;

class MailBoxController extends Controller
{
    public function index(){
        return view('mailbox.mailboxes');
    }

    public function getMailBox(Request $request){

            $id = $request["id"];
            $mailbox = Mailbox::where('id',$id)->with('user','businessUnit')->first();


            $mail = array(
                'request_type'=> $mailbox->request_type,
                'business_unit'=> $mailbox->businessUnit->name ?? '',
                'name'=> $mailbox->user->first_name.' '.$mailbox->user->last_name,
                'document'=> $mailbox->user->document,
                'email'=> $mailbox->user->email,
                'message'=> $mailbox->message,
                'date'=> $mailbox->created_at
            );
            $mailbox->read_message = 1;
            $mailbox->update();

            return $mail;
        }


      public function tableFilter(){
        $obj = $obj = DB::table('mailboxes')
            ->select([
                'mailboxes.id',
                'mailboxes.request_type',
                'mailboxes.created_at',
                'mailboxes.message',
                'users.first_name as name',
                'users.last_name as lastname',
                'users.document as document',
                'users.email as email',
                'business_units.name as business_unit_name',
            ])
            ->join('users', 'users.id', '=', 'mailboxes.user_id')
            ->leftjoin('business_units', 'business_units.id', '=', 'mailboxes.business_unit_id')
            ->whereNull('mailboxes.deleted_at');


        return DataTables::of($obj)
        ->addColumn('actions', function ($obj) {
            return '<i class="fa fa-eye iconMini" onClick="clickInfoMailbox('.$obj->id.')" name="btnEditar" data-id="'.$obj->id.'"  title="Información"></i>';

        })

        ->editColumn('name', function ($obj) {
            return $obj->name.' '.$obj->lastname;
          })
           ->rawColumns(['actions'])
        ->make(true);


    }

    public function notRead()
    {
        $mails = Mailbox::where('read_message', 0)->get();


        if (count($mails) > 0) {
            return array('r' => true, 'c' => count($mails));

        } else {
            return array('r' => false);
        }

    }
}