public function indexAction() { if ($this->session->get('successfu_edite')) { $this->view->successfu_edite = true; $this->session->clear('successfu_edite'); } if ($this->session->get('error_permision')) { $this->view->error_permision = $this->session->get('error_permision'); $this->session->clear('error_permision'); } $reques = $this->getRequest(); $this->view->sort = $reques->getRequest('sort', 'DESC'); $this->view->order = $reques->getRequest('order', 'p.event_id'); $this->view->page_num = $page = $reques->getRequest('page', 1); $this->view->filter_event_id = $reques->getQuery('filter_event_id'); $this->view->filter_user_id = $reques->getQuery('filter_user_id'); $this->view->filter_fullname = $reques->getQuery('filter_fullname'); $this->view->filter_username = $reques->getQuery('filter_username'); $this->view->filter_description = $reques->getQuery('filter_description'); $this->view->filter_eventname = $reques->getQuery('filter_eventname'); $url = ''; if ($this->view->filter_event_id) { $url .= '&filter_dic_id=' . $this->view->filter_event_id; } if ($this->view->filter_fullname) { $url .= '&filter_fullname=' . $this->view->filter_fullname; } if ($this->view->filter_username) { $url .= '&filter_username='******'&filter_user_id=' . $this->view->filter_user_id; } if ($this->view->filter_description) { $url .= '&filter_description=' . $this->view->filter_description; } if ($this->view->filter_eventname) { $url .= '&filter_eventname=' . $this->view->filter_eventname; } $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('config_admin_limit') - JO_Registry::get('config_admin_limit'), 'limit' => JO_Registry::get('config_admin_limit'), 'sort' => $this->view->sort, 'order' => $this->view->order, 'filter_event_id' => $this->view->filter_event_id, 'filter_fullname' => trim($this->view->filter_fullname), 'filter_username' => trim($this->view->filter_username), 'filter_description' => trim($this->view->filter_description), 'filter_eventname' => trim($this->view->filter_eventname), 'filter_user_id' => $this->view->filter_user_id); $this->view->events = array(); $events = Model_Events::getEvents($data); if ($events) { foreach ($events as $event) { $event['event_href'] = WM_Router::create($reques->getBaseUrl() . '?controller=events&event_id=' . $event['event_id']); $event['user_href'] = WM_Router::create($reques->getBaseUrl() . '?controller=users&action=profile&user_id=' . $event['user_id']); $event['likes'] = Model_Events::getCountLike($event['event_id']); $event['follow'] = Model_Events::getCountFollow($event['event_id']); $event['comments'] = Model_Events::getCountComments($event['event_id']); $event['event_href'] = WM_Router::create($reques->getBaseUrl() . '?controller=events&action=indexeventBoxDetail&event_id=' . $event['event_id']); $this->view->events[] = $event; } } $this->view->sort = strtolower($this->view->sort); $this->view->sort_event_id = $reques->getModule() . '/events/?order=p.event_id&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_fullname = $reques->getModule() . '/events/?order=fullname&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_username = $reques->getModule() . '/events/?order=u.username&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_price = $reques->getModule() . '/events/?order=p.price&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_likes = $reques->getModule() . '/events/?order=p.likes&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_comments = $reques->getModule() . '/events/?order=p.comments&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $this->view->sort_eventname = $reques->getModule() . '/events/?order=p.eventname&sort=' . ($this->view->sort == 'asc' ? 'DESC' : 'ASC') . $url . $url2; $total_records = Model_Events::getTotalEvents($data); $this->view->total_pages = ceil($total_records / JO_Registry::get('config_admin_limit')); $this->view->total_rows = $total_records; $pagination = new Model_Pagination(); $pagination->setLimit(JO_Registry::get('config_admin_limit')); $pagination->setPage($page); $pagination->setTotal($total_records); $pagination->setUrl($this->getRequest()->getModule() . '/events/?page={page}' . $url . $url1); $this->view->pagination = $pagination->render(); }