/** * Получить список операций */ function listOperations($args) { // Дата начала $dateFrom = isset($this->request->get['dateFrom']) && $this->request->get['dateFrom'] != '' ? Helper_Date::getMysqlFromString($this->request->get['dateFrom']) : Helper_Date::getMysql(time() - 7 * 24 * 60 * 60); // Костылёк для PDA if (isset($this->request->get['period'])) { switch ($this->request->get['period']) { case 'month': $dateFrom = Helper_Date::getMysql(time() - 30 * 24 * 60 * 60); break; case 'day': $dateFrom = Helper_Date::getMysql(time() - 1 * 24 * 60 * 60); break; case 'week': $dateFrom = Helper_Date::getMysql(time() - 7 * 24 * 60 * 60); } if (_Core_TemplateEngine::getResponseMode($this->request) != "csv") { $this->tpl->assign('period', $this->request->get['period']); } } else { if (_Core_TemplateEngine::getResponseMode($this->request) != "csv") { $this->tpl->assign('period', 'week'); } } // Дата окончания $dateTo = isset($this->request->get['dateTo']) && $this->request->get['dateTo'] != '' ? Helper_Date::getMysqlFromString($this->request->get['dateTo']) : Helper_Date::getMysql(time()); // Категория $category = isset($this->request->get['category']) ? (int) $this->request->get['category'] : 0; // Счёт $account = isset($this->request->get['account']) ? (int) $this->request->get['account'] : 0; if (_Core_TemplateEngine::getResponseMode($this->request) != "csv") { $this->tpl->assign('accountId', $account); } //Тип операции $type = null; if (!isset($this->request->get['type'])) { // WTF ?!! $type = -1; } else { $type = $this->request->get['type']; } // Показывать операции на сумму не меньше .. $sumFrom = null; if (isset($this->request->get['sumFrom']) && $this->request->get['sumFrom']) { $sumFrom = (double) $this->request->get['sumFrom']; } // Показывать операции на сумму не больше .. $sumTo = null; if (isset($this->request->get['sumTo']) && $this->request->get['sumTo']) { $sumTo = (double) $this->request->get['sumTo']; } $search_field = isset($this->request->get['search_field']) ? $this->request->get['search_field'] : ''; $list = $this->model->getOperationList($dateFrom, $dateTo, $category, $account, $type, $sumFrom, $sumTo, $search_field); $dateBeforeFrom = Helper_Date::getMysql(strtotime($dateFrom . " -1 day")); $listBefore = $this->model->getOperationList($dateFrom, $dateBeforeFrom, $category, $account, $type, $sumFrom, $sumTo, $search_field, true, true); $listAfter = $this->model->getOperationList($dateFrom, $dateTo, $category, $account, $type, $sumFrom, $sumTo, $search_field, true); if (!$list) { $list = array(); } // Привет кэп ! $array = array(); // Составляем список операций foreach ($list as $key => $operation) { if (!is_null($operation['account_name'])) { $array[$key] = $operation; } else { $array[$key] = $operation; $array[$key]['account_name'] = ''; } if (_Core_TemplateEngine::getResponseMode($this->request) == "csv") { switch ($array[$key]['type']) { case Operation::TYPE_WASTE: $array[$key]['type'] = 'Расход'; break; case Operation::TYPE_PROFIT: $array[$key]['type'] = 'Доход'; break; case Operation::TYPE_TRANSFER: $array[$key]['type'] = 'Перевод со счёта'; break; case Operation::TYPE_TARGET: $array[$key]['type'] = 'Перевод на фин. цель'; break; } } } $this->_setDrain($array); $this->tpl->assign('name_page', 'operations/operation'); if (_Core_TemplateEngine::getResponseMode($this->request) != "csv") { $this->tpl->assign('operations', $array); $this->tpl->assign('list_before', $listBefore); $this->tpl->assign('period_change', $listAfter); } else { //CSV $headers = array('Дата', 'Тип', 'Сумма', 'Счет', 'Категория', 'Метки', 'Комментарий'); $this->tpl->assign('elements', $array); $this->tpl->assign('headers', $headers); $this->tpl->assign('filename', 'EasyFinance Operations ' . $this->request->get['dateFrom'] . " - " . $this->request->get['dateTo'] . '.csv'); } }
public static function redirect($url, $isExternal = false, $statusCode = 200) { if (array_key_exists($statusCode, self::$headerByCode)) { header(self::$headerByCode[$statusCode]); } if ($isExternal) { header('Location: ' . $url); exit; } $request = _Core_Request::getFake($url); $router = new _Core_Router($request, _Core_TemplateEngine::getPrepared($request)); try { $router->performRequest(); } catch (Exception $e) { // Вывод отладочной информации if (DEBUG) { echo highlight_string("<?php\n" . $e->getTraceAsString()); exit; } elseif ('/notfound' == $url) { exit; } else { self::redirect('/notfound', false, 404); } } }
/** * Индексный файл проекта * @copyright http://easyfinance.ru/ * @version SVN $Id$ */ define('INDEX', true); error_reporting(E_ALL); // Подключаем файл с общей конфигурацией проекта require_once dirname(dirname(__FILE__)) . '/include/config.php'; // Загружаем общие данные // @todo оторвать! require_once SYS_DIR_INC . 'common.php'; // Получаем обьект с параметрами запроса. $request = _Core_Request::getCurrent(); // Получаем текущий шаблонизатор на основании запроса $templateEngine = _Core_TemplateEngine::getPrepared($request); // Запускаем хелпер для IFRAME авторизации и подключения шаблонов Helper_IframeLogin::login($templateEngine); // Инициализация роутера $router = new _Core_Router($request, $templateEngine); try { // Выполнение запроса (разбор ->вызов контроллера) $router->performRequest(); if (_Core_Request::getCurrent()->host . '/' == HOST_ROOT_IFRAME) { $templateEngine->display('iframe/index.iframe.html'); } elseif (_Core_Request::getCurrent()->host . '/' == HOST_ROOT_RAMBLER) { $templateEngine->display('index.html'); } else { if (!IS_DEMO) { // Если пользователь зашёл с мобильного браузера if (_Core_Request::getCurrent()->host . '/' != HOST_ROOT_PDA && Helper_DetectBrowser::detectMobile() && !isset($_COOKIE['DO_WHANT_FULL_VERSION'])) {