示例#1
0
 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));
             }
         }
     }
 }
示例#2
0
<?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>