예제 #1
0
 public function signupAction()
 {
     $this->_helper->viewRenderer->setNoRender(true);
     if ($this->getRequest()->isPost()) {
         $signupForm = new Application_Form_Signup();
         if ($signupForm->isValid($this->getRequest()->getParams())) {
             //save new user
             $user = new Application_Model_Models_User($signupForm->getValues());
             $user->registerObserver(new Tools_Mail_Watchdog(array('trigger' => Tools_Mail_SystemMailWatchdog::TRIGGER_SIGNUP)));
             $user->setRoleId(Tools_Security_Acl::ROLE_MEMBER);
             if (isset($this->_helper->session->refererUrl)) {
                 $user->setReferer($this->_helper->session->refererUrl);
             }
             $signupResult = Application_Model_Mappers_UserMapper::getInstance()->save($user);
             if (!$user->getId()) {
                 $user->setId($signupResult);
             }
             //send mails by notifying mail observer about successful sign-up,
             $user->notifyObservers();
             //redirect to signup landing page
             $signupLandingPage = Tools_Page_Tools::getLandingPage(Application_Model_Models_Page::OPT_SIGNUPLAND);
             if ($signupLandingPage instanceof Application_Model_Models_Page) {
                 $this->_redirect($this->_helper->website->getUrl() . $signupLandingPage->getUrl());
                 exit;
             } else {
                 $this->_redirect($this->_helper->website->getUrl());
             }
         } else {
             $this->_helper->flashMessenger->addMessage(Tools_Content_Tools::proccessFormMessagesIntoHtml($signupForm->getMessages(), get_class($signupForm)));
             $signupPageUrl = $this->_helper->session->signupPageUrl;
             unset($this->_helper->session->signupPageUrl);
             $this->_redirect($this->_helper->website->getUrl() . ($signupPageUrl ? $signupPageUrl : ''));
         }
     }
 }
예제 #2
0
 public function manageformAction()
 {
     $formForm = new Application_Form_Form();
     $formPageConversionMapper = Application_Model_Mappers_FormPageConversionMapper::getInstance();
     $pageMapper = Application_Model_Mappers_PageMapper::getInstance();
     if ($this->getRequest()->isPost()) {
         if ($formForm->isValid($this->getRequest()->getParams())) {
             $formPageConversionModel = new Application_Model_Models_FormPageConversion();
             $formData = $this->getRequest()->getParams();
             $form = new Application_Model_Models_Form($this->getRequest()->getParams());
             $contactEmail = $form->getContactEmail();
             $validEmail = $this->validateEmail($contactEmail);
             if (isset($validEmail['error'])) {
                 $this->_helper->response->fail(Tools_Content_Tools::proccessFormMessagesIntoHtml(array('contactEmail' => $validEmail['error']), get_class($formForm)));
             }
             if (isset($formData['thankyouTemplate']) && $formData['thankyouTemplate'] != 'select') {
                 $trackingPageUrl = $this->_createTrackingPage($formData['name'], $formData['thankyouTemplate']);
             }
             $this->_addConversionCode();
             $formPageConversionModel->setFormName($formData['name']);
             $formPageConversionModel->setPageId($formData['pageId']);
             $formPageConversionModel->setConversionCode($formData['trackingCode']);
             $formPageConversionMapper->save($formPageConversionModel);
             Application_Model_Mappers_FormMapper::getInstance()->save($form);
             $this->_helper->cache->clean('', '', array(Widgets_Form_Form::WFORM_CACHE_TAG));
             $this->_helper->response->success($this->_helper->language->translate('Form saved'));
         } else {
             $this->_helper->response->fail(Tools_Content_Tools::proccessFormMessagesIntoHtml($formForm->getMessages(), get_class($formForm)));
         }
     }
     $formName = filter_var($this->getRequest()->getParam('name'), FILTER_SANITIZE_STRING);
     $pageId = $this->getRequest()->getParam('pageId');
     $trackingPageName = 'form-' . $formName . '-thank-you';
     $trackingPageUrl = $this->_helper->page->filterUrl($trackingPageName);
     $trackingPageExist = $pageMapper->findByUrl($trackingPageUrl);
     if (!empty($trackingPageExist)) {
         $trackingPageResultUrl = $trackingPageUrl;
     }
     $form = Application_Model_Mappers_FormMapper::getInstance()->findByName($formName);
     $mailTemplates = Tools_Mail_Tools::getMailTemplatesHash();
     $regularPageTemplates = Application_Model_Mappers_TemplateMapper::getInstance()->findByType(Application_Model_Models_Template::TYPE_REGULAR);
     $conversionCode = $formPageConversionMapper->getConversionCode($formName, $pageId);
     if (!empty($conversionCode)) {
         $formForm->getElement('trackingCode')->setValue($conversionCode[0]->getConversionCode());
     }
     $formForm->getElement('name')->setValue($formName);
     $formForm->getElement('replyMailTemplate')->setMultioptions(array_merge(array(0 => 'select template'), $mailTemplates));
     if ($form !== null) {
         $formForm->populate($form->toArray());
     }
     $this->view->trackingPageUrl = $trackingPageResultUrl;
     $this->view->regularTemplates = $regularPageTemplates;
     $this->view->pageId = $pageId;
     $this->view->formForm = $formForm;
     $this->view->helpSection = 'editform';
 }
 public function featuredAction()
 {
     $featuredForm = new Application_Form_Featured();
     if ($this->getRequest()->isPost()) {
         if ($featuredForm->isValid($this->getRequest()->getParams())) {
             $featuredArea = new Application_Model_Models_Featuredarea($featuredForm->getValues());
             Application_Model_Mappers_FeaturedareaMapper::getInstance()->save($featuredArea);
             $this->_helper->response->success('Added');
             exit;
         } else {
             $this->_helper->response->fail(Tools_Content_Tools::proccessFormMessagesIntoHtml($featuredForm->getMessages(), get_class($featuredForm)));
         }
     }
     $pageId = $this->getRequest()->getParam('pid');
     $this->view->pageId = $pageId;
     $this->view->faForm = $featuredForm;
     if (isset($this->_helper->session->faPull)) {
         unset($this->_helper->session->faPull);
     }
 }
예제 #4
0
 public function sculptingAction()
 {
     $siloForm = new Application_Form_Silo();
     if ($this->getRequest()->isPost()) {
         if ($siloForm->isValid($this->getRequest()->getParams())) {
             $silo = new Application_Model_Models_Silo($siloForm->getValues());
             if (Application_Model_Mappers_SiloMapper::getInstance()->save($silo)) {
                 $this->_helper->response->success('Silo added.');
             }
         } else {
             $this->_helper->response->fail(Tools_Content_Tools::proccessFormMessagesIntoHtml($siloForm->getMessages(), get_class($siloForm)));
         }
     }
     $this->view->helpSection = 'sculpting';
     $this->view->siloForm = $siloForm;
 }