Пример #1
0
 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();
 }