public static function history() { $usr = self::getCurrentUser(1); if (!isset($usr)) { header("Location: /"); return; } $orders = Order::findBy(array('UID' => $usr->getId()), ' ORDER BY Date DESC'); $rate = new Rate(); $currency = new Currency(); foreach ($orders as $key => $order) { $rate->findById($order['RateId']); $currency->findById($rate->getFirstCurrencyId()); $orders[$key]['FirstCurrency'] = $currency->getName(); $currency->findById($rate->getSecondCurrencyId()); $orders[$key]['SecondCurrency'] = $currency->getName(); $orders[$key]['Type'] = $order['Type'] == OrderType::BUY ? 'Buy' : 'Sell'; $status = ''; switch ($order['Status']) { case OrderStatus::ACTIVE: $status = 'Active'; break; case OrderStatus::DONE: $status = 'Done'; break; case OrderStatus::PARTIALLY_DONE: $status = 'Partially done'; break; case OrderStatus::CANCELLED: $status = 'Cancelled'; break; } $orders[$key]['Status'] = $status; $orderDeals = Deal::findByAndOrderByDate(array('OrderId' => $order['id'])); $deals = array(); foreach ($orderDeals as $dealKey => $deal) { $deals[$dealKey]['id'] = $deal['id']; $deals[$dealKey]['Price'] = $deal['Price']; $deals[$dealKey]['Volume'] = $deal['Volume']; $deals[$dealKey]['Date'] = $deal['Date']; $deals[$dealKey]['Status'] = $deal['Done'] == 0 ? 'Active' : 'Done'; } $orders[$key]['deals'] = $deals; } Core::runView('ViewTemplate/account', array('pageName' => 'Deals history', 'activeMenu' => 'Deals history', 'pagePath' => 'AccountProfile/usr_dealshistory', 'user' => $usr, 'dealsHistory' => $orders)); }