/** * createAction * * Show the campaign creation page */ public function createAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $usrId = $auth->getIdentity()->user_id; $grpId = $this->_request->getParam('grpid'); if (!$grpId) { $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'list', 'language' => $this->view->language), 'lang_default', true); $this->_redirector->gotoUrl($redirectUrl); } $grpAdminModel = new Default_Model_GroupAdmins(); if (!$grpAdminModel->userIsAdmin($grpId, $usrId)) { // Only group admins can create campaigns. $target = $this->_urlHelper->url(array('groupid' => $grpId, 'language' => $this->view->language), 'group_shortview', true); $this->_redirector->gotoUrl($target); } $this->view->grpid = $grpId; // Add the "add new campaign"-form to the view. $form = new Default_Form_AddCampaignForm(); $this->view->form = $form; // Handle posted form. $request = $this->getRequest(); if ($request->isPost()) { $post = $request->getPost(); if ($form->isValid($post)) { $campaignModel = new Default_Model_Campaigns(); $name = $post['campaign_name']; $ingress = $post['campaign_ingress']; $desc = $post['campaign_desc']; $start = $post['campaign_start']; $end = $post['campaign_end']; $newCampaign = $campaignModel->createCampaign($name, $ingress, $desc, $start, $end, $grpId); // Set weblinks $campaignWeblinksModel = new Default_Model_CampaignWeblinks(); if (isset($post['weblinks_name_site1']) && isset($post['weblinks_url_site1'])) { $campaignWeblinksModel->setWeblink($newCampaign['id_cmp'], $post['weblinks_name_site1'], $post['weblinks_url_site1'], 1); } if (isset($post['weblinks_name_site2']) && isset($post['weblinks_url_site2'])) { $campaignWeblinksModel->setWeblink($newCampaign['id_cmp'], $post['weblinks_name_site2'], $post['weblinks_url_site2'], 2); } if (isset($post['weblinks_name_site3']) && isset($post['weblinks_url_site3'])) { $campaignWeblinksModel->setWeblink($newCampaign['id_cmp'], $post['weblinks_name_site3'], $post['weblinks_url_site3'], 3); } if (isset($post['weblinks_name_site4']) && isset($post['weblinks_url_site4'])) { $campaignWeblinksModel->setWeblink($newCampaign['id_cmp'], $post['weblinks_name_site4'], $post['weblinks_url_site4'], 4); } if (isset($post['weblinks_name_site5']) && isset($post['weblinks_url_site5'])) { $campaignWeblinksModel->setWeblink($newCampaign['id_cmp'], $post['weblinks_name_site5'], $post['weblinks_url_site5'], 5); } $target = $this->_urlHelper->url(array('groupid' => $grpId, 'language' => $this->view->language), 'group_shortview', true); $this->_redirector->gotoUrl($target); } } } else { $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'list', 'language' => $this->view->language), 'lang_default', true); $this->_redirector->gotoUrl($redirectUrl); } }
/** * createAction * * Show the campaign creation page */ public function createAction() { $auth = Zend_Auth::getInstance(); if ($auth->hasIdentity()) { $usrId = $auth->getIdentity()->user_id; $grpId = $this->_request->getParam('grpid'); if (!$grpId) { $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'list', 'language' => $this->view->language), 'lang_default', true); $this->_redirector->gotoUrl($redirectUrl); } // TODO: // if (!userIsAdminInGroup(grpid)) die; $this->view->grpid = $grpId; // Add the "add new campaign"-form to the view. $form = new Default_Form_AddCampaignForm(); $this->view->form = $form; // Handle posted form. $request = $this->getRequest(); if ($request->isPost()) { $post = $request->getPost(); if ($form->isValid($post)) { $campaignModel = new Default_Model_Campaigns(); $name = $post['campaign_name']; $ingress = $post['campaign_ingress']; $desc = $post['campaign_desc']; $start = $post['campaign_start']; $end = $post['campaign_end']; $newCampaign = $campaignModel->createCampaign($name, $ingress, $desc, $start, $end, $grpId); // Redirect back to campaigns page. $target = $this->_urlHelper->url(array('groupid' => $grpId, 'language' => $this->view->language), 'group_shortview', true); $this->_redirector->gotoUrl($target); } } } else { $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'list', 'language' => $this->view->language), 'lang_default', true); $this->_redirector->gotoUrl($redirectUrl); } }