/** * Удаляет указанный счет * @param $args array mixed * @return void */ function delete($args) { if (isset($_REQUEST['confirmed']) && $_REQUEST['confirmed']) { $params = $_REQUEST; // Предупреждение перед удалением if (count($this->user->getUserAccounts()) == 1) { $this->renderJsonError('Перед удалением последнего счета создайте нужные Вам счета'); } $account = Account::getTypeByID($params); $er = $account->delete($this->user, $params); if (!$er) { $this->renderJsonError('Счёт не удалён'); } if ($er === 'cel') { $this->renderJsonError('Невозможно удалить счёт, к которому привязана фин.цель'); } else { //@XXX Тут как бы хз.. Нужно проверять какую конструкцию поставить. //Сильно смущает строка ниже, передающая в шаблонизатор переменную $this->tpl->assign('result', array('text' => 'Счёт удален')); } $this->tpl->assign('name_page', 'info_panel/info_panel'); } elseif (!isset($_POST['confirmed'])) { $confirm = array('title' => 'Удаление счёта', 'message' => 'Вы действительно хотите удалить выбранный счёт?', 'yesLink' => '/accounts/delete/?id=' . $args[0] . '&confirmed=1', 'noLink' => $_SERVER['HTTP_REFERER']); // Сохраняем в сессии адрес куда идти если согласится $_SESSION['redirect'] = $_SERVER['HTTP_REFERER']; $this->tpl->assign('confirm', $confirm); $this->tpl->assign('name_page', 'confirm'); // Видимо передумали удалять и наша логика не сработала - редиректим на инфо } else { _Core_Router::redirect('/info'); } }
/** * Конвертирует сумму операции * * @param int $fromAccount * @param int $toAccount * @param float $amount * @param float $convert * @return float */ function _convertAmount($fromAccount, $toAccount, $amount, $convert) { $accounts = $this->user->getUserAccounts(); $curFromId = $accounts[$fromAccount]['account_currency_id']; $curTargetId = $accounts[$toAccount]['account_currency_id']; // Если перевод мультивалютный if ($curFromId != $curTargetId) { // Если не указана сконвертированная сумма (в ПДА такое может быть) if ($convert == 0) { $currensys = $this->user->getUserCurrency(); // приводим сумму к пром. валюте $convert = $amount / $currensys[$curTargetId]['value']; // .. и к валюте целевого счёта $convert = $convert * $currensys[$curFromId]['value']; } } if ($convert == 0) { $convert = $amount; } return abs($convert); }