Beispiel #1
0
 /**
  * linkedgroupsAction
  *
  * @author Mikko Korpinen
  */
 public function linkedgroupsAction()
 {
     // User identity, group header and group menu:
     // Group id
     $grpId = $this->_request->getParam('groupid');
     $grpModel = new Default_Model_Groups();
     // Check if group exists
     if (!isset($grpId) || !$grpModel->groupExistsById($grpId)) {
         $target = $this->_urlHelper->url(array('controller' => 'group', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
         $this->_redirector->gotoUrl($target);
     }
     // Group data
     $grpData = $this->getGroupData($grpId);
     // Menudata
     $menuData['id_grp'] = $grpId;
     $menuData['grp_action'] = 'linkedgroups';
     $menuData['group_name_grp'] = $grpData['group_name_grp'];
     $menuData['grp_admins'] = $grpData['grp_admins'];
     // Set $this->view->...
     $this->view->grpData = $grpData;
     $this->view->menuData = $menuData;
     // Group membersAction special stuff:
     // Get linked groups
     $grpHasGrpModel = new Default_Model_GroupHasGroup();
     $linkedgroups = $grpHasGrpModel->getGroupGroups($grpId);
     $linkedgroups = array_merge($linkedgroups['parents'], $linkedgroups['childs']);
     $usrHasGrpModel = new Default_Model_UserHasGroup();
     $cmpModel = new Default_Model_Campaigns();
     $linkedgroups_new = array();
     foreach ($linkedgroups as $grp) {
         $grp['campaign_count'] = count($cmpModel->getCampaignsByGroup($grp['id_grp']));
         $grp['member_count'] = count($usrHasGrpModel->getAllUsersInGroup($grp['id_grp']));
         $linkedgroups_new[] = $grp;
     }
     // Set $this->view->...
     $this->view->linkedgroups = $linkedgroups_new;
 }
Beispiel #2
0
 /**
  * unlinkgroupAction
  *
  * Unlink group from group.
  */
 public function unlinkgroupAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $usrId = $auth->getIdentity()->user_id;
         $grpId = $this->_request->getParam('grpid');
         if (!isset($grpId)) {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'group', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         $this->view->grpid = $grpId;
         $grpmodel = new Default_Model_Groups();
         $grp = $grpmodel->getGroupData($grpId);
         // Is user group admin?
         $grpadminmodel = new Default_Model_GroupAdmins();
         if (!$grpadminmodel->userIsAdmin($grpId, $usrId)) {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'group', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         $grpHasGrpModel = new Default_Model_GroupHasGroup();
         $usrgrp = $grpHasGrpModel->getGroupGroups($grpId);
         if (!empty($usrgrp)) {
             $hasUserGroups = true;
             $usrgrp = array_merge($usrgrp['parents'], $usrgrp['childs']);
         } else {
             $hasUserGroups = false;
         }
         $this->view->grp = $grp;
         $this->view->usrgrp = $usrgrp;
         $this->view->hasUserGroups = $hasUserGroups;
     } else {
         // If not logged, redirecting to system message page
         $message = 'You must login in order to link groups!';
         $url = $this->_urlHelper->url(array('controller' => 'msg', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
         $this->flash($message, $url);
     }
 }