public function addPointsTrade($user_id, $amount_fee, $trade_id, $wallet_init)
 {
     $logFile = 'points.log';
     Log::useDailyFiles(storage_path() . '/logs/points/' . $logFile);
     $setting = new Setting();
     $balance = new Balance();
     $wallet = wallet::where('type', 'POINTS')->first();
     $user = User::find($user_id);
     Log::info("\n" . '------------------------- Add Point Trade -----------------------------');
     Log::info("\n" . 'amount_fee ' . $amount_fee . ' . trade_id: ' . $trade_id . " -- wallet_init: " . $wallet_init);
     if (isset($wallet->id)) {
         $point_per_btc = $setting->getSetting('point_per_btc', 1);
         $percent_point_reward_trade = $setting->getSetting('percent_point_reward_trade', 0);
         $percent_point_reward_referred_trade = $setting->getSetting('percent_point_reward_referred_trade', 0);
         Log::info("\n" . 'Setting -- point_per_btc: ' . $point_per_btc . ' . percent_point_reward_trade: ' . $percent_point_reward_trade . " % -- percent_point_reward_referred_trade: " . $percent_point_reward_referred_trade . " %");
         //cong point cho $user_id
         if ($percent_point_reward_trade > 0) {
             $amount_reward = $amount_fee * $percent_point_reward_trade / 100;
             $point_reward = $amount_reward / $point_per_btc;
             Log::info("\n" . 'Add point for ' . $user->username . ' . amount_reward: ' . $amount_reward . " BTC -- point_reward: " . $point_reward . " POINTS");
             if ($point_reward > 0) {
                 $balance->addMoney($point_reward, $wallet->id, $user->id);
                 $deposit = new Deposit();
                 $deposit->user_id = $user->id;
                 $deposit->wallet_id = $wallet->id;
                 $deposit->amount = $point_reward;
                 $deposit->paid = 1;
                 $deposit->transaction_id = "Points earned from trade " . $trade_id;
                 $deposit->save();
             }
         }
         //cong point cho nguoi da gioi thieu $user_id nay neu co
         if (!empty($user->referral) && $percent_point_reward_referred_trade > 0) {
             $user_referred = User::where('username', $user->referral)->first();
             if (!empty($user_referred)) {
                 $amount_reward = $amount_fee * $percent_point_reward_referred_trade / 100;
                 $point_reward = $amount_reward / $point_per_btc;
                 Log::info("user_referred AAAAAAAAA: ", $user_referred);
                 Log::info("\n" . 'Add point for user referred: ' . $user_referred->username . ' . amount_reward: ' . $amount_reward . " BTC -- point_reward: " . $point_reward . " POINTS");
                 if ($point_reward > 0) {
                     $balance->addMoney($point_reward, $wallet->id, $user_referred->id);
                     $deposit = new Deposit();
                     $deposit->user_id = $user_referred->id;
                     $deposit->wallet_id = $wallet->id;
                     $deposit->amount = $point_reward;
                     $deposit->paid = 1;
                     $deposit->transaction_id = "Points earned from User " . $user->username . "( Trade: " . $trade_id . ")";
                     $deposit->save();
                 }
             }
         }
     } else {
         Log::info("\n" . 'No wallet POINTS');
     }
 }
 public function actionIndex()
 {
     if (isset($_REQUEST)) {
         Yii::import('application.modules.deposit.extensions.Deposit.Deposit');
         $deposit = new Deposit();
         if (!$deposit->init()) {
             app()->end();
         }
         try {
             /**
              * @var Transactions $transaction
              */
             $transaction = $deposit->processed();
             $percents = (double) config('referral_program.percent');
             Yii::log("Deposit::log\n" . print_r($_REQUEST, TRUE), CLogger::LEVEL_INFO, 'application.modules.deposit.controllers.DefaultController::' . __LINE__);
             // Начисляю партнёрку
             if ($percents > 0 && $transaction) {
                 // Смотрю есть ли реферер
                 $referer = Referals::model()->find('referal = :referal', array(':referal' => $transaction->user_id));
                 if ($referer !== NULL) {
                     $refererProfile = UserProfiles::model()->with('user')->find('t.user_id = :user_id', array(':user_id' => $referer->referer));
                     if ($refererProfile) {
                         $gsModel = Gs::model()->findByPk($transaction->getGsId());
                         // Кол-во предметов которые были куплены, от них будет считаться % рефералу
                         $countItems = $transaction->getSum() / $gsModel->deposit_course_payments;
                         $profit = $countItems / 100 * $percents;
                         $refererProfile->balance += $profit;
                         $refererProfile->save(FALSE, array('balance', 'updated_at'));
                         // Логирую
                         $dataDb = array('referer_id' => $refererProfile->user_id, 'referal_id' => $transaction->getUserId(), 'profit' => $profit, 'sum' => $transaction->getSum(), 'percent' => $percents, 'transaction_id' => $transaction->getPrimaryKey(), 'created_at' => date('Y-m-d H:i:s'));
                         db()->createCommand()->insert('{{referals_profit}}', $dataDb);
                         // Отправляю письмо что баланс реферера был пополнен
                         notify()->rechargeBalanceByReferal($refererProfile->user->email, array('profit' => $profit));
                         // Логирую действие юзера
                         if (app()->params['user_actions_log']) {
                             $log = new UserActionsLog();
                             $log->user_id = $transaction->getUserId();
                             $log->action_id = UserActionsLog::ACTION_DEPOSIT_SUCCESS;
                             $log->params = json_encode($dataDb);
                             $log->save();
                         }
                     }
                 }
             }
             echo $deposit->success(Yii::t('main', 'Ваш баланс успешно пополнен.'));
         } catch (Exception $e) {
             echo $deposit->error($e->getMessage());
         }
     } else {
         $this->redirect(array('/index/default/index'));
     }
 }
 public function actionProcessed()
 {
     $transactionId = app()->session['transaction_id'];
     $model = Transactions::model()->findByPk($transactionId);
     // Транзакция не найдена
     if ($model === NULL) {
         user()->setFlash(FlashConst::MESSAGE_ERROR, Yii::t('main', 'Транзакция не найдена.'));
         $this->redirect(array('index'));
     }
     if ($model->isPaid()) {
         user()->setFlash(FlashConst::MESSAGE_ERROR, Yii::t('main', 'Транзакция уже обработана.'));
         $this->redirect(array('index'));
     }
     $deposit = new Deposit();
     $deposit->init($model->payment_system);
     $this->render('//cabinet/deposit/processed', array('model' => $model, 'fields' => $deposit->getFields($model), 'formAction' => $deposit->getFormAction(), 'deposit' => $deposit));
 }
Exemple #4
0
 public function addressIsDesposited($address)
 {
     $deposit = Deposit::where('address', $address)->first();
     if (isset($deposit->address)) {
         return 1;
     } else {
         return 0;
     }
 }
Exemple #5
0
 /**
  * Check WalletJournal for new deposits and save to storage.
  *
  * @param int $lastRefID The last entry on a page of the WalletJournal, used to find the start of the next page.
  * @return void
  */
 protected function saveNewDeposits($lastRefID = null)
 {
     // Setup PhealNG and make a call to the Corporation's WalletJournal endpoint to grab some entries.
     Config::get('phealng');
     $pheal = new Pheal(Config::get('phealng.keyID'), Config::get('phealng.vCode'));
     $query = $pheal->corpScope->WalletJournal(array('fromID' => $lastRefID));
     // Allow mass assignment so we can add records to our secure Deposit model.
     Eloquent::unguard();
     // Create an empty array to store RefIDs (so that we can find the lowest one later).
     $refIDs = array();
     foreach ($query->entries as $entry) {
         // Store all refIDs, even those that aren't related Player Donations.
         array_push($refIDs, $entry->refID);
         // Only check Player Donations.
         if ($entry->refTypeID == 10) {
             // If the Character doesn't already exist in our storage, let's add it.
             $character = Character::firstOrNew(array('id' => $entry->ownerID1, 'name' => $entry->ownerName1));
             if (empty($character['original'])) {
                 $this->newCharacters++;
             }
             // If the refID exists in storage, ignore that entry. Otherwise, save it.
             $deposit = Deposit::firstOrNew(array('ref_id' => $entry->refID));
             if (empty($deposit['original'])) {
                 $deposit->depositor_id = $entry->ownerID1;
                 $deposit->amount = $entry->amount;
                 $deposit->reason = trim($entry->reason);
                 $deposit->sent_at = $entry->date;
                 // Now that we know if the Deposit is new or not, we can se the Character's updated balance.
                 $character->balance = $character->balance + $entry->amount;
                 if ($character->save() && $deposit->save()) {
                     $this->newDeposits++;
                     $this->iskAdded += $entry->amount;
                 }
             } else {
                 if (!empty($deposit['original'])) {
                     $this->existingDeposits++;
                 }
             }
         } else {
             $this->nonDeposits++;
         }
     }
     // Recurse through the function, using a new starting point each time. When the API stops returning entries min
     // will throw an ErrorException. Instead of returning the Exception, we return a report and save it to the log.
     try {
         $this->saveNewDeposits(min($refIDs));
     } catch (Exception $e) {
         $output = "Unrelated entries ignored: " . $this->nonDeposits . "\n";
         $output .= "Existing Deposits ignored: " . $this->existingDeposits . "\n";
         $output .= "New Deposits saved: " . $this->newDeposits . "\n";
         $output .= "New (inactive) Characters added: " . $this->newCharacters . "\n";
         $output .= "Total deposited since last fetch: " . $this->iskAdded . " isk\n";
         Log::info($output);
         echo $output;
     }
 }
 public function actionIndex($user_id = NULL)
 {
     Yii::import('application.modules.deposit.extensions.Deposit.Deposit');
     $model = new Transactions('search');
     $model->unsetAttributes();
     if (isset($_GET['Transactions'])) {
         $model->setAttributes($_GET['Transactions']);
     }
     $dataProvider = $model->search();
     $this->render('//transactions/index', array('dataProvider' => $dataProvider, 'model' => $model, 'aggregatorsList' => Deposit::getAggregatorsList()));
 }
 /**
  * Просмотр транзакций юзера
  *
  * @param int $user_id
  */
 public function actionTransactionHistory($user_id)
 {
     Yii::import('application.modules.deposit.extensions.Deposit.Deposit');
     $model = new Transactions('search');
     $model->unsetAttributes();
     if (isset($_GET['Transactions'])) {
         $model->setAttributes($_GET['Transactions']);
     }
     $dataProvider = $model->search();
     $dataProvider->criteria->mergeWith(array('condition' => 't.user_id = :user_id', 'params' => array('user_id' => $user_id)));
     $this->render('//users/transaction-history', array('user' => Users::model()->findByPk($user_id), 'model' => $model, 'dataProvider' => $dataProvider, 'aggregatorsList' => Deposit::getAggregatorsList()));
 }
Exemple #8
0
 public static function processAccountChanges($csv, $CID, $UID)
 {
     include_once $_SERVER['DOCUMENT_ROOT'] . "/bossflex/DB/Models/Deposit.php";
     include_once $_SERVER['DOCUMENT_ROOT'] . "/bossflex/DB/Models/Ledger.php";
     foreach ($csv as $accountChange) {
         $EID = $accountChange[0];
         $payrollDate = strtotime($accountChange[1]);
         $payrollDate = date('Y-m-d H:i:s', $payrollDate);
         $withheldAmount = $accountChange[2];
         $employee = Employee::getEmployee($EID, $CID);
         if ($employee) {
             $deposit = Deposit::depositAmt($employee->getAccountNum(), $UID, $withheldAmount, $payrollDate);
             Ledger::addDeposit($deposit);
         }
     }
 }
Exemple #9
0
 /**
  * Список платежных систем
  *
  * @return array
  */
 public function getPaymentTypes()
 {
     Yii::import('modules.deposit.extensions.Deposit.Deposit');
     $data = Deposit::getAggregatorsList();
     unset($data[Deposit::PAYMENT_SYSTEM_UNITPAY_SMS], $data[Deposit::PAYMENT_SYSTEM_WAYTOPAY_SMS]);
     return $data;
 }
 public function formDepositCompare()
 {
     $depositsIds = Tree::getDepositsCompared();
     $html = '';
     if ($depositsIds) {
         $deposits = Tree::whereIn('id', $depositsIds)->active()->get();
         $depositsEntities = Deposit::whereIn('id_tb_tree', $depositsIds)->get();
         $depositsCompared = Deposit::prepareData($depositsEntities);
         $html = View::make('partials.popups.deposits_compare_inner', compact('depositsCompared', 'deposits'))->render();
     }
     return Response::json(array('status' => true, 'html' => $html));
 }
 /**
  * Magic construct
  * @todo Call the parent constructor
  */
 function __construct()
 {
     parent::__construct();
 }
 /**
  * Calculate rent amount after deducting deposit refunds from the amount
  * that was arrived at after adding deposit payments to the previous balance
  * @param int $prop_id ID used to identify the property
  * @param string $start Date string specifying start of the period
  * @param string $end Date string specifying end of the period
  * @return int $amount_less_deposit_refunds
  */
 public function calcAmountLessDepositRefunds($prop_id, $start, $end)
 {
     $balance_plus_dep = $this->calcAmountPlusDepositPayments($prop_id, $start, $end);
     $balance_plus_dep = (int) $this->_sanitizeMoneyString($balance_plus_dep);
     $deopsit_refunds = Deposit::calcRefundsForPeriodByProperty($prop_id, $start, $end);
     $deopsit_refunds = (int) $this->_sanitizeMoneyString($deopsit_refunds);
     $new_balance = $balance_plus_dep - $deopsit_refunds;
     return number_format($new_balance, 2);
 }
function deposit_validate($data)
{
    $deposit = new Deposit();
    if (strpos($data['fn'], "edit")) {
        $type = "edit";
    }
    if (strpos($data['fn'], "delete")) {
        $type = "delete";
    }
    if (strpos($data['fn'], "create")) {
        $type = "create";
    }
    return $deposit->_validate($data, $type, false);
}
            $session->message($mesg);
            redirect_to("tenant_deposit.php?tid={$tenant_id}");
        }
    }
}
/////////////////////////////////////////////////////////////////
///////////////////////// PROCESS SUBMIT ////////////////////////
/////////////////////////////////////////////////////////////////
if (isset($_POST['submit'])) {
    $date_paid = $_POST['paid'];
    $amount = $_POST['amount'];
    if (empty($date_paid) || empty($amount)) {
        $err = "Form fields marked with an asterix are required";
    } else {
        $tenant_id = (int) $_GET['tid'];
        $dpt = new Deposit();
        $dpt->setTenantId($tenant_id);
        $dpt->setRoomId($tenant_id);
        $dpt->setTenantName($tenant_id);
        $dpt->setPaymentAmount($amount);
        $dpt->generateReceiptNo();
        $dpt->setAgent();
        $dpt->setDatePaid($date_paid);
        /**echo "<tt><pre>".var_export($dpt, true)."</pre></tt>";
        			echo "Last Receipt No: ";
        			echo $dpt->_lastReceiptNo().'<br />';*/
        /**echo "Tenant ID: ";
        			echo $tenant_id;*/
        if ($dpt->save()) {
            Logger::getInstance()->logAction("DEPOSIT", $amount, "House Deposit of {$tenant->getFullName()}");
            $mesg = "Payment posted";
 public function getDepositInterest()
 {
     App::setLocale(Cookie::get('locale', 'ru'));
     $depositAmount = intval(trim(Input::get('deposit_amount')));
     $term = intval(trim(Input::get('term')));
     $monthlyInstallment = intval(trim(Input::get('monthly_installment')));
     $currency = trim(Input::get('currency'));
     if (!$depositAmount || !$term || !$currency) {
         return Response::json(array('status' => false));
     }
     if (!in_array($term, array(1, 2, 3, 4, 5, 6, 7, 12))) {
         $term = 0;
     }
     $filteredDepositEntities = Deposit::amount($depositAmount)->terms(array(0, $term))->monthly($monthlyInstallment)->currency($currency)->get();
     $filteredDepositEntitiesIds = array();
     foreach ($filteredDepositEntities as $filteredDepositEntity) {
         $filteredDepositEntitiesIds[] = $filteredDepositEntity->id_tb_tree;
     }
     Tree::setDepositsCompared($filteredDepositEntitiesIds);
     $maxPercents = Deposit::prepareMaxPercents($filteredDepositEntities);
     $html = View::make('private-persons.deposits.partials.redemptions', compact('maxPercents'))->render();
     return Response::json(array('status' => true, 'html' => $html, 'max_percent' => $maxPercents['max_percent'], 'max_percent_type' => $maxPercents['max_percent_type']));
 }
 public function del_deposit($id)
 {
     $result = Deposit::where('req_sub_id', $id)->delete();
     if ($result) {
         $data = DB::Select(' select * from  c_deposit c1 left join c_req_cars c2 on c2.req_car_id=c1.req_sub_id where c1.req_main_id=' . $id . '  ');
         $t = '<ul class="uk-list uk-list-striped">';
         foreach ($data as $k) {
             $t .= '<li>';
             $t .= '<span class="uk-text-warning">ฝ่ายที่ไป:</span> ' . $k->department . ' <span class="uk-text-warning">สถานที่ไป:</span> ' . $k->location . ' <span class="uk-text-warning">วันที่ไป:</span> ' . $k->godate . ' <span class="uk-text-warning">เวลาไป:</span> ' . $k->gotime_start . ' ' . '<span>' . '<a href="#" title="ลบข้อมูล" onclick="del_deposit(' . $k->req_car_id . ')" > ' . '<i class="uk-icon-trash-o"></i>' . ' </a>' . '</span>';
             $t .= '</li>';
         }
         $t .= '</ul>';
         return $t;
     }
 }
}
if (isset($_GET['tid']) && !empty($_GET['tid']) && (isset($_GET['type']) && !empty($_GET['type']))) {
    $tenant_id = (int) $_GET['tid'];
    $type = $_GET['type'];
    if (!is_int($tenant_id)) {
        $mesg = "Deposit edit failed. An invalid value was sent through the URL";
        $session->message($mesg);
        redirect_to('tenants.php');
    } elseif (!valid_deposit($type)) {
        $mesg = "Deposit edit failed. An invalid value was sent through the URL";
        $session->message($mesg);
        redirect_to('tenants.php');
    } else {
        switch ($type) {
            case "house":
                $deposit = Deposit::findByTenantId($tenant_id);
                break;
            case "kplc":
                $deposit = DepositKPLC::findByTenantId($tenant_id);
                break;
            case "eldowas":
                $deposit = DepositEldowas::findByTenantId($tenant_id);
                break;
        }
    }
} else {
    $mesg = "Deposit edit failed. An invalid value was sent through the URL";
    $session->message($mesg);
    redirect_to("tenants.php");
}
/////////////////////////////////////////////////////////////////////////
Exemple #18
0
 /**
  * Remove the specified deposit from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     Deposit::destroy($id);
     return Redirect::route('deposits.index');
 }
 /**
  * Calculate the sum total of all deductions made on a property during
  * a specified period of time
  * @param int $prop_id ID used to identify the property
  * @param string $start Date string specifying start of the period
  * @param srting $end Date string specifying end of period
  * @return int $total_deductions
  */
 public static function calcTotalDeductionsForPeriod($prop_id, $start, $end)
 {
     $total_deductions = 0;
     $commission = self::calcCommissionOnCollection($prop_id, $start, $end);
     $commission = (int) str_replace(',', '', $commission);
     $expenses = Expense::calcTotalExpenses($prop_id, $start, $end);
     $expenses = (int) str_replace(',', '', $expenses);
     $house_dep_refunds = Deposit::calcRefundsForPeriodByProperty($prop_id, $start, $end);
     $house_dep_refunds = (int) str_replace(',', '', $house_dep_refunds);
     $kplc_refunds = DepositKPLC::calcRefundsForPeriodByProperty($prop_id, $start, $end);
     $kplc_refunds = (int) str_replace(',', '', $kplc_refunds);
     $eldowas_refunds = DepositEldowas::calcRefundsForPeriodByProperty($prop_id, $start, $end);
     $eldowas_refunds = (int) str_replace(',', '', $eldowas_refunds);
     $deductions = array($commission, $expenses, $house_dep_refunds, $kplc_refunds, $eldowas_refunds);
     $total_deductions = array_sum($deductions);
     return number_format($total_deductions);
 }
 public function addDepositCurrency()
 {
     $wallet_id = Input::get('wallet_id');
     $wallet = Wallet::find($wallet_id);
     if (!$wallet->enable_deposit) {
         return Redirect::to('user/deposit/' . $wallet_id)->with('error', Lang::get('user_texts.notify_deposit_disable', array('coin' => $wallet->name)));
     }
     $user = Confide::user();
     $find_deposit = Deposit::where('user_id', $user->id)->where('wallet_id', $wallet_id)->where('paid', 0)->where('created_at', '>=', date('Y-m-d'))->first();
     if (isset($find_deposit->id)) {
         return Redirect::to('user/deposit/' . $wallet_id)->with('error', Lang::get('messages.you_deposited_today'));
     }
     $amount = Input::get('amount');
     $address = Input::get('address');
     $transaction_id = Input::get('transaction_id');
     $deposit = new Deposit();
     $deposit->user_id = $user->id;
     $deposit->transaction_id = $transaction_id;
     $deposit->address = $address;
     $deposit->paid = 0;
     $deposit->amount = $amount;
     $deposit->wallet_id = $wallet_id;
     $deposit->save();
     if ($deposit->id) {
         return Redirect::to('user/deposit/' . $wallet_id)->with('notice', Lang::get('messages.message_created_deposit'));
     } else {
         return Redirect::to('user/deposit/' . $wallet_id)->with('error', Lang::get('messages.not_add_deposit'));
     }
 }
Exemple #21
0
 /**
  * Список платёжных систем
  *
  * @return array
  */
 public function getAggregatorsList()
 {
     $data = Deposit::getAggregatorsList();
     unset($data[Deposit::PAYMENT_SYSTEM_UNITPAY_SMS], $data[Deposit::PAYMENT_SYSTEM_WAYTOPAY_SMS]);
     return $data;
 }
    $start_date = $_POST['start_date'];
    $end_date = $_POST['end_date'];
    if (empty($start_date) || empty($end_date)) {
        $err = "Choose a month from which to display rent payments from";
    } elseif (!valid_date_range($start_date, $end_date)) {
        $err = "Reports can only be specified monthly";
    } else {
        // continue with processing
        //echo var_dump($prop_id);
        $payments = Rent::getPaymentsFromProperty($prop_id, $start_date, $end_date);
        //echo var_dump($payments);
        $arrears_paid = ArrearsPaid::getPaidArrearsForProperty($prop_id, $start_date, $end_date);
        $arrears = Arrears::getOutstandingArrearsForProperty($prop_id, $start_date, $end_date);
        $expenses = Expense::findByPeriodForProperty($prop_id, $start_date, $end_date);
        $deposits = Deposit::findPaymentsForPeriodByProperty($prop_id, $start_date, $end_date);
        $refunds = Deposit::findRefundsForPeriodByProperty($prop_id, $start_date, $end_date);
        $refunds_kplc = DepositKPLC::findRefundsForPeriodByProperty($prop_id, $start_date, $end_date);
        $refunds_eldowas = DepositEldowas::findRefundsForPeriodByProperty($prop_id, $start_date, $end_date);
        $records = CollectionReport::buildRecords($prop_id, $start_date, $end_date);
        $deductions = CollectionReport::calcTotalDeductionsForPeriod($prop_id, $start_date, $end_date);
        //echo var_dump($records);
        //echo var_dump($arrears_paid);
    }
} elseif (isset($_POST['report'])) {
    // Generate PDF report
    $start_date = $_POST['start_date'];
    $end_date = $_POST['end_date'];
    if (empty($start_date) || empty($end_date)) {
        $err = "Choose a period to use in generating report";
    } else {
        // continue with processing
Exemple #23
0
<?php

//echo (urlencode('$2a$05$0n3WovzqEdYksDg7OiXb0A=='));
include "DB/Models/Deposit.php";
include "DB/Models/Ticket.php";
include "DB/Models/Ledger.php";
$deposit = Deposit::depositAmt(1, 3, 200);
Ledger::addDeposit($deposit);
/*
$ticket = new Ticket;
$ticket->constr(1, 100, "Meds", "N/A");
$ticket = Ticket::createTicket($ticket);
echo var_dump(Ledger::addTicket($ticket));
*/
 public function doUpdateSendDeposit()
 {
     $username = Input::get('username');
     $amount = Input::get('amount');
     $transaction_id = Input::get('transaction_id');
     $paid = Input::get('paid');
     if (empty($paid)) {
         $paid = 0;
     }
     $deposit_id = Input::get('deposit_id');
     $redirect = Input::get('redirect');
     $user = User::where('username', $username)->first();
     //echo "<pre>Input: "; print_r(Input::all()); echo "</pre>"; exit;
     if (!isset($user->id)) {
         return Redirect::to($redirect)->with('error', Lang::get('admin_messages.user_not_exist'));
     } else {
         $deposit = Deposit::find($deposit_id);
         if (isset($deposit->id)) {
             $deposit->amount = $amount;
             $deposit->transaction_id = $transaction_id;
             $deposit->paid = $paid;
             $deposit->save();
             $message = '';
             if ($paid) {
                 $balance = new Balance();
                 $wallet = new Wallet();
                 $balance->addMoney($amount, $deposit->wallet_id, $user->id);
                 $message = ". " . Lang::get('admin_messages.send_money_user', array('amount' => $amount, 'coin' => $wallet->getType($deposit->wallet_id), 'username' => $user->username));
             }
             return Redirect::to($redirect)->with('success', Lang::get('admin_messages.update_success') . $message);
         } else {
             return Redirect::to($redirect)->with('error', Lang::get('admin_messages.deposit_not_exist'));
         }
     }
 }
 public function blocknotifyUpdateDeposit($wallet_type = '')
 {
     $blockhash = isset($_GET['trxhash']) ? $_GET['trxhash'] : 0;
     $logFile = 'laravel_' . $wallet_type . '.log';
     Log::useDailyFiles(storage_path() . '/logs/callbackdeposits/' . $logFile);
     Log::info("*******New Blocknotify Update Deposit: " . $blockhash . " -- wallet_type: " . $wallet_type);
     Log::info("\n" . "-- wallet_type: " . $wallet_type);
     if ($wallet_type != '') {
         $wallet = Wallet::where('type', strtoupper($wallet_type))->first();
         $wallet->connectJsonRPCclient($wallet->wallet_username, $wallet->wallet_password, $wallet->wallet_ip, $wallet->port);
         $limit_confirmations = empty($wallet->limit_confirmations) || $wallet->limit_confirmations <= 0 ? 3 : $wallet->limit_confirmations;
         $listtrans = $wallet->getListTransactions();
         @Log::info("\n" . 'Result listtrans: ', $listtrans);
         $balance = new Balance();
         foreach ($listtrans as $key => $value) {
             try {
                 $transaction_id = $value['txid'];
                 $trans = $wallet->getTransaction($transaction_id);
                 if ($trans != null) {
                     $account = $trans["details"][0]["account"];
                     $category = $trans["details"][0]["category"];
                     $confirms = $trans["confirmations"];
                     //send,receive
                     $address_ = $trans["details"][0]["address"];
                     $amount = $trans["amount"];
                     Log::info("\n" . "transaction: ", $trans);
                     Log::info("\n" . "------Account: " . $account . " -- category:" . $category . " --address: " . $address_);
                     //mail("*****@*****.**", 'Deposit Cron: ', var_export($trans, true));
                     $deposit = Deposit::where('transaction_id', $transaction_id)->first();
                     $user = User::where('username', $account)->first();
                     if (isset($deposit->transaction_id)) {
                         if ($deposit->paid == 0) {
                             if ($category == "receive" && $confirms >= $limit_confirmations && isset($user->id)) {
                                 Deposit::where('id', $deposit->id)->update(array('paid' => 1, 'confirmations' => $confirms));
                                 $balance->addMoney($amount, $wallet->id, $user->id);
                                 $message .= "<br>" . $amount . " " . $wallet->type . " was credited to your account";
                                 Log::info("\n" . $amount . " " . $wallet->type . " was credited to your account");
                             }
                         } else {
                             Deposit::where('id', $deposit->id)->update(array('confirmations' => $confirms));
                             Log::info("\n" . $amount . " " . $wallet->type . " was already credited to your account. contact support if you need further assistance.");
                         }
                     } else {
                         if ($category == "receive" && isset($user->id)) {
                             if ($confirms >= $limit_confirmations) {
                                 Deposit::insert(array('user_id' => $user->id, 'wallet_id' => $wallet->id, 'transaction_id' => $transaction_id, 'amount' => $amount, 'paid' => 1, 'confirmations' => $confirms, 'address' => $address_, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')));
                                 $balance->addMoney($amount, $wallet->id, $user->id);
                                 Log::info("\n" . $amount . " " . $wallet->type . " was credited to your account");
                             } else {
                                 Deposit::insert(array('user_id' => $user->id, 'wallet_id' => $wallet->id, 'transaction_id' => $transaction_id, 'amount' => $amount, 'paid' => 0, 'confirmations' => $confirms, 'address' => $address_, 'created_at' => date('Y-m-d H:i:s'), 'updated_at' => date('Y-m-d H:i:s')));
                                 Log::info("\n" . "This Deposit is unconfirmed. Current confirmations:" . $confirms . ". Required : 3.");
                             }
                         } else {
                             Log::info("\n" . "transaction is not a deposit or account is invalid.");
                         }
                     }
                 } else {
                     Log::info("\n" . "We can't find any information about this deposit. contact support.");
                 }
                 //trans
             } catch (Exception $e) {
                 Log::info('Caught exception: ' . $e->getMessage() . "\n");
             }
         }
     } else {
         Log::info('------------------- Error: not param wallet_type from _GET');
     }
     Log::info("*******Stop New Blocknotify Update Deposit*************");
 }
 /**
  * Calculate the sum of all payments made by a tenant during a specifed
  * period of time. This includes monthly rent, rent arrears paid, house 
  * deposit, KPLC deposit and ELDOWAS deposit
  * @param string $start Date string specifying start of the period
  * @param string $end Date string specifying end of the period
  * @return int $total_payments
  */
 public function calcPaymentsMadeDuringPeriod($start, $end)
 {
     $total_amount = 0;
     $rent = Rent::findByPeriodForTenant($this->id, $start, $end);
     $arrers_paid = ArrearsPaid::calcAmountPaidByTenantDuringPeriod($this->id, $start, $end);
     $arrers_paid = $this->_formatCurrencyString($arrers_paid);
     $deposit = Deposit::findByPeriodForTenant($this->id, $start, $end);
     $kplc = DepositKPLC::findByPeriodForTenant($this->id, $start, $end);
     $eldowas = DepositEldowas::findByPeriodForTenant($this->id, $start, $end);
     $rent_amount = !is_null($rent) ? $this->_formatCurrencyString($rent->getPaymentAmount()) : 0;
     $deposit_amount = !is_null($deposit) ? $this->_formatCurrencyString($deposit->getPaymentAmount()) : 0;
     $kplc_amount = !is_null($kplc) ? $this->_formatCurrencyString($kplc->getPaymentAmount()) : 0;
     $eldowas_amount = !is_null($eldowas_amount) ? $this->_formatCurrencyString($eldowas->getPaymentAmount()) : 0;
     $total_amount = $rent_amount + $deposit_amount + $arrers_paid + $kplc_amount + $eldowas_amount;
     return number_format($total_amount);
 }
 public function calculate()
 {
     if (!$this->getDepositAmount() || !$this->getTerm() || !$this->getCurrency()) {
         return false;
     }
     if (!$this->getIsMain()) {
         if (!$this->getInterestPaymentType() || !$this->getInterestPaymentPercent()) {
             return false;
         }
     }
     $sum = array();
     if ($this->getIsMain()) {
         $interestPaymentPercent = Cache::tags('deposits')->rememberForever('deposits_max_percent', function () {
             return Deposit::frequency()->currency($this->getCurrency())->max('percent');
         });
         $percentTotal = (100 - ($this->getPercent() + $this->getPercentMilitary())) / 100;
         $sum[0] = $this->getDepositAmount() * ($interestPaymentPercent / 100) / 12 * $this->getTerm() * $percentTotal;
         for ($i = 1; $i <= $this->getTerm() - 1; $i++) {
             $sum[$i] = ($this->getDepositAmount() + $sum[$i - 1]) * ($interestPaymentPercent / 100) / 12 * $this->getTerm() * $percentTotal;
         }
         $sum = round(array_pop($sum), 2);
         $this->result = array('sum' => $sum, 'amount' => $this->getDepositAmount(), 'installment' => $this->getMonthlyInstallment(), 'percent' => $interestPaymentPercent, 'currency' => $this->getCurrency());
     } else {
         foreach ($this->getDepositIds() as $key => $value) {
             $percentTotal = (100 - ($this->getPercent() + $this->getPercentMilitary())) / 100;
             if ($this->getInterestPaymentType() == 'capitalize') {
                 $interestPaymentPercent = Cache::tags('deposits')->rememberForever('deposits_max_percent', function () {
                     return Deposit::frequency()->currency($this->getCurrency())->max('percent');
                 });
                 $temp = array();
                 $temp[0] = $this->getDepositAmount() * ($interestPaymentPercent / 100) / 12 * $this->getTerm() * $percentTotal;
                 for ($i = 1; $i <= $this->getTerm() - 1; $i++) {
                     $temp[$i] = ($this->getDepositAmount() + $temp[$i - 1]) * ($interestPaymentPercent / 100) / 12 * $this->getTerm() * $percentTotal;
                 }
                 $sum = round(array_pop($temp), 2);
             } else {
                 $sum = $this->getDepositAmount() * ($this->getInterestPaymentPercent() / 100) / 12 * $this->getTerm() * $percentTotal;
             }
             $this->result[$value] = array('bonus' => 0, 'percent' => $this->getInterestPaymentPercent(), 'sum' => $sum, 'amount' => $this->getDepositAmount(), 'installment' => $this->getMonthlyInstallment() * $this->getTerm(), 'term' => $this->getTerm(), 'currency' => $this->getCurrency(), 'paymentType' => $this->getInterestPaymentType());
         }
     }
     return $this->result;
 }
///////////////////////////////////////////////////////////////////
/////////////////////////////// PROCESS SEARCH ////////////////////
///////////////////////////////////////////////////////////////////
if (isset($_GET['submit'])) {
    $prop_id = $_GET['prop'];
    $type = $_GET['type'];
    if (empty($type)) {
        $err = "Please choose the type of deposit to show";
    } elseif (empty($prop_id)) {
        $err = "Please select property from which to show deposits";
    } else {
        $property = Property::findById($prop_id);
        switch ($type) {
            case 1:
                $deposits = Deposit::findByPropertyId($prop_id);
                $total_deposits = Deposit::calcDepositsForProperty($prop_id);
                break;
            case 2:
                $deposits = DepositKPLC::findByPropertyId($prop_id);
                $total_deposits = DepositKPLC::calcDepositsForProperty($prop_id);
                break;
            case 3:
                $deposits = DepositEldowas::findByPropertyId($prop_id);
                $total_deposits = DepositEldowas::calcDepositsForProperty($prop_id);
                break;
        }
    }
}
include_layout_template('admin_header.php');
?>
 /**
  * Create new deposits for deposit objects
  */
 function _processNewDepositObjects(&$journal)
 {
     // get the object type we'll be dealing with
     $objectType = $this->_plugin->getSetting($journal->getId(), 'object_type');
     // create new deposit objects for any new OJS content
     $depositDao =& DAORegistry::getDAO('DepositDAO');
     $depositObjectDao =& DAORegistry::getDAO('DepositObjectDAO');
     $depositObjectDao->createNew($journal->getId(), $objectType);
     // retrieve all deposit objects that don't belong to a deposit
     $newObjects =& $depositObjectDao->getNew($journal->getId(), $objectType);
     switch ($objectType) {
         case PLN_PLUGIN_DEPOSIT_OBJECT_ARTICLE:
             // get the new object threshold per deposit and split the objects into arrays of that size
             $objectThreshold = $this->_plugin->getSetting($journal->getId(), 'object_threshold');
             foreach (array_chunk($newObjects->toArray(), $objectThreshold) as $newObject_array) {
                 // only create a deposit for the complete threshold, we'll worry about the remainder another day
                 if (count($newObject_array) == $objectThreshold) {
                     //create a new deposit
                     $newDeposit = new Deposit($this->_plugin->newUUID());
                     $newDeposit->setJournalId($journal->getId());
                     $depositDao->insertDeposit($newDeposit);
                     // add each object to the deposit
                     foreach ($newObject_array as $newObject) {
                         $newObject->setDepositId($newDeposit->getId());
                         $depositObjectDao->updateDepositObject($newObject);
                     }
                 }
             }
             break;
         case PLN_PLUGIN_DEPOSIT_OBJECT_ISSUE:
             // create a new deposit for reach deposit object
             while ($newObject =& $newObjects->next()) {
                 $newDeposit = new Deposit($this->_plugin->newUUID());
                 $newDeposit->setJournalId($journal->getId());
                 $depositDao->insertDeposit($newDeposit);
                 $newObject->setDepositId($newDeposit->getId());
                 $depositObjectDao->updateDepositObject($newObject);
                 unset($newObject);
             }
             break;
         default:
     }
 }
Exemple #30
0
 public function getType()
 {
     Yii::import('application.modules.deposit.extensions.Deposit.Deposit');
     $data = Deposit::getAggregatorsList();
     return isset($data[$this->payment_system]) ? $data[$this->payment_system] : '*Unknown*';
 }