Example #1
0
 function createAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         // Add the "add new group"-form to the view.
         $form = new Default_Form_AddGroupForm();
         $this->view->form = $form;
         // If the form is posted and valid, add the new group to db.
         $request = $this->getRequest();
         if ($request->isPost()) {
             $post = $request->getPost();
             if ($form->isValid($post)) {
                 // Add new group to db.
                 $groupModel = new Default_Model_Groups();
                 $newGroupId = $groupModel->createGroup($this->replaceWhitespace($post['groupname']), $post['grouptype'], $post['groupdesc'], $post['groupbody']);
                 // Set weblinks
                 $groupWeblinksModel = new Default_Model_GroupWeblinks();
                 if (isset($post['weblinks_name_site1']) && isset($post['weblinks_url_site1'])) {
                     $groupWeblinksModel->setWeblink($newGroupId, $post['weblinks_name_site1'], $post['weblinks_url_site1'], 1);
                 }
                 if (isset($post['weblinks_name_site2']) && isset($post['weblinks_url_site2'])) {
                     $groupWeblinksModel->setWeblink($newGroupId, $post['weblinks_name_site2'], $post['weblinks_url_site2'], 2);
                 }
                 if (isset($post['weblinks_name_site3']) && isset($post['weblinks_url_site3'])) {
                     $groupWeblinksModel->setWeblink($newGroupId, $post['weblinks_name_site3'], $post['weblinks_url_site3'], 3);
                 }
                 if (isset($post['weblinks_name_site4']) && isset($post['weblinks_url_site4'])) {
                     $groupWeblinksModel->setWeblink($newGroupId, $post['weblinks_name_site4'], $post['weblinks_url_site4'], 4);
                 }
                 if (isset($post['weblinks_name_site5']) && isset($post['weblinks_url_site5'])) {
                     $groupWeblinksModel->setWeblink($newGroupId, $post['weblinks_name_site5'], $post['weblinks_url_site5'], 5);
                 }
                 // Add the current user to the new group.
                 $userHasGroupModel = new Default_Model_UserHasGroup();
                 $userHasGroupModel->addUserToGroup($newGroupId, $this->view->userid);
                 // Make the current user an admin for the new group.
                 $groupAdminModel = new Default_Model_GroupAdmins();
                 $groupAdminModel->addAdminToGroup($newGroupId, $this->view->userid);
                 $target = $this->_urlHelper->url(array('groupid' => $newGroupId, 'language' => $this->view->language), 'group_shortview', true);
                 $this->_redirector->gotoUrl($target);
             }
         }
     } else {
         // Not logged in.
         $target = $this->_urlHelper->url(array('controller' => 'groupsandcampaigns', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
         $this->_redirector->gotoUrl($target);
     }
 }
Example #2
0
 /**
  * infoAction
  *
  * @author Mikko Korpinen
  */
 public function infoAction()
 {
     // 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'] = 'info';
     $menuData['group_name_grp'] = $grpData['group_name_grp'];
     $menuData['grp_admins'] = $grpData['grp_admins'];
     // Set $this->view->...
     $this->view->menuData = $menuData;
     // Group infoAction special stuff:
     // Group weblinks
     $groupWeblinksModel = new Default_Model_GroupWeblinks();
     $grpData['groupWeblinks'] = $groupWeblinksModel->getGroupWeblinks($grpId);
     $i = 0;
     foreach ($grpData['groupWeblinks'] as $weblink) {
         if (strlen($weblink['name_gwl']) == 0 || strlen($weblink['url_gwl']) == 0) {
             unset($grpData['groupWeblinks'][$i]);
         }
         $i++;
     }
     // Group files
     $filesModel = new Default_Model_Files();
     $files = $filesModel->getFilenames($grpId, "group");
     // Set $this->view->...
     $this->view->grpData = $grpData;
     $this->view->files = $files;
 }
Example #3
0
 /**
  *   removeGroup
  *   Removes the group from the database
  *
  *   @param int id_grp
  *   @author Mikko Aatola
  */
 public function removeGroup($id_grp = 0)
 {
     if (!$id_grp) {
         return false;
     }
     // Delete the group's campaigns.
     $data = $this->_db->select()->from('campaigns_cmp', 'id_cmp')->where('id_grp_cmp = ?', $id_grp);
     $campaigns = $this->_db->fetchAll($data);
     $cmpModel = new Default_Model_Campaigns();
     foreach ($campaigns as $cmp) {
         $cmpModel->removeCampaign($cmp['id_cmp']);
     }
     // Delete group weblinks
     $grpWeblinksModel = new Default_Model_GroupWeblinks();
     $grpWeblinksModel->removeGroupWeblinks($id_grp);
     // Delete group-admin links from grp_has_admin_usr.
     $grpAdm = new Default_Model_GroupAdmins();
     $grpAdm->removeAdminsFromGroup($id_grp);
     // Delete groups files
     $filesModel = new Default_Model_Files();
     $filesModel->removeFiles($id_grp, "group");
     // Delete group.
     $where = $this->getAdapter()->quoteInto('id_grp = ?', $id_grp);
     $this->delete($where);
 }