| Current Path : /var/www/v3.cesa.co.za/src/ContactBundle/Controller/ |
| Current File : /var/www/v3.cesa.co.za/src/ContactBundle/Controller/DefaultController.php |
<?php
namespace App\ContactBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Form\FormError;
use Symfony\Component\HttpFoundation\Request;
use App\ContactBundle\Form\Type\ContactUsType;
use App\ContactBundle\Form\Type\ReferType;
use App\ContactBundle\Form\Type\SendTAFriendType;
use App\CoreBundle\Services\ServiceGetterManager;
class DefaultController extends AbstractController {
public function indexAction(Request $request, ServiceGetterManager $sg) {
try {
$contactUsForm = $this->createForm(ContactUsType::class);
$referrer = $sg->get('session_values.manager')->getValue(array('value_name' => 'contact_us_referrer'));
if (strlen($referrer) <= 0) {
$sg->get('session_values.manager')->setValue(array('value_name' => 'contact_us_referrer', 'value' => $request->headers->get('referer')));
}
if ($request->getMethod() == 'POST') {
$contactUsForm->handleRequest($request);
if ($contactUsForm->isValid()) {
$requestValues = $contactUsForm->getData();
$testCreate = $sg->get('contact_message.manager')->sendContactUs($requestValues);
if (strlen($testCreate) <= 0) {
return $this->render('@ContactBundle/Default/contact.us.success.html.twig');
} else {
$contactUsForm->get('fromName')->addError(new FormError($testCreate));
}
} else {
$this->get('session')->getFlashBag()->add(
'error', 'Unable to send your message. Please check the form and try again.'
);
}
}
} catch (\Exception $ex) {
$logger = $sg->get('error_log.manager');
$logger->error('Error on send to a friend page: ' . $ex->getMessage());
return $this->redirect($this->generateUrl('iga_core_500', array('message' => $ex->getMessage() . ' - ' . $ex->getTraceAsString())));
}
return $this->render(
'@ContactBundle/Default/index.html.twig', array(
'form' => $contactUsForm->createView()
)
);
}
public function sendTAFriendAction(Request $request, ServiceGetterManager $sg) {
try {
$backToURL = $this->generateUrl('iga_core_home');
$request = $request;
$sendTAFriendForm = $this->createForm(SendTAFriendType::class);
$contentId = $request->get('contentId', '');
$contentArr = $sg->get('content.manager')->getContentObject($contentId);
if (strlen($contentId) > 0) {
$backToURL = $this->generateUrl('iga_content_page', array('contentId' => $contentId));
}
if ($request->getMethod() == 'POST') {
$sendTAFriendForm->handleRequest($request);
if ($sendTAFriendForm->isValid()) {
$requestValues = $request->get('send_ta_friend');
$requestValues['contentId'] = $contentId;
$testCreate = $sg->get('contact_message.manager')->sendTAFriend($requestValues);
if (strlen($testCreate) <= 0) {
return $this->render(
'@ContactBundle/Default/send.ta.friend.success.html.twig', array(
'contentId' => $contentId,
'contentArr' => $contentArr
)
);
} else {
$sendTAFriendForm->get('fromName')->addError(new FormError($testCreate));
}
}
}
} catch (\Exception $ex) {
$logger = $sg->get('error_log.manager');
$logger->error('Error on send to a friend page: ' . $ex->getMessage());
return $this->redirect($this->generateUrl('iga_core_500', array('message' => $ex->getMessage() . ' - ' . $ex->getTraceAsString())));
}
return $this->render(
'@ContactBundle/Default/send.ta.friend.html.twig', array(
'backToURL' => $backToURL, 'form' => $sendTAFriendForm->createView(), 'contentId' => $contentId,
'contentArr' => $contentArr
)
);
}
public function referAction(Request $request, ServiceGetterManager $sg, $cultureString = '') {
try {
$referForm = $this->createForm(ReferType::class);
if ($request->getMethod() == 'POST') {
$referForm->handleRequest($request);
if ($referForm->isValid()) {
$requestValues = $referForm->getData();
$testCreate = $sg->get('contact_message.manager')->sendRefer($requestValues);
if (strlen($testCreate) <= 0) {
return $this->render('@ContactBundle/Default/refer.success.html.twig');
} else {
$referForm->get('fromName')->addError(new FormError($testCreate));
}
} else {
$this->get('session')->getFlashBag()->add(
'error', 'Unable to send your message. Please check the form and try again.'
);
}
}
} catch (\Exception $ex) {
$logger = $sg->get('error_log.manager');
$logger->error('Error on refer a friend page: ' . $ex->getMessage());
return $this->redirect($this->generateUrl('iga_core_500', array('message' => $ex->getMessage() . ' - ' . $ex->getTraceAsString())));
}
return $this->render('@ContactBundle/Default/refer.html.twig', array('form' => $referForm->createView()));
}
public function acceptAction(Request $request, ServiceGetterManager $sg) {
try {
$userListManager = $sg->get('user_list.manager');
$inviteId = $request->get('inviteId');
$userList = $userListManager->find($inviteId);
if (!is_object($userList)) {
throw new \Exception('Invalid invitation. Please click on your invite again, or copy and paste the URL carefully');
}
$userListManager->doLogin($request, $userList);
$this->get('session')->getFlashBag()->add('success', 'Thank you for accepting the invite. Please complete your details to confirm your account information.');
return $this->redirect($this->generateUrl('iga_user_my_details'));
} catch (\Exception $ex) {
$logger = $sg->get('error_log.manager');
$logger->error('Error on refer a friend accept page: ' . $ex->getMessage());
return $this->redirect($this->generateUrl('iga_core_500', array('message' => $ex->getMessage() . ' - ' . $ex->getTraceAsString())));
}
}
}