Ejemplo n.º 1
0
 public function detailsAction()
 {
     $variables = array();
     $query = $this->getServiceLocator()->get('wrapperQuery');
     $pressModel = new \CMS\Model\Press($query);
     $newsId = $this->params('id');
     $newsDetails = $pressModel->getMoreDetails($newsId);
     // if type is page .. so it will return null
     if (is_null($newsDetails)) {
         $url = $this->getEvent()->getRouter()->assemble(array('action' => 'resourceNotFound'), array('name' => 'resource_not_found'));
         $this->redirect()->toUrl($url);
     }
     $form = new \DefaultModule\Form\ContactUsForm();
     $request = $this->getRequest();
     //checking if we got a new post request
     if ($request->isPost()) {
         $data = $request->getPost()->toArray();
         $inputFilter = $form->getInputFilter();
         // adding custom value for ignored fields
         $url = '';
         $data["subject"] = \Notifications\Service\MailSubjects::SEND_TO_FRIEND;
         $data["message"] = 'Check This out ' . $url;
         $data["name"] = '';
         $form->setData($data);
         //ignored Fields
         $input = $inputFilter->get('name');
         $input->setRequired(false);
         $input = $inputFilter->get('subject');
         $input->setRequired(false);
         $input = $inputFilter->get('message');
         $input->setRequired(false);
         // checking if the form is valid
         if ($form->isValid()) {
             $sTF = $this->getServiceLocator()->get('CMS\\Service\\STF');
             $submissionResult = $sTF->submitMessage($data, $form);
             $variables['messages'] = $submissionResult['messages'];
             $variables['status'] = $submissionResult['status'];
         }
     }
     $variables['form'] = $this->getFormView($form);
     $variables['details'] = $newsDetails[0];
     return new ViewModel($variables);
 }
Ejemplo n.º 2
0
 /**
  * Submit contact us message
  * 
  * @access public
  * @param array $data
  * @param DefaultModule\Form\ContactUsForm $form
  * @return boolean true if message is sent successfully
  * @throws \Exception To email is not set
  */
 public function submitMessage($data, $form)
 {
     $submissionResult = array();
     $forceFlush = APPLICATION_ENV == "production" ? false : true;
     $cachedSystemData = $this->systemCacheHandler->getCachedSystemData($forceFlush);
     $settings = $cachedSystemData[CacheHandler::SETTINGS_KEY];
     $toArray = array();
     if (array_key_exists(Settings::OPERATIONS_EMAIL, $settings) && array_key_exists(Settings::ADMIN_EMAIL, $settings)) {
         $toArray[] = $settings[Settings::OPERATIONS_EMAIL];
         $toArray[] = $settings[Settings::ADMIN_EMAIL];
     }
     if (count($toArray) == 0) {
         throw new \Exception("To email is not set");
     }
     $mailArray = array('to' => $toArray, 'from' => $data['email'], 'templateName' => MailTempates::CONTACT_US_TEMPLATE, 'templateParameters' => array("data" => $data), 'subject' => MailSubjects::CONTACT_US_SUBJECT);
     $this->notification->notify($mailArray);
     $submissionResult[]['message'] = "Your message has been submitted successfully.";
     $submissionResult['messages'] = $submissionResult;
     $submissionResult['status'] = true;
     // clear form
     $form->setData(array('name' => '', 'subject' => '', 'message' => '', 'email' => ''));
     return $submissionResult;
 }