Ejemplo n.º 1
0
 function endAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $cmpId = $this->_request->getParam('id');
         if (!$cmpId) {
             $target = $this->_urlHelper->url(array('controller' => 'index', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($target);
         }
         // Get group id from campaign info.
         $cmpModel = new Default_Model_Campaigns();
         $cmp = $cmpModel->getCampaignById($cmpId)->toArray();
         $grpId = $cmp['id_grp_cmp'];
         // Only group admins can end campaign.
         $grpAdminsModel = new Default_Model_GroupAdmins();
         $grpAdmins = $grpAdminsModel->getGroupAdmins($grpId);
         $userIsGroupAdmin = $this->checkIfArrayHasKeyWithValue($grpAdmins, 'id_usr', $auth->getIdentity()->user_id);
         if (!$userIsGroupAdmin) {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         // Check if campaign status is ended
         $status = $cmpModel->getStatus($cmpId);
         if ($status === "ended") {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         // Chang end date to yesterday
         $cmpModel->endCampaign($cmpId, $cmp['start_time_cmp']);
         // Redirect back to the campaign page.
         $target = $this->_urlHelper->url(array('cmpid' => $cmpId, 'language' => $this->view->language), 'campaign_view', true);
         $this->_redirector->gotoUrl($target);
     } else {
         // Not logged in.
         $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
         $this->_redirector->gotoUrl($redirectUrl);
     }
 }
Ejemplo n.º 2
0
 /**
  * viewAction
  *
  * Show the campaign view page
  */
 public function viewAction()
 {
     $auth = Zend_Auth::getInstance();
     $user = $auth->getIdentity();
     $cmpid = $this->_request->getParam('cmpid');
     // Get campaign & its contents.
     $cmpmodel = new Default_Model_Campaigns();
     $cmp = $cmpmodel->getCampaignById($cmpid)->toArray();
     $cmp['ingress_cmp'] = str_replace("\n", '<br>', $cmp['ingress_cmp']);
     $cmp['description_cmp'] = str_replace("\n", '<br>', $cmp['description_cmp']);
     $cnts = $cmpmodel->getAllContentsInCampaign($cmpid);
     // If user has identity
     if ($auth->hasIdentity()) {
         $this->view->identity = true;
         $uhgModel = new Default_Model_UserHasGroup();
         $this->view->userHasGroup = $uhgModel->userHasGroup($cmp['id_grp_cmp'], $user->user_id);
         // Get group admins.
         $grpAdminsModel = new Default_Model_GroupAdmins();
         $grpAdmins = $grpAdminsModel->getGroupAdmins($cmp['id_grp_cmp']);
         $this->view->userIsGroupAdmin = $this->checkIfArrayHasKeyWithValue($grpAdmins, 'id_usr', $user->user_id);
     } else {
         $this->view->identity = false;
     }
     // Campaign weblinks
     $campaignWeblinksModel = new Default_Model_CampaignWeblinks();
     $cmp['campaignWeblinks'] = $campaignWeblinksModel->getCampaignWeblinks($cmpid);
     $i = 0;
     foreach ($cmp['campaignWeblinks'] as $weblink) {
         if (strlen($weblink['name_cwl']) == 0 || strlen($weblink['url_cwl']) == 0) {
             unset($cmp['campaignWeblinks'][$i]);
         }
         $i++;
     }
     // Get group info.
     $grpmodel = new Default_Model_Groups();
     $grp = $grpmodel->getGroupData($cmp['id_grp_cmp']);
     $grpname = $grp['group_name_grp'];
     // Get campaign campaigns
     $cmpHasCmpModel = new Default_Model_CampaignHasCampaign();
     $linkedcampaigns = $cmpHasCmpModel->getCampaignCampaigns($cmpid);
     $linkedcampaigns = array_merge($linkedcampaigns['parents'], $linkedcampaigns['childs']);
     $comments = new Oibs_Controller_Plugin_Comments("campaign", $cmpid);
     if ($this->view->identity) {
         $comments->allowComments(true);
     }
     $this->view->jsmetabox->append('commentUrls', $comments->getUrls());
     $comments->loadComments();
     $this->view->hasFeeds = Oibs_Controller_Plugin_RssReader::hasFeeds($cmpid, "campaign");
     $this->view->comments = $comments;
     $this->view->campaign = $cmp;
     $this->view->cmpcnts = $cnts;
     $this->view->grpname = $grpname;
     $this->view->linkedcampaigns = $linkedcampaigns;
     $this->view->status = $cmpmodel->getStatus($cmpid);
 }