public function indexAction() { $viewer = Engine_Api::_()->user()->getViewer(); $request = Zend_Controller_Front::getInstance()->getRequest(); $p = $request->getParams(); $filter = !empty($p['filter']) ? $p['filter'] : 'future'; if ($filter != 'past' && $filter != 'future') { $filter = 'future'; } $this->view->filter = $filter; // Create form if ($request->getModuleName() == 'event' && $request->getControllerName() == 'index' && $request->getActionName() == 'manage') { $this->view->form = $formFilter = new Event_Form_Filter_Manage(); $defaultValues = $formFilter->getValues(); } else { $this->view->form = $formFilter = new Event_Form_Filter_Browse(); $defaultValues = $formFilter->getValues(); if (!$viewer || !$viewer->getIdentity()) { $formFilter->removeElement('view'); } // Populate options foreach (Engine_Api::_()->getDbtable('categories', 'event')->select()->order('title ASC')->query()->fetchAll() as $row) { $formFilter->category_id->addMultiOption($row['category_id'], $row['title']); } if (count($formFilter->category_id->getMultiOptions()) <= 1) { $formFilter->removeElement('category_id'); } } // Populate form data if ($formFilter->isValid($p)) { $this->view->formValues = $values = $formFilter->getValues(); } else { $formFilter->populate($defaultValues); $this->view->formValues = $values = array(); } // Prepare data $this->view->formValues = $values = $formFilter->getValues(); if ($formFilter instanceof Event_Form_Filter_Browse) { if ($viewer->getIdentity() && @$values['view'] == 1) { $values['users'] = array(); foreach ($viewer->membership()->getMembersInfo(true) as $memberinfo) { $values['users'][] = $memberinfo->user_id; } } $values['search'] = 1; if ($filter == "past") { $values['past'] = 1; } else { $values['future'] = 1; } // check to see if request is for specific user's listings if ($user_id = $this->_getParam('user')) { $values['user_id'] = $user_id; } } }
public function browseAction() { // Prepare $viewer = Engine_Api::_()->user()->getViewer(); $this->view->canCreate = Engine_Api::_()->authorization()->isAllowed('event', null, 'create'); $filter = $this->_getParam('filter', 'future'); if ($filter != 'past' && $filter != 'future') { $filter = 'future'; } $this->view->filter = $filter; // Create form $this->view->formFilter = $formFilter = new Event_Form_Filter_Browse(); $defaultValues = $formFilter->getValues(); if (!$viewer || !$viewer->getIdentity()) { $formFilter->removeElement('view'); } // Populate options foreach (Engine_Api::_()->getDbtable('categories', 'event')->select()->order('title ASC')->query()->fetchAll() as $row) { $formFilter->category_id->addMultiOption($row['category_id'], $row['title']); } if (count($formFilter->category_id->getMultiOptions()) <= 1) { $formFilter->removeElement('category_id'); } // Populate form data if ($formFilter->isValid($this->_getAllParams())) { $this->view->formValues = $values = $formFilter->getValues(); } else { $formFilter->populate($defaultValues); $this->view->formValues = $values = array(); } // Prepare data $this->view->formValues = $values = $formFilter->getValues(); if ($viewer->getIdentity() && @$values['view'] == 1) { $values['users'] = array(); foreach ($viewer->membership()->getMembersInfo(true) as $memberinfo) { $values['users'][] = $memberinfo->user_id; } } $values['search'] = 1; if ($filter == "past") { $values['past'] = 1; } else { $values['future'] = 1; } // check to see if request is for specific user's listings if ($user_id = $this->_getParam('user')) { $values['user_id'] = $user_id; } // Get paginator $this->view->paginator = $paginator = Engine_Api::_()->getItemTable('event')->getEventPaginator($values); $paginator->setCurrentPageNumber($this->_getParam('page')); // Render $this->_helper->content->setEnabled(); }
public function browseAction() { $filter = $this->_getParam('filter', 'future'); if ($filter != 'past' && $filter != 'future') { $filter = 'future'; } $this->view->filter = $filter; $navigation = $this->getNavigation(); foreach ($navigation->getPages() as $page) { if ($page->label == "Upcoming Events" && $filter == "future" || $page->route == "event_past" && $filter == "past") { $page->active = true; } } // Create form $this->view->formFilter = $formFilter = new Event_Form_Filter_Browse(); $defaultValues = $formFilter->getValues(); $viewer = Engine_Api::_()->user()->getViewer(); if (!$viewer || !$viewer->getIdentity()) { $formFilter->removeElement('view'); } // Populate form options $categoryTable = Engine_Api::_()->getDbtable('categories', 'event'); $select = $categoryTable->select()->order('title ASC'); foreach ($categoryTable->fetchAll($select) as $category) { $formFilter->category_id->addMultiOption($category->category_id, $category->title); } // Populate form data if ($formFilter->isValid($this->_getAllParams())) { $this->view->formValues = $values = $formFilter->getValues(); } else { $formFilter->populate($defaultValues); $this->view->formValues = $values = array(); } // Prepare data $table = Engine_Api::_()->getItemTable('event'); $select = $table->select()->where("search = 1"); // Do friends only if ($viewer->getIdentity() && @$values['view'] == 'friends') { $user_list = array(); foreach ($viewer->membership()->getMembersInfo(true) as $memberinfo) { $user_list[] = $memberinfo->user_id; } $select->where('user_id IN(\'' . join("', '", $user_list) . '\')'); } // Do query stuff if (!empty($values['category_id'])) { $select->where('category_id = ?', $values['category_id']); } if (!empty($values['order'])) { $select->order($values['order']); } else { $select->order('starttime ASC'); } if ($filter == "past") { $select->where("endtime < FROM_UNIXTIME(?)", time()); } else { $select->where("endtime > FROM_UNIXTIME(?)", time()); } // check to see if request is for specific user's listings $user_id = $this->_getParam('user'); if ($user_id) { $params = array('user' => $user_id); } // Other stuff $this->view->page = $page = $this->_getParam('page', 1); $paginator = $this->view->paginator = Zend_Paginator::factory($select); $paginator->setItemCountPerPage(20); $paginator->setCurrentPageNumber($page); $this->view->canCreate = Engine_Api::_()->authorization()->isAllowed('event', null, 'create'); }