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


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

namespace App\Http\Controllers;

use 
App\Models\ChartOfAccount;
use 
App\Models\JournalEntry;
use 
App\Models\JournalItem;
use 
App\Models\Utility;
use 
Illuminate\Http\Request;

class 
JournalEntryController extends Controller
{

    public function 
index()
    {
        if(
\Auth::user()->can('manage journal entry'))
        {
            
$journalEntries JournalEntry::where('created_by''='\Auth::user()->creatorId())->get();

            return 
view('journalEntry.index'compact('journalEntries'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
create()
    {
        if(
\Auth::user()->can('create journal entry'))
        {
            
$accounts ChartOfAccount::select(\DB::raw('CONCAT(code, " - ", name) AS code_name, id'))->where('created_by'\Auth::user()->creatorId())->get()->pluck('code_name''id');
            
$accounts->prepend('--''');

            
$journalId $this->journalNumber();

            return 
view('journalEntry.create'compact('accounts''journalId'));
        }
        else
        {
            return 
response()->json(['error' => __('Permission denied.')], 401);
        }
    }


    public function 
store(Request $request)
    {

        if(
\Auth::user()->can('create invoice'))
        {
            
$validator \Validator::make(
                
$request->all(), [
                                   
'date' => 'required',
                                   
'accounts' => 'required',
                               ]
            );
            if(
$validator->fails())
            {
                
$messages $validator->getMessageBag();

                return 
redirect()->back()->with('error'$messages->first());
            }

            
$accounts $request->accounts;

            
$totalDebit  0;
            
$totalCredit 0;
            for(
$i 0$i count($accounts); $i++)
            {
                
$debit       = isset($accounts[$i]['debit']) ? $accounts[$i]['debit'] : 0;
                
$credit      = isset($accounts[$i]['credit']) ? $accounts[$i]['credit'] : 0;
                
$totalDebit  += $debit;
                
$totalCredit += $credit;
            }

            if(
$totalCredit != $totalDebit)
            {
                return 
redirect()->back()->with('error'__('Debit and Credit must be Equal.'));
            }

            
$journal              = new JournalEntry();
            
$journal->journal_id  $this->journalNumber();
            
$journal->date        $request->date;
            
$journal->reference   $request->reference;
            
$journal->description $request->description;
            
$journal->created_by  \Auth::user()->creatorId();
            
$journal->save();


            for(
$i 0$i count($accounts); $i++)
            {
                
$journalItem              = new JournalItem();
                
$journalItem->journal     $journal->id;
                
$journalItem->account     $accounts[$i]['account'];
                
$journalItem->description $accounts[$i]['description'];
                
$journalItem->debit       = isset($accounts[$i]['debit']) ? $accounts[$i]['debit'] : 0;
                
$journalItem->credit      = isset($accounts[$i]['credit']) ? $accounts[$i]['credit'] : 0;
                
$journalItem->save();
            }

            return 
redirect()->route('journal-entry.index')->with('success'__('Journal entry successfully created.'));
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
show(JournalEntry $journalEntry)
    {
        if(
\Auth::user()->can('show journal entry'))
        {
            if(
$journalEntry->created_by == \Auth::user()->creatorId())
            {
                
$accounts $journalEntry->accounts;
                
$settings Utility::settings();

                return 
view('journalEntry.view'compact('journalEntry''accounts''settings'));
            }
            else
            {
                return 
redirect()->back()->with('error'__('Permission denied.'));
            }
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
edit(JournalEntry $journalEntry)
    {
        if(
\Auth::user()->can('edit journal entry'))
        {
            
$accounts ChartOfAccount::select(\DB::raw('CONCAT(code, " - ", name) AS code_name, id'))->where('created_by'\Auth::user()->creatorId())->get()->pluck('code_name''id');
            
$accounts->prepend('--''');

            return 
view('journalEntry.edit'compact('accounts''journalEntry'));
        }
        else
        {
            return 
response()->json(['error' => __('Permission denied.')], 401);
        }
    }


    public function 
update(Request $requestJournalEntry $journalEntry)
    {
        if(
\Auth::user()->can('edit journal entry'))
        {
            if(
$journalEntry->created_by == \Auth::user()->creatorId())
            {
                
$validator \Validator::make(
                    
$request->all(), [
                                       
'date' => 'required',
                                       
'accounts' => 'required',
                                   ]
                );
                if(
$validator->fails())
                {
                    
$messages $validator->getMessageBag();

                    return 
redirect()->back()->with('error'$messages->first());
                }

                
$accounts $request->accounts;

                
$totalDebit  0;
                
$totalCredit 0;
                for(
$i 0$i count($accounts); $i++)
                {
                    
$debit       = isset($accounts[$i]['debit']) ? $accounts[$i]['debit'] : 0;
                    
$credit      = isset($accounts[$i]['credit']) ? $accounts[$i]['credit'] : 0;
                    
$totalDebit  += $debit;
                    
$totalCredit += $credit;
                }

                if(
$totalCredit != $totalDebit)
                {
                    return 
redirect()->back()->with('error'__('Debit and Credit must be Equal.'));
                }

                
$journalEntry->date        $request->date;
                
$journalEntry->reference   $request->reference;
                
$journalEntry->description $request->description;
                
$journalEntry->created_by  \Auth::user()->creatorId();
                
$journalEntry->save();

                for(
$i 0$i count($accounts); $i++)
                {
                    
$journalItem JournalItem::find($accounts[$i]['id']);

                    if(
$journalItem == null)
                    {
                        
$journalItem          = new JournalItem();
                        
$journalItem->journal $journalEntry->id;
                    }

                    if(isset(
$accounts[$i]['account']))
                    {
                        
$journalItem->account $accounts[$i]['account'];
                    }

                    
$journalItem->description $accounts[$i]['description'];
                    
$journalItem->debit  = isset($accounts[$i]['debit']) ? $accounts[$i]['debit'] : 0;
                    
$journalItem->credit = isset($accounts[$i]['credit']) ? $accounts[$i]['credit'] : 0;
                    
$journalItem->save();
                }

                return 
redirect()->route('journal-entry.index')->with('success'__('Journal entry successfully updated.'));
            }
            else
            {
                return 
redirect()->back()->with('error'__('Permission denied.'));
            }
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }


    public function 
destroy(JournalEntry $journalEntry)
    {
        if(
\Auth::user()->can('delete journal entry'))
        {
            if(
$journalEntry->created_by == \Auth::user()->creatorId())
            {
                
$journalEntry->delete();

                
JournalItem::where('journal''='$journalEntry->id)->delete();

                return 
redirect()->route('journal-entry.index')->with('success'__('Journal entry successfully deleted.'));
            }
            else
            {
                return 
redirect()->back()->with('error'__('Permission denied.'));
            }
        }
        else
        {
            return 
redirect()->back()->with('error'__('Permission denied.'));
        }
    }

    function 
journalNumber()
    {
        
$latest JournalEntry::where('created_by''='\Auth::user()->creatorId())->latest()->first();
        if(!
$latest)
        {
            return 
1;
        }

        return 
$latest->journal_id 1;
    }

    public function 
accountDestroy(Request $request)
    {

        if(
\Auth::user()->can('delete journal entry'))
        {
            
JournalItem::where('id''='$request->id)->delete();

            return 
redirect()->back()->with('success'__('Journal entry account successfully deleted.'));
        }
        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.0192 ]--