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 manageAction() { // Create form if (!$this->_helper->requireAuth()->setAuthParams(null, null, 'edit')->isValid()) { return; } $this->view->formFilter = $formFilter = new Event_Form_Filter_Manage(); $defaultValues = $formFilter->getValues(); // Populate form data if ($formFilter->isValid($this->_getAllParams())) { $this->view->formValues = $values = $formFilter->getValues(); } else { $formFilter->populate($defaultValues); $this->view->formValues = $values = array(); } $viewer = $this->_helper->api()->user()->getViewer(); $table = $this->_helper->api()->getDbtable('events', 'event'); $tableName = $table->info('name'); // Only mine if (@$values['view'] == 2) { $select = $table->select()->where('user_id = ?', $viewer->getIdentity()); } else { $membership = Engine_Api::_()->getDbtable('membership', 'event'); $select = $membership->getMembershipsOfSelect($viewer); } if (!empty($values['text'])) { $select->where("`{$tableName}`.title LIKE ?", '%' . $values['text'] . '%'); } $this->view->paginator = $paginator = Zend_Paginator::factory($select); $this->view->text = $values['text']; $this->view->view = $values['view']; $paginator->setItemCountPerPage(20); $paginator->setCurrentPageNumber($this->_getParam('page')); }
public function manageAction() { // Create form if (!$this->_helper->requireAuth()->setAuthParams('event', null, 'edit')->isValid()) { return; } // Get navigation $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')->getNavigation('event_main'); // Render $this->_helper->content->setEnabled(); $this->view->formFilter = $formFilter = new Event_Form_Filter_Manage(); $defaultValues = $formFilter->getValues(); // Populate form data if ($formFilter->isValid($this->_getAllParams())) { $this->view->formValues = $values = $formFilter->getValues(); } else { $formFilter->populate($defaultValues); $this->view->formValues = $values = array(); } $viewer = Engine_Api::_()->user()->getViewer(); $table = Engine_Api::_()->getDbtable('events', 'event'); $tableName = $table->info('name'); // Only mine if (@$values['view'] == 2) { $select = $table->select()->where('user_id = ?', $viewer->getIdentity()); } else { $membership = Engine_Api::_()->getDbtable('membership', 'event'); $select = $membership->getMembershipsOfSelect($viewer); } if (!empty($values['search_text'])) { $values['text'] = $values['search_text']; } if (!empty($values['text'])) { $select->where("`{$tableName}`.title LIKE ?", '%' . $values['text'] . '%'); } $select->order('starttime ASC'); //$select->where("endtime > FROM_UNIXTIME(?)", time()); $this->view->paginator = $paginator = Zend_Paginator::factory($select); $this->view->text = $values['text']; $this->view->view = $values['view']; $paginator->setItemCountPerPage(20); $paginator->setCurrentPageNumber($this->_getParam('page')); // Check create $this->view->canCreate = Engine_Api::_()->authorization()->isAllowed('event', null, 'create'); }