public function addAction() { /* * ********************************* */ // variable $baseDir = $this->view->baseUrl(); $returnModule = $this->_request->getParam('returnModule'); $returnAction = $this->_request->getParam('returnAction'); $this->view->assign('returnModule', $returnModule); $this->view->assign('returnAction', $returnAction); $config = Zend_Registry::get('config'); $current_state = $config->address->default->states; $currentCity = ''; $this->view->assign('selectedState', $current_state); if (!$this->_request->isPost() && !$this->_request->getParam('email')) { $form = new FormProfileVerification(); $this->view->assign('form', $form); $this->renderScript('index/add-verification.phtml'); } else { if ($this->_request->isPost() && isset($_POST['email_verification'])) { $formData = $this->_request->getPost(); $form = new FormProfileVerification(); $form->populate($formData); if (!$form->isValid($formData)) { $this->view->assign('form', $form); $this->renderScript('index/add-verification.phtml'); return; } $email = $form->getValue('email_verification'); $profile = new GenericProfile(); $member = $profile->findMembers(array('email' => $email)); if (empty($member)) { $this->_redirect(str_replace($this->view->baseUrl(), '', $this->view->url(array('module' => 'profile', 'controller' => 'index', 'action' => 'add', 'email' => $email)))); } else { $this->view->assign('member_id', $member[0]['member_id']); $this->view->assign('member_email', $email); $this->renderScript('index/add-email-found.phtml'); } } else { if ($returnModule != '' && $returnAction != '') { $cancelUrl = $this->view->url(array('module' => $returnModule, 'action' => $returnAction, 'returnModule' => null, 'returnAction' => null, 'email' => null)); } else { $cancelUrl = $this->view->url(array('action' => 'list', 'email' => null)); } /* * ********************************* */ // variable $newsletterCategories = $this->view->GetAllNewsletterCategories(); $newsletterCategories = $newsletterCategories->toArray(); $this->view->assign('newsletterCategories', $newsletterCategories); /* * ********************************* */ // form $form = new FormProfile(array('baseDir' => $baseDir, 'cancelUrl' => $cancelUrl, 'langId' => $this->_defaultInterfaceLanguage)); if ($form->getSubForm('membersForm')) { $form->getSubForm('membersForm')->getElement("password")->setRequired(true); $form->getSubForm('membersForm')->getElement("password")->addValidator('NotEmpty', true, array('messages' => array('isEmpty' => "Veuillez entrer un mot de passe"))); } // if ($this->_request->isPost()) // { // $statePost = ''; // $cityPost = ''; // // foreach ($_POST as $subForm => $post) // { // if (is_array($post) && array_key_exists('A_StateId', $post)) // { // $state = $form->getsubForm($subForm)->getElement('A_StateId'); // $statePost .= $post['A_StateId']; // $statePost .= ';'; // // if (array_key_exists('A_CityId', $post)) // { // $city = $form->getsubForm($subForm)->getElement('A_CityId'); // $cityPost .= $post['A_CityId']; // $cityPost .= ';'; // } // // if (isset($post['A_CountryId']) && !empty($post['A_CountryId'])) // { // $states = Cible_FunctionsGeneral::getStatesByCountry($post['A_CountryId']); // foreach ($states as $_state) // $state->addMultiOption($_state['ID'], $_state['Name']); // } // // if (isset($post['A_StateId']) && !empty($post['A_StateId'])) // { // $cities = Cible_FunctionsGeneral::getCities(null, null, $post['A_StateId']); // foreach ($cities as $_city) // $city->addMultiOption($_city['id'], $_city['name']); // } // } // } // $currentCity = (empty($cityPost)) ? substr($currentCity, 0, -1) : substr($cityPost, 0, -1); // $current_state = (empty($cstatePost)) ? substr($current_state, 0, -1) : substr($statePost, 0, -1); // } if ($this->_request->isPost()) { $data = $this->_request->getPost(); $currentCity = $data['retailerForm']['A_CityId']; $current_state = $data['membersForm']['addressFact']['A_StateId'] . $this->_separ; $current_state .= $data['membersForm']['addressShipping']['A_StateId'] . $this->_separ; $current_state .= $data['retailerForm']['A_StateId']; // ksort($data); // $tmpPostAddr = $this->_statesCitiesList($data, $form); // $currentCity = substr($tmpPostAddr['currentCity'], 0, strlen($tmpPostAddr['currentCity'])-1); // $current_state = substr($tmpPostAddr['currentState'], 0, strlen($tmpPostAddr['currentState'])-1); } $this->view->assign('selectedCity', $currentCity); $this->view->assign('selectedState', $current_state); if ($form->getSubForm('membersForm')) { $memberForm = $form->getSubForm('membersForm'); $state = $memberForm->getElement('state'); } $this->view->assign('form', $form); if ($this->_request->isPost()) { $formData = $this->_request->getPost(); // if( $formData['membersForm']['isRetailer'] == 1 ) { // $form->getSubForm('membersForm')->getElement("validatorID")->removeValidator('greaterThan'); // } if ($form->getSubForm('membersForm')) { $oAddress = new AddressObject(); // Get the addresses data to insert $addressFact = $formData['membersForm']['addressFact']; $addressShipping = $formData['membersForm']['addressShipping']; $addressRetailer = $formData['retailerForm']; $addressRetailerEn = $formData['retailerFormEn']; //Remove data form form if the shipping address is the same as bill if ($addressShipping['duplicate'] == 1) { $subFormShip = $form->getSubForm('addressShipping'); foreach ($subFormShip as $key => $value) { $value->clearValidators()->setRequired(false); } unset($formData['addressShipping']); } //If customer doesn't want to add data on website, set to false the field name if ($addressRetailer['isDistributeur'] == 1) { $form->getSubForm('retailerForm')->getElement('AI_Name')->clearValidators()->setRequired(false); } $form->removeSubForm('addressShipping'); } if ($form->isValid($formData)) { $memberID = ''; //remove addresses unset($formData['addressFact'], $formData['addressShipping'], $formData['addressDetaillant']); if (array_key_exists('genericForm', $formData)) { $genericForm = $formData['genericForm']; $genericProfil = new GenericProfile(); $members = $genericProfil->findMembers(array('email' => $genericForm['email'])); if (count($members) == 0) { $memberID = $genericProfil->addMember($genericForm); } else { $form->getSubForm('genericForm')->getElement('email')->addError($this->view->getCibleText('validation_message_used_email')); $cancelUrl = ''; } } if (array_key_exists('newsletterForm', $formData)) { $newsletterForm = $formData['newsletterForm']; $newsletterProfile = new NewsletterProfile(); $cat = ''; foreach ($newsletterForm as $item => $val) { if ($val == 1) { if ($cat == '') { $cat = str_replace('chkNewsletter', '', $item); } else { $cat .= "," . str_replace('chkNewsletter', '', $item); } } } if ($cat != '') { $newsletterProfile->updateMember($memberID, array('newsletter_categories' => $cat)); } } //get the last data to merge in the billing address if ($form->getSubForm('membersForm')) { $addressFact['A_Fax'] = $formData['membersForm']['A_Fax']; $addressFact['AI_FirstTel'] = $formData['membersForm']['AI_FirstTel']; $addressFact['AI_SecondTel'] = $formData['membersForm']['AI_SecondTel']; $addressFact['AI_WebSite'] = $formData['membersForm']['AI_WebSite']; $langId = $this->_defaultInterfaceLanguage; $idBillAddr = $oAddress->insert($addressFact, $langId); if ($addressShipping['duplicate'] == 1) { $addressFact['A_Duplicate'] = $idBillAddr; $idShipAddr = $oAddress->insert($addressFact, $langId); } else { $addressShipping['A_Duplicate'] = 0; $idShipAddr = $oAddress->insert($addressShipping, $langId); } if ($addressRetailer['isDistributeur'] == 2) { $idRetailAddr = $oAddress->insert($addressRetailer, 1); $oAddress->save($idRetailAddr, $addressRetailerEn, 2); $retailerData = array('R_GenericProfileId' => $memberID, 'R_AddressId' => $idRetailAddr, 'R_Status' => $addressRetailer['isDistributeur']); $oRetailer->insert($retailerData, $langId); } } if (array_key_exists('membersForm', $formData)) { $membersForm = $formData['membersForm']; $membersForm['addrBill'] = $idBillAddr; $membersForm['addrShip'] = $idShipAddr; $memberProfil = new MemberProfile(); if ($membersForm['status'] < 1) { $membersForm['validatedEmail'] = Cible_FunctionsGeneral::generatePassword(); } if (isset($membersForm['password'])) { $membersForm['password'] = md5($membersForm['password']); } foreach ($membersForm as $key => $val) { $memberProfil->updateMember($memberID, $membersForm); } if ($returnModule != '' && $returnAction != '') { $cancelUrl = $this->view->url(array('module' => $returnModule, 'action' => $returnAction, 'returnModule' => null, 'returnAction' => null, 'order' => 'lastName', 'order-direction' => 'ASC', 'page' => null)); } else { $cancelUrl = $this->view->url(array('action' => 'list', 'returnModule' => null, 'returnAction' => null, 'order' => 'lastName', 'order-direction' => 'ASC', 'page' => null)); } } if ($cancelUrl != '') { $this->_redirect(str_replace($baseDir, '', $cancelUrl)); } } // else { // if( $form->getSubForm('membersForm')->getElement("isRetailer")->isChecked() ) { // $this->view->headStyle()->appendStyle('dd.validatedBy { display: none }'); // } // } } else { $email = $this->_request->getParam('email'); $form->populate(array('email' => $email)); } } } }
<?php /* * Authors: Dennis Mohr, Nick Hoyle, Hemang Vyas * Date: 03/03/2016 * Description: Profile page allows coach to view, update, delete and add a team * */ @(require_once 'controller/FormProfile.php'); $profile = new FormProfile(); ?> <div class="col-md-4"> <h1>Profile</h1> <?php $profile->displayForm(); ?> </div> <div class="col-md-8"> <?php include 'views/content/roster.php'; ?> </div>