예제 #1
0
 public function indexAction()
 {
     $viewer = Engine_Api::_()->user()->getViewer();
     $request = Zend_Controller_Front::getInstance()->getRequest();
     $p = $request->getParams();
     // Form
     if ($request->getModuleName() == 'group' && $request->getControllerName() == 'index' && $request->getActionName() == 'manage') {
         $this->view->form = $formFilter = new Group_Form_Filter_Manage();
         $defaultValues = $formFilter->getValues();
     } else {
         $this->view->form = $formFilter = new Group_Form_Filter_Browse();
         $defaultValues = $formFilter->getValues();
         if (!$viewer || !$viewer->getIdentity()) {
             $formFilter->removeElement('view');
         }
         // Populate options
         $categories = Engine_Api::_()->getDbtable('categories', 'group')->getCategoriesAssoc();
         $formFilter->category_id->addMultiOptions($categories);
     }
     // 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 ($viewer->getIdentity() && @$values['view'] == 1) {
         $values['users'] = array();
         foreach ($viewer->membership()->getMembersInfo(true) as $memberinfo) {
             $values['users'][] = $memberinfo->user_id;
         }
     }
     $values['search'] = 1;
     // check to see if request is for specific user's listings
     $user_id = $this->_getParam('user');
     if ($user_id) {
         $values['user_id'] = $user_id;
     }
 }
예제 #2
0
 public function manageAction()
 {
     // Navigation
     //    $this->view->navigation = $navigation = Engine_Api::_()->getApi('menus', 'core')
     //      ->getNavigation('group_main');
     // Form
     $this->view->formFilter = $formFilter = new Group_Form_Filter_Manage();
     $this->view->formValues = $values = $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();
     $membership = Engine_Api::_()->getDbtable('membership', 'group');
     $select = $membership->getMembershipsOfSelect($viewer);
     $table = Engine_Api::_()->getItemTable('group');
     $tName = $table->info('name');
     if ($values['view'] == 2) {
         $select->where("`{$tName}`.`user_id` = ?", $viewer->getIdentity());
     }
     if (!empty($values['text'])) {
         $select->where($table->getAdapter()->quoteInto("`{$tName}`.`title` LIKE ?", '%' . $values['text'] . '%') . ' OR ' . $table->getAdapter()->quoteInto("`{$tName}`.`description` LIKE ?", '%' . $values['text'] . '%'));
     }
     $this->view->paginator = $paginator = Zend_Paginator::factory($select);
     $this->view->text = $values['text'];
     $this->view->view = $values['view'];
     $paginator->setCurrentPageNumber($this->_getParam('page'));
 }
예제 #3
0
 public function manageAction()
 {
     // Render
     $this->_helper->content->setEnabled();
     // Form
     $this->view->formFilter = $formFilter = new Group_Form_Filter_Manage();
     $this->view->formValues = $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();
     $membership = Engine_Api::_()->getDbtable('membership', 'group');
     $select = $membership->getMembershipsOfSelect($viewer);
     $select->where('group_id IS NOT NULL');
     $table = Engine_Api::_()->getItemTable('group');
     $tName = $table->info('name');
     if ($values['view'] == 2) {
         $select->where("`{$tName}`.`user_id` = ?", $viewer->getIdentity());
     }
     if (!empty($values['text'])) {
         $select->where($table->getAdapter()->quoteInto("`{$tName}`.`title` LIKE ?", '%' . $values['text'] . '%') . ' OR ' . $table->getAdapter()->quoteInto("`{$tName}`.`description` LIKE ?", '%' . $values['text'] . '%'));
     }
     $this->view->paginator = $paginator = Zend_Paginator::factory($select);
     $this->view->text = $values['text'];
     $this->view->view = $values['view'];
     $paginator->setCurrentPageNumber($this->_getParam('page'));
     // Check create
     $this->view->canCreate = Engine_Api::_()->authorization()->isAllowed('group', null, 'create');
 }