public function indexAction() { if ($this->session->get('successfu_edite')) { $this->view->successfu_edite = true; $this->session->clear('successfu_edite'); } $request = $this->getRequest(); $this->view->page_num = $page = $request->getRequest('page', 1); $this->view->sort = $request->getRequest('sort', 'DESC'); $this->view->order = $request->getRequest('order', 'o.id'); $this->view->filter_id = $request->getQuery('filter_id'); $this->view->filter_name = $request->getQuery('filter_name'); $this->view->filter_username = $request->getQuery('filter_username'); $this->view->filter_owner = $request->getQuery('filter_owner'); $this->view->filter_price = $request->getQuery('filter_price'); $this->view->filter_receive = $request->getQuery('filter_receive'); $this->view->filter_item_id = $request->getQuery('filter_item_id'); $this->view->filter_paid = $request->getQuery('filter_paid'); $this->view->filter_extended = $request->getQuery('filter_extended'); $this->view->filter_type = $request->getRequest('filter_type', 'buy'); $this->view->filter_from = $request->getQuery('filter_from'); $this->view->filter_to = $request->getQuery('filter_to'); $this->view->filter_paid_from = $request->getQuery('filter_paid_from'); $this->view->filter_paid_to = $request->getQuery('filter_paid_to'); $this->view->filter_order_id = $request->getQuery('filter_order_id'); $this->view->filter_web_receive = $request->getQuery('filter_web_receive'); $url = ''; if ($this->view->filter_id) { $url .= '&filter_id=' . $this->view->filter_id; } if ($this->view->filter_name) { $url .= '&filter_name=' . $this->view->filter_name; } if ($this->view->filter_username) { $url .= '&filter_username='******'&filter_owner=' . $this->view->filter_owner; } if ($this->view->filter_price) { $url .= '&filter_price=' . $this->view->filter_price; } if ($this->view->filter_web_receive) { $url .= '&filter_web_receive=' . $this->view->filter_web_receive; } if ($this->view->filter_receive) { $url .= '&filter_receive=' . $this->view->filter_receive; } if ($this->view->filter_item_id) { $url .= '&filter_item_id=' . $this->view->filter_item_id; } if ($this->view->filter_paid) { $url .= '&filter_paid=' . $this->view->filter_paid; } if ($this->view->filter_extended) { $url .= '&filter_extended=' . $this->view->filter_extended; } if ($this->view->filter_type) { $url .= '&filter_type=' . $this->view->filter_type; } if ($this->view->filter_from) { $url .= '&filter_from=' . $this->view->filter_from; } if ($this->view->filter_to) { $url .= '&filter_to=' . $this->view->filter_to; } if ($this->view->filter_paid_from) { $url .= '&filter_paid_from=' . $this->view->filter_paid_from; } if ($this->view->filter_paid_to) { $url .= '&filter_paid_to=' . $this->view->filter_paid_to; } if ($this->view->filter_order_id) { $url .= '&filter_order_id=' . $this->view->filter_order_id; } $url1 = ''; if ($this->view->sort) { $url1 .= '&sort=' . $this->view->sort; } if ($this->view->order) { $url1 .= '&order=' . $this->view->order; } $url2 = '&page=' . $page; $data = array('start' => $page * JO_Registry::get('admin_limit') - JO_Registry::get('admin_limit'), 'limit' => JO_Registry::get('admin_limit'), 'sort' => $this->view->sort, 'order' => $this->view->order, 'filter_id' => $this->view->filter_id, 'filter_name' => $this->view->filter_name, 'filter_username' => $this->view->filter_username, 'filter_owner' => $this->view->filter_owner, 'filter_price' => $this->view->filter_price, 'filter_receive' => $this->view->filter_receive, 'filter_item_id' => $this->view->filter_item_id, 'filter_paid' => $this->view->filter_paid, 'filter_extended' => $this->view->filter_extended, 'filter_type' => $this->view->filter_type, 'filter_from' => $this->view->filter_from, 'filter_to' => $this->view->filter_to, 'filter_paid_from' => $this->view->filter_paid_from, 'filter_paid_to' => $this->view->filter_paid_to, 'filter_order_id' => $this->view->filter_order_id, 'filter_web_receive' => $this->view->filter_web_receive); $this->view->items = array(); $items = Model_Orders::getAll($data); $this->view->price = 0; $this->view->web_profit2 = 0; $this->view->profit = 0; if ($items) { foreach ($items as $item) { $item['web_profit2'] = $item['referral_sum'] > 0 ? $item['web_profit'] - $item['referral_sum'] : $item['web_profit']; $this->view->price += $item['price']; $this->view->web_profit2 += $item['web_profit2']; $this->view->profit += $item['receive']; $this->view->items[] = array('id' => $item['id'], 'order_id' => $item['order_id'], 'name' => $item['item_name'], 'username' => $item['username'], 'owner' => $item['owner'], 'href' => WM_Router::create($request->getBaseUrl() . '?module=' . $item['module'] . '&controller=items&item_id=' . $item['item_id']), 'price' => WM_Currency::format($item['price']), 'profit' => WM_Currency::format($item['receive']), 'web_profit' => WM_Currency::format($item['web_profit']), 'web_profit2' => WM_Currency::format($item['web_profit2']), 'has_referral_sum' => $item['referral_sum'], 'referral_sum' => WM_Currency::format($item['referral_sum']), 'datetime' => JO_Date::getInstance($item['datetime'], 'dd.mm.yy', true)->toString(), 'paid' => $item['paid'] == 'true', 'paid_datetime' => $item['paid'] == 'true' ? JO_Date::getInstance($item['paid_datetime'], 'dd.mm.yy', true)->toString() : '', 'extended' => $item['extended'] == 'true', 'type' => $item['type'], 'edit' => $request->getModule() . '/orders/edit/?id=' . $item['id'] . $url . $url1 . $url2, 'has_referal' => $item['type'] == 'buy' ? Model_Orders::getTotal(array('filter_order_id' => $item['id'], 'filter_type' => 'referal')) : 0, 'has_buy' => $item['type'] != 'buy' ? Model_Orders::getTotal(array('filter_id' => $item['order_id'], 'filter_type' => 'buy')) : 0); } } $this->view->price = WM_Currency::format($this->view->price); $this->view->web_profit2 = WM_Currency::format($this->view->web_profit2); $this->view->profit = WM_Currency::format($this->view->profit); $this->view->sort = strtolower($this->view->sort); $this->view->sort_id = $request->getModule() . '/orders/?order=o.id&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_name = $request->getModule() . '/orders/?order=o.name&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_username = $request->getModule() . '/orders/?order=u.username&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_owner = $request->getModule() . '/orders/?order=u2.username&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_price = $request->getModule() . '/orders/?order=o.price&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_receive = $request->getModule() . '/orders/?order=o.receive&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_web_receive = $request->getModule() . '/orders/?order=web_profit2&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_datetime = $request->getModule() . '/orders/?order=o.datetime&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_paid = $request->getModule() . '/orders/?order=o.paid&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_paid_datetime = $request->getModule() . '/orders/?order=o.paid_datetime&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_extended = $request->getModule() . '/orders/?order=o.extended&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_type = $request->getModule() . '/orders/?order=o.type&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $total_records = Model_Orders::getTotal($data); $this->view->total_pages = ceil($total_records / JO_Registry::get('admin_limit')); $this->view->total_rows = $total_records; $pagination = new Model_Pagination(); $pagination->setLimit(JO_Registry::get('admin_limit')); $pagination->setPage($page); $pagination->setTotal($total_records); $pagination->setUrl($this->getRequest()->getModule() . '/orders/?page={page}' . $url . $url1); $this->view->pagination = $pagination->render(); $this->view->order_link = WM_Router::create($request->getBaseUrl() . '?controller=admin/orders&action=index'); $this->view->deposit_link = WM_Router::create($request->getBaseUrl() . '?controller=admin/orders&action=deposit'); $this->view->membership_link = WM_Router::create($request->getBaseUrl() . '?controller=admin/orders&action=membership'); }