Esempio n. 1
0
 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;
         }
     }
 }
Esempio n. 2
0
 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'));
 }
Esempio n. 3
0
 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');
 }