Ejemplo n.º 1
0
 private function getCampaignTitle()
 {
     $cmpModel = new Default_Model_Campaigns();
     $cmp = $cmpModel->getCampaignById($this->id);
     return $cmp->name_cmp;
 }
Ejemplo n.º 2
0
 /**
  * linkAction
  *
  * Link content to campaign.
  */
 public function linkAction()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $usrId = $auth->getIdentity()->user_id;
         $cmpId = $this->_request->getParam('cmpid');
         if (!isset($cmpId)) {
             $redirectUrl = $this->_urlHelper->url(array('controller' => 'campaign', 'action' => 'index', 'language' => $this->view->language), 'lang_default', true);
             $this->_redirector->gotoUrl($redirectUrl);
         }
         $this->view->cmpid = $cmpId;
         $cmpmodel = new Default_Model_Campaigns();
         $cmp = $cmpmodel->getCampaignById($cmpId);
         $usrmodel = new Default_Model_User();
         $usrcnt = $usrmodel->getUserContent($usrId);
         if (!empty($usrcnt)) {
             $cmpcnt = $cmpmodel->getAllContentsInCampaign($cmpId);
             $cnt = array();
             foreach ($usrcnt as $usercontent) {
                 if (!$this->checkIfArrayHasKeyWithValue($cmpcnt, 'id_cnt', $usercontent['id_cnt'])) {
                     $cnt[] = $usercontent;
                 }
             }
             $hasUserContents = true;
         } else {
             $hasUserContents = false;
         }
         $this->view->cmp = $cmp;
         $this->view->usrcnt = $cnt;
         $this->view->hasUserContents = $hasUserContents;
     } else {
         // If not logged, redirecting to system message page
         $message = 'campaign-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 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.º 4
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);
     }
 }