Ejemplo n.º 1
0
 /**
  * waitinlistAction
  *
  * Waiting list for group
  */
 public function waitinglistAction()
 {
     $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;
         $usrHasGrpModel = new Default_Model_UserHasGroup();
         $usrHasGrpWaitingModel = new Default_Model_UserHasGroupWaiting();
         $grpmodel = new Default_Model_Groups();
         $grp = $grpmodel->getGroupData($grpId);
         // Accept or deny button was pressed
         if ($this->getRequest()->isPost()) {
             // Get the IDs of the first and last selected user
             $firstUsrId = $this->getRequest()->getPost('accept_or_deny_first');
             $lastUsrId = $this->getRequest()->getPost('accept_or_deny_last');
             $privateMessagesModel = new Default_Model_PrivateMessages();
             // Accept or deny selected user
             for ($i = $firstUsrId; $i <= $lastUsrId; $i++) {
                 if ($this->getRequest()->getPost('select_' . $i) == 'accept') {
                     $usrHasGrpWaitingModel->removeUserWaitingFromGroup($grpId, $i);
                     $usrHasGrpModel->addUserToGroup($grpId, $i);
                     // Send privamessage
                     $usermessage = array();
                     $usermessage['privmsg_sender_id'] = 0;
                     $usermessage['privmsg_receiver_id'] = $i;
                     $usermessage['privmsg_header'] = $grp['group_name_grp'] . ' waiting list';
                     $link = $this->_urlHelper->url(array('groupid' => $grpId, 'language' => $this->view->language), 'group_shortview', true);
                     $usermessage['privmsg_message'] = 'You have been accepted to <a href="' . $link . '">' . $grp['group_name_grp'] . ' group.</a>';
                     $privateMessagesModel->addMessage($usermessage);
                 } else {
                     if ($this->getRequest()->getPost('select_' . $i) == 'deny') {
                         $usrHasGrpWaitingModel->removeUserWaitingFromGroup($grpId, $i);
                         // Send privamessage
                         $usermessage = array();
                         $usermessage['privmsg_sender_id'] = 0;
                         $usermessage['privmsg_receiver_id'] = $i;
                         $usermessage['privmsg_header'] = $grp['group_name_grp'] . ' waiting list';
                         $link = $this->_urlHelper->url(array('groupid' => $grpId, 'language' => $this->view->language), 'group_shortview', true);
                         $usermessage['privmsg_message'] = 'You have not been approved by the <a href="' . $link . '">' . $grp['group_name_grp'] . ' group.</a>';
                         $privateMessagesModel->addMessage($usermessage);
                     }
                 }
             }
         }
         $users = $usrHasGrpWaitingModel->getAllWaitingUsersInGroup($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);
         }
         $this->view->grp = $grp;
         $this->view->users = $users;
     } else {
         // If not logged, redirecting to system message page
         $message = 'You must login in!';
         $url = $this->_urlHelper->url(array('controller' => 'msg', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
         $this->flash($message, $url);
     }
 }
Ejemplo n.º 2
0
 /**
  * removecampaignlinkAction - Remove campaign link
  */
 public function removecampaignlinkAction()
 {
     // Get authentication
     $auth = Zend_Auth::getInstance();
     // If user has identity
     if ($auth->hasIdentity()) {
         $parentCmpId = $this->_request->getParam('parentcmpid');
         $this->view->parentcmpid = $parentCmpId;
         $childCmpId = $this->_request->getParam('childcmpid');
         $this->view->childcmpid = $childCmpId;
         if (!(isset($parentCmpId) && isset($childCmpId))) {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         $cmpModel = new Default_Model_Campaigns();
         $cmp = $cmpModel->getCampaignById($parentCmpId);
         $grpId = $cmp['id_grp_cmp'];
         $usrId = $auth->getIdentity()->user_id;
         $grpadminmodel = new Default_Model_GroupAdmins();
         if (!$grpadminmodel->userIsAdmin($grpId, $usrId)) {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         $cmphascmpmodel = new Default_Model_CampaignHasCampaign();
         $cmphascmpmodel->removeCampaignFromCampaign($parentCmpId, $childCmpId);
         $cmphascmpmodel->removeCampaignFromCampaign($childCmpId, $parentCmpId);
         // TODO:
         // Tell the user that the unlink was created.
         // Redirect back to the current campaign's page.
         $target = $this->_urlHelper->url(array('cmpid' => $parentCmpId, 'language' => $this->view->language), 'campaign_view', true);
         $this->_redirector->gotoUrl($target);
     } else {
         // If not logged, redirecting to system message page
         $message = 'content-link-not-logged';
         $url = $this->_urlHelper->url(array('controller' => 'msg', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
         $this->flash($message, $url);
     }
 }
Ejemplo n.º 3
0
 function leaveAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         // Get group id and user id.
         $grpId = $this->_request->getParam('groupid');
         $usrId = $auth->getIdentity()->user_id;
         $groupAdminsModel = new Default_Model_GroupAdmins();
         if ($groupAdminsModel->userIsAdmin($grpId, $usrId)) {
             // Group admin can't leave the group.
             $message = "You can't leave this group " . "because you're its admin.";
             $url = $this->_urlHelper->url(array('controller' => 'msg', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->flash($message, $url);
         } else {
             // Remove user from group.
             $usrHasGroupModel = new Default_Model_UserHasGroup();
             $usrHasGroupModel->removeUserFromGroup($grpId, $usrId);
         }
         // Redirect back to the group page.
         $target = $this->_urlHelper->url(array('groupid' => $grpId, 'language' => $this->view->language), 'group_shortview', true);
         $this->_redirector->gotoUrl($target);
     } else {
         // Not logged in - can't join a group.
         $target = $this->_urlHelper->url(array('controller' => 'index', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
         $this->_redirector->gotoUrl($target);
     }
 }