Esempio n. 1
0
 /**
  * 
  * @return Ambigous <\Zend\View\Model\ViewModel, \Zend\View\Model\ViewModel>
  */
 public function newcampaignAction()
 {
     $needed_input = array('campaignname', 'startdate', 'enddate', 'maximpressions', 'maxspend');
     $initialized = $this->initialize();
     if ($initialized !== true) {
         return $initialized;
     }
     $this->validateInput($needed_input);
     $campaignname = $this->getRequest()->getPost('campaignname');
     $startdate = $this->getRequest()->getPost('startdate');
     $enddate = $this->getRequest()->getPost('enddate');
     $customername = $this->getRequest()->getPost('customername');
     $customerid = $this->getRequest()->getPost('customerid');
     if (!$customerid) {
         $customerid = "001";
     }
     $maximpressions = $this->getRequest()->getPost('maximpressions');
     $maxspend = $this->getRequest()->getPost('maxspend');
     $campaignid = $this->getRequest()->getPost('campaignid');
     $campaign_preview_id = $this->getRequest()->getPost('campaignpreviewid');
     $ispreview = $this->getRequest()->getPost('ispreview');
     $AdCampaignPreview = new \model\AdCampaignPreview();
     if ($campaignid != null && $ispreview != true) {
         /*
          * THIS METHOD CHECKS IF THERE IS AN EXISTING PREVIEW MODE CAMPAIGN
          * IF NOT, IT CHECKS THE ACL PERMISSIONS ON THE PRODUCTION BANNER/CAMPAIGN REFERENCED
          * THEN IT CREATES A PREVIEW VERSION OF THE AD CAMPAIGN
          */
         $update_data = array('type' => 'AdCampaignID', 'id' => $campaignid);
         $return_val = \transformation\TransformPreview::previewCheckAdCampaignID($campaignid, $this->auth, $update_data);
         if ($return_val !== null) {
             $campaign_preview_id = $return_val["AdCampaignPreviewID"];
         }
         $AdCampaignPreview->AdCampaignID = $campaignid;
     }
     if ($campaign_preview_id != null) {
         // ACL PREVIEW PERMISSIONS CHECK
         transformation\CheckPermissions::checkEditPermissionAdCampaignPreview($campaign_preview_id, $this->auth, $this->config_handle);
         $AdCampaignPreview->AdCampaignPreviewID = $campaign_preview_id;
         $params = array();
         $params["AdCampaignPreviewID"] = $campaign_preview_id;
         $AdCampaignPreviewFactory = \_factory\AdCampaignPreview::get_instance();
         $_AdCampaignPreview = $AdCampaignPreviewFactory->get_row($params);
         $AdCampaignPreview->AdCampaignID = $_AdCampaignPreview->AdCampaignID;
     }
     // else new campaign, ispreview is always true
     $AdCampaignPreview->UserID = $this->auth->getEffectiveUserID();
     $AdCampaignPreview->Name = $campaignname;
     $AdCampaignPreview->StartDate = date("Y-m-d H:i:s", strtotime($startdate));
     $AdCampaignPreview->EndDate = date("Y-m-d H:i:s", strtotime($enddate));
     $AdCampaignPreview->Customer = $customername;
     $AdCampaignPreview->CustomerID = $customerid;
     $AdCampaignPreview->ImpressionsCounter = 0;
     $AdCampaignPreview->MaxImpressions = $maximpressions;
     $AdCampaignPreview->CurrentSpend = 0;
     $AdCampaignPreview->MaxSpend = $maxspend;
     $AdCampaignPreview->Active = 1;
     $AdCampaignPreview->DateCreated = date("Y-m-d H:i:s");
     $AdCampaignPreview->DateUpdated = date("Y-m-d H:i:s");
     $AdCampaignPreview->ChangeWentLive = 0;
     $AdCampaignPreviewFactory = \_factory\AdCampaignPreview::get_instance();
     $AdCampaignPreviewFactory->saveAdCampaignPreview($AdCampaignPreview);
     $refresh_url = "/demand/?ispreview=true";
     $viewModel = new ViewModel(array('refresh_url' => $refresh_url));
     return $viewModel->setTemplate('dashboard-manager/demand/interstitial.phtml');
 }
 /**
  * 
  * @return Ambigous <\Zend\View\Model\ViewModel, \Zend\View\Model\ViewModel>
  */
 public function newcampaignAction()
 {
     $needed_input = array('campaignname', 'startdate', 'enddate', 'maximpressions', 'maxspend');
     $initialized = $this->initialize();
     if ($initialized !== true) {
         return $initialized;
     }
     $this->validateInput($needed_input);
     $campaignname = $this->getRequest()->getPost('campaignname');
     $startdate = $this->getRequest()->getPost('startdate');
     $enddate = $this->getRequest()->getPost('enddate');
     $customername = $this->getRequest()->getPost('customername');
     $customerid = $this->getRequest()->getPost('customerid');
     if (!$customerid) {
         $customerid = "001";
     }
     $maximpressions = $this->getRequest()->getPost('maximpressions');
     $maxspend = $this->getRequest()->getPost('maxspend');
     $campaignid = $this->getRequest()->getPost('campaignid');
     $campaign_preview_id = $this->getRequest()->getPost('campaignpreviewid');
     $ispreview = $this->getRequest()->getPost('ispreview');
     $AdCampaignPreview = new \model\AdCampaignPreview();
     if ($campaignid != null && $ispreview != true) {
         /*
          * THIS METHOD CHECKS IF THERE IS AN EXISTING PREVIEW MODE CAMPAIGN
          * IF NOT, IT CHECKS THE ACL PERMISSIONS ON THE PRODUCTION BANNER/CAMPAIGN REFERENCED
          * THEN IT CREATES A PREVIEW VERSION OF THE AD CAMPAIGN
          */
         $update_data = array('type' => 'AdCampaignID', 'id' => $campaignid);
         $return_val = \transformation\TransformPreview::previewCheckAdCampaignID($campaignid, $this->auth, $this->config_handle, $this->getServiceLocator()->get('mail.transport'), $update_data);
         if ($return_val !== null) {
             $campaign_preview_id = $return_val["AdCampaignPreviewID"];
         }
         $AdCampaignPreview->AdCampaignID = $campaignid;
     }
     if ($campaign_preview_id != null) {
         // ACL PREVIEW PERMISSIONS CHECK
         transformation\CheckPermissions::checkEditPermissionAdCampaignPreview($campaign_preview_id, $this->auth, $this->config_handle);
         $AdCampaignPreview->AdCampaignPreviewID = $campaign_preview_id;
         $params = array();
         $params["AdCampaignPreviewID"] = $campaign_preview_id;
         $AdCampaignPreviewFactory = \_factory\AdCampaignPreview::get_instance();
         $_AdCampaignPreview = $AdCampaignPreviewFactory->get_row($params);
         $AdCampaignPreview->AdCampaignID = $_AdCampaignPreview->AdCampaignID;
     }
     // else new campaign, ispreview is always true
     $AdCampaignPreview->UserID = $this->auth->getEffectiveUserID();
     $AdCampaignPreview->Name = $campaignname;
     $AdCampaignPreview->StartDate = date("Y-m-d H:i:s", strtotime($startdate));
     $AdCampaignPreview->EndDate = date("Y-m-d H:i:s", strtotime($enddate));
     $AdCampaignPreview->Customer = $customername;
     $AdCampaignPreview->CustomerID = $customerid;
     $AdCampaignPreview->ImpressionsCounter = 0;
     $AdCampaignPreview->MaxImpressions = $maximpressions;
     $AdCampaignPreview->CurrentSpend = 0;
     $AdCampaignPreview->MaxSpend = $maxspend;
     $AdCampaignPreview->Active = 1;
     $AdCampaignPreview->DateCreated = date("Y-m-d H:i:s");
     $AdCampaignPreview->DateUpdated = date("Y-m-d H:i:s");
     $AdCampaignPreview->ChangeWentLive = 0;
     $AdCampaignPreviewFactory = \_factory\AdCampaignPreview::get_instance();
     $new_campaign_preview_id = $AdCampaignPreviewFactory->saveAdCampaignPreview($AdCampaignPreview);
     if (!$this->is_admin && $new_campaign_preview_id !== null && $this->config_handle['mail']['subscribe']['campaigns'] === true) {
         // if this ad campaign was not created/edited by the admin, then send out a notification email
         $message = '<b>NginAd Demand Customer Campaign Added by ' . $this->true_user_name . '.</b><br /><br />';
         $message = $message . '<table border="0" width="10%">';
         $message = $message . '<tr><td><b>AdCampaignID: </b></td><td>' . $new_campaign_preview_id . '</td></tr>';
         $message = $message . '<tr><td><b>UserID: </b></td><td>' . $AdCampaignPreview->UserID . '</td></tr>';
         $message = $message . '<tr><td><b>Name: </b></td><td>' . $AdCampaignPreview->Name . '</td></tr>';
         $message = $message . '<tr><td><b>StartDate: </b></td><td>' . $AdCampaignPreview->StartDate . '</td></tr>';
         $message = $message . '<tr><td><b>EndDate: </b></td><td>' . $AdCampaignPreview->EndDate . '</td></tr>';
         $message = $message . '<tr><td><b>Customer: </b></td><td>' . $AdCampaignPreview->Customer . '</td></tr>';
         $message = $message . '<tr><td><b>CustomerID: </b></td><td>' . $AdCampaignPreview->CustomerID . '</td></tr>';
         $message = $message . '<tr><td><b>MaxImpressions: </b></td><td>' . $AdCampaignPreview->MaxImpressions . '</td></tr>';
         $message = $message . '<tr><td><b>MaxSpend: </b></td><td>' . $AdCampaignPreview->MaxSpend . '</td></tr>';
         $message = $message . '</table>';
         $subject = "NginAd Demand Customer Campaign Added by " . $this->true_user_name;
         $transport = $this->getServiceLocator()->get('mail.transport');
         $text = new Mime\Part($message);
         $text->type = Mime\Mime::TYPE_HTML;
         $text->charset = 'utf-8';
         $mimeMessage = new Mime\Message();
         $mimeMessage->setParts(array($text));
         $zf_message = new Message();
         $zf_message->addTo($this->config_handle['mail']['admin-email']['email'], $this->config_handle['mail']['admin-email']['name'])->addFrom($this->config_handle['mail']['reply-to']['email'], $this->config_handle['mail']['reply-to']['name'])->setSubject($subject)->setBody($mimeMessage);
         $transport->send($zf_message);
     }
     $refresh_url = "/demand/?ispreview=true";
     $viewModel = new ViewModel(array('refresh_url' => $refresh_url));
     return $viewModel->setTemplate('dashboard-manager/demand/interstitial.phtml');
 }