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

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/main_file/app/Http/Controllers/   drwxrwxr-x
Free 12.97 GB of 57.97 GB (22.38%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace App\Http\Controllers;

use 
App\Http\Controllers\Controller;
use 
App\Models\ProjectUser;
use 
App\Models\User;
use 
App\Traits\ApiResponser;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\Auth;
use 
App\Models\AssignProject;
use 
App\Models\Project;
use 
App\Models\Utility;
use 
App\Models\Tag;
use 
App\Models\ProjectTask;
use 
App\Models\TimeTracker;
use 
App\Models\TrackPhoto;
use 
Illuminate\Support\Facades\Validator;


class 
ApiController extends Controller
{
    
//
    
use ApiResponser;

    public function 
login(Request $request)
    {

        
$attr $request->validate([
            
'email' => 'required|string|email|',
            
'password' => 'required|string'
        
]);

        if (!
Auth::attempt($attr)) {
            return 
$this->error('Credentials not match'401);
        }

        
$settings              Utility::settings(auth()->user()->id);

        
$settings = [
            
'shot_time'=> isset($settings['interval_time'])?$settings['interval_time']:0.5,
        ];

        return 
$this->success([
            
'token' => auth()->user()->createToken('API Token')->plainTextToken,
            
'user'=> auth()->user()->id,
//            'user'=> auth()->user()->id,
            
'settings' =>$settings,
        ],
'Login successfully.');
    }
    public function 
logout()
    {
        
auth()->user()->tokens()->delete();
        return 
$this->success([],'Tokens Revoked');
    }


    public function 
getProjects(Request $request)
    {

        
$user auth()->user();

        if(
$user->type!='company')
        {
            
$assign_pro_ids ProjectUser::where('user_id',$user->id)->pluck('project_id');

//            $project_s      = Project::with('tasks')->select(
//                [
//                    'project_name',
//                    'id',
//                    'client_id',
//                ]
//            )->whereIn('id', $assign_pro_ids)->get()->toArray();

            
$project_s      Project::with('tasks')->whereIn('id'$assign_pro_ids)->get()->toArray();

        }
        else
        {

//            $project_s = Project::with('tasks')->select(
//                [
//                    'project_name',
//                    'id',
//                    'client_id',
//                ]
//            )->where('created_by', $user->id)->get()->toArray();

            
$project_s Project::with('tasks')->where('created_by'$user->id)->get()->toArray();


        }

        return 
$this->success([
            
'projects' => $project_s,
        ],
'Get Project List successfully.');
    }


    public function 
addTracker(Request $request){

        
$user auth()->user();
        if(
$request->has('action') && $request->action == 'start'){

            
$validatorArray = [
                
'task_id' => 'required|integer',
            ];
            
$validator      \Validator::make(
                
$request->all(), $validatorArray
            
);
            if(
$validator->fails())
            {
                return 
$this->error($validator->errors()->first(), 401);
            }
            
$taskProjectTask::find($request->task_id);

            if(empty(
$task)){
                return 
$this->error('Invalid task'401);
            }

            
$project_id = isset($task->project_id)?$task->project_id:'';
            
TimeTracker::where('created_by''='$user->id)->where('is_active''='1)->update(['end_time' => date("Y-m-d H:i:s")]);

            
$track['name']        = $request->has('workin_on') ? $request->input('workin_on') : '';
            
$track['project_id']  = $project_id;
            
$track['is_billable'] =  $request->has('is_billable')? $request->is_billable:0;
            
$track['tag_id']      = $request->has('workin_on') ? $request->input('workin_on') : '';
            
$track['start_time']  = $request->has('time') ?  date("Y-m-d H:i:s",strtotime($request->input('time'))) : date("Y-m-d H:i:s");
            
$track['task_id']     = $request->has('task_id') ? $request->input('task_id') : '';
            
$track['created_by']  = $user->id;
            
$track                TimeTracker::create($track);
            
$track->action        ='start';

            return 
$this->success$track,'Track successfully create.');
        }else{
            
$validatorArray = [
                
'task_id' => 'required|integer',
                
'traker_id' =>'required|integer',
            ];
            
$validator      Validator::make(
                
$request->all(), $validatorArray
            
);
            if(
$validator->fails())
            {
                return 
Utility::error_res($validator->errors()->first());
            }
            
$tracker TimeTracker::where('id',$request->traker_id)->first();
            
// dd($tracker);
            
if($tracker)
            {
                
$tracker->end_time   $request->has('time') ?  date("Y-m-d H:i:s",strtotime($request->input('time'))) : date("Y-m-d H:i:s");
                
$tracker->is_active  0;
                
$tracker->total_time Utility::diffance_to_time($tracker->start_time$tracker->end_time);
                
$tracker->save();
                return 
$this->success$tracker,'Stop time successfully.');
            }
        }

    }
    public function 
uploadImage(Request $request){
        
$user auth()->user();
        
$image_base64 base64_decode($request->img);
        
$file =$request->imgName;
        if(
$request->has('tracker_id') && !empty($request->tracker_id)){
            
$app_path storage_path('uploads/traker_images/').$request->tracker_id.'/';
            if (!
file_exists($app_path)) {
                
mkdir($app_path0777true);
            }

        }else{
            
$app_path storage_path('uploads/traker_images/');
            if (
is_dir($app_path)) {
                
mkdir($app_path0777true);
            }
        }
        
$file_name =  $app_path.$file;
        
file_put_contents$file_name$image_base64);
        
$new = new TrackPhoto();
        
$new->track_id $request->tracker_id;
        
$new->user_id  $user->id;
        
$new->img_path  'uploads/traker_images/'.$request->tracker_id.'/'.$file;
        
$new->time  $request->time;
        
$new->status  1;
        
$new->save();
        return 
$this->success( [],'Uploaded successfully.');
    }

}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

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

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