public function save($id, $data, $langId) { $billId = 0; $shipId = 0; if (isset($data['addressFact'])) { $oAdress = new AddressObject(); $addrBill = $data['addressFact']; $addrShip = $data['addressShipping']; } if (!empty($addrBill)) { $billId = $oAdress->save($addrBill['MP_BillingAddrId'], $addrBill, $langId); if ($addrShip['duplicate'] == 1) { $addrBill['A_Duplicate'] = $billId; $shipId = $oAdress->save($addrShip['MP_ShippingAddrId'], $addrBill, $langId); } else { $addrShip['A_Duplicate'] = 0; $shipId = $oAdress->save($addrShip['MP_ShippingAddrId'], $addrShip, $langId); } $data['MP_BillingAddrId'] = $billId; $data['MP_ShippingAddrId'] = $shipId; } $oYears = new YearsParticipateObject(); $oYears->manageData($id, $data['MP_YearsParticipate']); $data['MP_BirthDate'] = $data['MP_BirthDateDt']; $years = $this->calculateAge($data['MP_BirthDate']); $data['MP_Age'] = $years; $data['MP_PassportExpiracyDate'] = $data['MP_PassportExpiracyDateDt']; if ($data['MP_BirthDate'] != $data['MP_PassportBirthDate']) { $data['MP_PassportBirthDate'] = $data['MP_BirthDate']; } parent::save($id, $data, $langId); }
public function findData($filters = array()) { $addr = array(); // $shipAddr = array(); $oAddress = new AddressObject(); $langId = Zend_Registry::get('languageID'); $data = parent::findData($filters); if (!empty($data)) { $data = $data[0]; $addrId = $data[$this->_addressField]; if (!empty($addrId)) { $addr = $oAddress->getAll($langId, true, $addrId); $addr = $addr[0]; $addr[$this->_addressField] = $addrId; } $data[$this->_formDataName] = $addr; // $data['addressShipping'] = $shipAddr; } return $data; }
public function findData($filters = array()) { $oAddress = new AddressObject(); $data = parent::findData($filters); if (!empty($data)) { $data = $data[0]; $address = $oAddress->getAll(null, true, $data['R_RetailerAddressId']); foreach ($address as $addr) { foreach ($addr as $key => $value) { if (preg_match('/^AI_/', $key) && $addr['AI_LanguageID'] == 2) { $data['retailerFormEn'][$key] = $value; } else { $data['retailerForm'][$key] = $value; } } } $data['retailerForm']['isDistributeur'] = $data['R_Status']; $data['retailerForm']['R_Active'] = $data['R_Active']; } return $data; }
public function toExcelAction() { $this->filename = 'staffList.xls'; $this->type = 'Excel5'; $generic = new GenericProfilesObject(); $generic->setOrderBy('GP_LastName'); $profile = new StaffProfilesObject(); $oAddr = new AddressObject(); $this->select = $profile->getAll(null, false); $this->select->joinLeft($generic->getDataTableName(), $profile->getDataId() . ' = ' . $generic->getDataId(), array('lastName' => 'GP_LastName', 'firstName' => 'GP_FirstName', 'email' => 'GP_Email', 'member_id' => 'GP_MemberID')); $this->select->joinLeft($oAddr->getDataTableName(), $oAddr->getDataId() . ' = ' . $profile->getAddressField()); $this->select->joinLeft($oAddr->getIndexTableName(), $oAddr->getIndexId() . ' = ' . $oAddr->getDataId()); $this->tables = array('GenericProfiles' => array('GP_LastName', 'GP_FirstName', 'GP_Email'), 'StaffProfile' => array('SP_GenericProfileId'), 'AddressData' => array('A_CityTextValue'), 'AddressIndex' => array('AI_FirstTel', 'AI_SecondTel')); $this->fields = array('firstName' => array('width' => '250px'), 'lastName' => array('width' => '250px'), 'email' => array('width' => '250px'), 'AI_FirstTel' => array('width' => '250px'), 'AI_SecondTel' => array('width' => '250px')); $this->filters = array(); parent::toExcelAction(); }
public function editAction() { /* * ********************************* */ // variable $webAddr = array(); $addressFields = array(); $memberID = $this->_request->getParam('ID'); $baseDir = $this->view->baseUrl(); $billAddr = array(); $shipAddr = array(); $current_state = ''; $currentCity = ''; $returnModule = $this->_request->getParam('returnModule'); $returnAction = $this->_request->getParam('returnAction'); if ($returnModule != '' && $returnAction != '') { $cancelUrl = $this->view->url(array('module' => $returnModule, 'action' => $returnAction, 'ID' => null, 'returnModule' => null, 'returnAction' => null)); } else { $cancelUrl = $this->view->url(array('action' => 'list', 'ID' => null)); } $this->view->assign('memberID', $memberID); /* * ********************************* */ // newsletter categories $newsletterProfil = new NewsletterProfile(); $newsletterMemberDetails = $newsletterProfil->getMemberDetails($memberID); //$this->view->assign('newsletterMemberDetails',$newsletterMemberDetails); $newsletterCategories = $this->view->GetAllNewsletterCategories(); $newsletterCategories = $newsletterCategories->toArray(); if (is_array($newsletterMemberDetails) && array_key_exists('newsletter_categories', $newsletterMemberDetails) && $newsletterMemberDetails['newsletter_categories'] != "") { $memberNewsletterCategories = $newsletterMemberDetails['newsletter_categories']; $memberNewsletterCategories = explode(',', $memberNewsletterCategories); $memberCat = array(); foreach ($memberNewsletterCategories as $memberCategory) { $memberCat["chkNewsletter{$memberCategory}"] = 1; } } else { $memberCat = array(); } $this->view->assign('memberNewsletterCategories', $memberCat); $this->view->assign('newsletterCategories', $newsletterCategories); // Form $form = new FormProfile(array('baseDir' => $baseDir, 'cancelUrl' => $cancelUrl, 'langId' => $this->_defaultInterfaceLanguage, 'mode' => 'edit')); $this->view->assign('form', $form); $genericProfil = new GenericProfile(); $genericMemberDetails = $genericProfil->getMemberDetails($memberID); $this->view->assign('genericMemberDetails', $genericMemberDetails); $membersProfil = new MemberProfile(); $lang = $this->_defaultInterfaceLanguage; $membersDetails = $membersProfil->getMemberDetails($memberID); //Retailers data if ($form->getSubForm('membersForm')) { // $oRetailers = new RetailersObject(); $oAddress = new AddressObject(); // $retailerData = $oRetailers->getAll(null, true, $memberID); // if (count($retailerData)) // $retailerAddr = $oAddress->getAll(null, true, $retailerData[0]['R_AddressId']); if (!empty($membersDetails['addrBill'])) { $billAddr = $oAddress->populate($membersDetails['addrBill'], $lang); } if (!empty($membersDetails['addrShip'])) { $shipAddr = $oAddress->populate($membersDetails['addrShip'], $lang); } // $oRetailer = new RetailersObject(); // $onWeb = $oRetailer->getRetailerInfos($membersDetails['member_id'], $lang); // if ($onWeb && !empty($onWeb['R_AddressId'])) // { // $webAddrFr = $oAddress->populate($onWeb['R_AddressId'], 1); // $webAddrEn = $oAddress->populate($onWeb['R_AddressId'], 2); // $webAddr['isDistributeur-1'] = $onWeb['R_Status']; // $form->getSubForm('retailerForm')->getElement('isDistributeur')->setValue($onWeb['R_Status']); // } if (!empty($billAddr)) { $membersDetails['addressFact'] = $billAddr; // $membersDetails['AI_FirstTel'] = $billAddr['AI_FirstTel']; // $membersDetails['AI_SecondTel'] = $billAddr['AI_SecondTel']; // $membersDetails['A_Fax'] = $billAddr['A_Fax']; } if (isset($shipAddr['A_Duplicate']) && !$shipAddr['A_Duplicate']) { $shipAddr['duplicate'] = 0; } if (!empty($shipAddr)) { $membersDetails['addressShipping'] = $shipAddr; } // $membersDetails['retailerForm'] = $webAddrFr; // $membersDetails['retailerFormEn'] = $webAddrEn; $memberForm = $form->getSubForm('membersForm'); $stateBill = $memberForm->getSubForm('addressFact')->getElement('A_StateId'); $stateShip = $memberForm->getSubForm('addressShipping')->getElement('A_StateId'); $countries = Cible_FunctionsGeneral::getCountries(); if (count($webAddr) > 0) { $membersDetails['AI_WebSite'] = $billAddr['AI_WebSite']; $current_state = $billAddr['A_StateId'] . $this->_separ . $shipAddr['A_StateId'] . $this->_separ . $webAddrFr['A_StateId'] . $this->_separ; $currentCity = $billAddr['A_CityId'] . $this->_separ . $shipAddr['A_CityId'] . $this->_separ . $webAddrFr['A_CityId'] . $this->_separ; } elseif (!empty($billAddr) && !empty($shipAddr)) { $current_state = $billAddr['A_StateId'] . $this->_separ . $shipAddr['A_StateId'] . $this->_separ; $currentCity = $billAddr['A_CityId'] . $this->_separ . $shipAddr['A_CityId'] . $this->_separ; } } 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); $addressFields = array_unique($addressFields); // if( $memberForm->getElement("isRetailer")->isChecked() ) { // $this->view->headStyle()->appendStyle('dd.validatedBy { display: none }'); // } if ($this->_request->isPost()) { $formData = $this->_request->getPost(); 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->getSubForm('retailerFormEn')->getElement('AI_Name')->clearValidators()->setRequired(false); // } // $form->removeSubForm('addressShipping'); } if ($form->isValid($formData)) { if (array_key_exists('genericForm', $formData)) { $genericForm = $formData['genericForm']; $genericProfil = new GenericProfile(); $langId = $genericForm['language']; $members = $genericProfil->findMembers(array('email' => $genericForm['email'])); if (count($members) == 1 and $members[0]['member_id'] == $memberID or count($members) == 0) { $genericProfil->updateMember($memberID, $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); } } } $newsletterProfile->updateMember($memberID, array('newsletter_categories' => $cat)); } if (array_key_exists('membersForm', $formData)) { $membersForm = $formData['membersForm']; $langId = $this->_defaultInterfaceLanguage; if (!empty($membersForm['password'])) { $membersForm['password'] = md5($membersForm['password']); } else { $membersForm['password'] = $membersDetails['password']; } $memberProfil = new MemberProfile(); //get the last data to merge in the billing address // $addressFact['A_Fax'] = $membersForm['A_Fax']; // $addressFact['AI_FirstTel'] = $membersForm['AI_FirstTel']; // $addressFact['AI_SecondTel'] = $membersForm['AI_SecondTel']; // $addressFact['AI_WebSite'] = $membersForm['AI_WebSite']; if (empty($billAddr['A_AddressId'])) { $billAddr['A_AddressId'] = $oAddress->insert($addressFact, $langId); $membersForm['addressFact']['addrBill'] = $billAddr['A_AddressId']; $membersForm['addrBill'] = $billAddr['A_AddressId']; } else { $oAddress->save($billAddr['A_AddressId'], $addressFact, $langId); } if ($addressShipping['duplicate'] == 1) { $addressFact['A_Duplicate'] = $billAddr['A_AddressId']; if (empty($shipAddr['A_AddressId'])) { $shipAddrId = $oAddress->insert($addressFact, $langId); $membersForm['addressShipping']['addrShip'] = $shipAddrId; $membersForm['addrShip'] = $shipAddrId; } else { $oAddress->save($shipAddr['A_AddressId'], $addressFact, $langId); } } else { $addressShipping['A_Duplicate'] = 0; if (empty($shipAddr['A_AddressId'])) { $shipAddrId = $oAddress->insert($addressShipping, $langId); $membersForm['addressShipping']['addrShip'] = $shipAddrId; $membersForm['addrShip'] = $shipAddrId; } else { $oAddress->save($shipAddr['A_AddressId'], $addressShipping, $langId); } } $memberProfil->updateMember($memberID, $membersForm); //If customer doesn't want to add data on website, set to false the field name // switch ($addressRetailer['isDistributeur']) // { // case 1: // if (!empty($onWeb)) // { // $retailerData = array( // 'R_Status' => $addressRetailer['isDistributeur']); // $oRetailer->save($onWeb['R_ID'], $retailerData, $langId); // } // break; // case 2: // if (!empty($webAddrFr)) // { // $retailerData = array( // 'R_Status' => $addressRetailer['isDistributeur']); // $oAddress->save($webAddrFr['A_AddressId'], $addressRetailer, 1); // $oAddress->save($webAddrFr['A_AddressId'], $addressRetailerEn, 2); // $oRetailer->save($onWeb['R_ID'], $retailerData, $langId); // } // else // { // $addressId = $oAddress->insert($addressRetailer, 1); // $oAddress->save($addressId, $addressRetailerEn, 2); // $retailerData = array( // 'R_GenericProfileId' => $memberID, // 'R_AddressId' => $addressId, // 'R_Status' => $addressRetailer['isDistributeur'] // ); // $oRetailer->insert($retailerData, $langId); // } // break; // default: // break; // } } if ($cancelUrl != '') { $this->_redirect(str_replace($baseDir, '', $cancelUrl)); } } } else { $this->view->assign('membersDetails', $membersDetails); if ($genericMemberDetails) { $form->populate($genericMemberDetails); } if ($newsletterMemberDetails) { $form->populate($newsletterMemberDetails); } if ($membersDetails) { $form->populate($membersDetails); } if ($memberCat) { $form->populate($memberCat); } // if( $form->getSubForm('membersForm')->getElement("isRetailer")->isChecked() ) { // $this->view->headStyle()->appendStyle('dd.validatedBy { display: none }'); // } $this->view->assign('form', $form); } }
private function _getAttributes(AddressObject $addressObject) { return array('title' => $addressObject->getTitleWithPrefix(), 'level' => $addressObject->getLevelToString(), 'levelId' => $addressObject->level, 'regionId' => $addressObject->region, 'postalCode' => $this->postalCode, 'guid' => $addressObject->addressId); }
public function toExcelAction() { $this->filename = 'membersList.xls'; $this->type = 'Excel5'; $profile = new GenericProfilesObject(); $profile->setOrderBy('GP_LastName'); $member = new MemberProfilesObject(); $oRef = new ReferencesObject(); $oAddr = new AddressObject(); $oParent = new ParentProfilesObject(); $oParent = new ParentProfilesObject(); $this->select = $profile->getAll(null, false); $this->select->columns(array('lastName' => 'GP_LastName', 'firstName' => 'GP_FirstName', 'email' => 'GP_Email', 'member_id' => 'GP_MemberID')); $this->select->joinRight($member->getDataTableName(), $member->getDataId() . ' = ' . $profile->getDataId()); $this->select->joinLeft($oRef->getDataTableName(), $oRef->getDataId() . ' = MP_Section', array('R_TypeRef')); $this->select->joinLeft($oRef->getIndexTableName(), $oRef->getIndexId() . ' = ' . $oRef->getDataId(), array('section' => 'RI_Value')); $this->select->joinLeft($oParent->getDataTableName(), $oParent->getDataId() . ' = MP_FirstParent OR ' . $oParent->getDataId() . ' = MP_SecondParent'); // $this->select->joinLeft( // $oParent->getDataTableName(), // $oParent->getDataId() . ' = MP_SecondParent' // ); $this->select->joinLeft($oAddr->getDataTableName(), $oAddr->getDataId() . ' = PP_AddressId'); $this->select->joinLeft($oAddr->getIndexTableName(), $oAddr->getIndexId() . ' = ' . $oAddr->getDataId()); $this->select->joinLeft('CountriesIndex', 'CountriesIndex.CI_CountryID = A_CountryId', 'CI_Name'); $this->select->joinLeft('StatesIndex', 'SI_StateID = A_StateId', 'SI_Name'); $this->select->where('MP_Category in (45,46)'); $this->select->where('MP_YearsParticipate like "%' . date('Y', time()) . '%"'); $this->tables = array('GenericProfiles' => array('GP_LastName', 'GP_FirstName', 'GP_Email'), 'MemberProfiles' => array('MP_GenericProfileId', 'MP_Section'), $oRef->getDataTableName() => array('R_TypeRef'), $oRef->getIndexTableName() => array('RI_Value')); $this->fields = array('section' => array('width' => '250px'), 'CI_Name' => 'CI_Name', 'SI_Name' => 'SI_Name'); $this->fields = array_merge($this->fields, $profile->getDataColumns(), $member->getDataColumns(), $oAddr->getDataColumns(), $oAddr->getIndexColumns(), $oParent->getDataColumns(), $oRef->getIndexColumns()); unset($this->fields[$oRef->getDataId()]); unset($this->fields[$member->getDataId()]); unset($this->fields[$profile->getDataId()]); unset($this->fields['PP_AssuSocNum']); $this->filters = array(); parent::toExcelAction(); }
/** * Allows to add values of taxes for orders to the customer data. * * @param array $memberData * * @return array */ public function addTaxRate(array $memberData) { $data = array(); $memberId = $memberData['member_id']; $addrId = $memberData['addrBill']; $oAddres = new AddressObject(); $oTaxes = new TaxesObject(); $stateId = $oAddres->getStateId($addrId); $taxRate = $oTaxes->getTaxData($stateId); $memberData['taxProv'] = $taxRate['TP_Rate']; $memberData['taxCode'] = $taxRate['TZ_GroupName']; return $memberData; }
public function orderAction() { $this->view->headLink()->prependStylesheet($this->view->LocateFile('cart.css')); $session = new Zend_Session_Namespace('order'); $urlBack = ''; $urlNextStep = ''; $urls = Cible_View_Helper_LastVisited::getLastVisited(); $profile = new MemberProfile(); $oAddress = new AddressObject(); $authentication = Cible_FunctionsGeneral::getAuthentication(); $memberInfos = $profile->findMember(array('email' => $authentication['email'])); $page = Cible_FunctionsCategories::getPagePerCategoryView(0, 'list_collections', 14); // If authentication is not present or if cart is empty, redirect to the cart page if (!is_null($authentication)) { // $memberInfos = $profile->addTaxRate($memberInfos); if (!empty($memberInfos['addrBill'])) { $billAddr = $oAddress->populate($memberInfos['addrBill'], $this->_defaultInterfaceLanguage); } if (!empty($memberInfos['addrShip'])) { $shipAddr = $oAddress->populate($memberInfos['addrShip'], $this->_defaultInterfaceLanguage); } // $oRetailer = new RetailersObject(); // $memberInfos['AI_FirstTel'] = $billAddr['AI_FirstTel']; // $memberInfos['AI_SecondTel'] = $billAddr['AI_SecondTel']; // $memberInfos['A_Fax'] = $billAddr['A_Fax']; if (isset($billAddr['AI_WebSite'])) { $memberInfos['AI_WebSite'] = $billAddr['AI_WebSite']; } $memberInfos['addressFact'] = $billAddr; if (isset($shipAddr['A_Duplicate']) && !$shipAddr['A_Duplicate']) { $shipAddr['duplicate'] = 0; } $memberInfos['addressShipping'] = $shipAddr; $current_state = $billAddr['A_StateId'] . '||' . $shipAddr['A_StateId'] . '||'; $currentCity = $billAddr['A_CityId'] . '||' . $shipAddr['A_CityId'] . '||'; // $onWeb = $oRetailer->getRetailerInfos($memberInfos['member_id'], $this->_defaultInterfaceLanguage); // if ($onWeb && !empty($onWeb['R_AddressId'])) // { // $webAddr = $oAddress->populate($onWeb['R_AddressId'], $this->_defaultInterfaceLanguage); // // $webAddr['isDistributeur'] = $onWeb['R_Status']; // $memberInfos['addressDetaillant'] = $webAddr; // // $current_state .= $webAddr['A_StateId'] . '||'; // $currentCity .= $webAddr['A_CityId'] . '||'; // } $return = $this->_getParam('return'); if ($return && isset($_COOKIE['returnUrl'])) { $returnUrl = $_COOKIE['returnUrl']; $this->view->assign('return', $returnUrl); } $pageOrderName = Cible_FunctionsCategories::getPagePerCategoryView(0, 'order', $this->_moduleID); $tmp = explode('/', $pageOrderName); $tmp = array_unique($tmp); $pageOrderName = $tmp[0]; $stepValues = array('auth-order' => array('step' => 2, 'next' => $pageOrderName . '/resume-order', 'prev' => ''), 'resume-order' => array('step' => 3, 'next' => $pageOrderName . '/send-order', 'prev' => 'auth-order'), 'send-order' => array('step' => 4, 'next' => '', 'prev' => 'resume-order')); $stepAction = $this->_getParam('action'); $urlBack = $stepValues[$stepAction]['prev']; if (empty($stepValues[$stepAction]['prev']) && isset($urls[0])) { $urlBack = $urls[0]; } $this->view->assign('step', $stepValues[$stepAction]['step']); $this->view->assign('nextStep', $stepValues[$stepAction]['next']); $this->view->assign('urlBack', $urlBack); $orderParams = Cible_FunctionsGeneral::getParameters(); switch ($stepAction) { case 'resume-order': if (empty($session->customer)) { $this->_redirect(Cible_FunctionsPages::getPageNameByID(1)); } // Create this form to fill with values used for the read-only rendering $formOrder = new FormOrder(array('resume' => true)); // Store the state id in the session to allow tax calculation $session->stateId = $billAddr['A_StateId']; // Calculate totals to display and for the bill. $totals = $this->calculateTotal($memberInfos); $session->order['charge_total'] = $totals['total']; $session->order['subTotal'] = $totals['subTot']; $session->order['taxFed'] = $totals['taxFed']; $session->order['taxProv'] = $totals['taxProv']; $session->order['nbPoint'] = $totals['nbPoint']; $session->order['shipFee'] = $orderParams['CP_ShippingFees']; $session->order['limitShip'] = $orderParams['CP_ShippingFeesLimit']; $session->order['CODFees'] = $orderParams['CP_MontantFraisCOD']; $session->order['rateFed'] = 0; if ($session->stateId == 11) { $session->order['rateFed'] = $orderParams['CP_TauxTaxeFed']; } if (isset($session->customer['addressShipping']['duplicate']) && $session->customer['addressShipping']['duplicate']) { unset($session->customer['addressShipping']); $session->customer['addressShipping'] = $session->customer['addressFact']; } $dataBill = $this->getAddrData($session->customer['addressFact'], 'addressFact', $session); $dataShip = $this->getAddrData($session->customer['addressShipping'], 'addressShipping', $session); $salut = Cible_FunctionsGeneral::getSalutations($memberInfos['salutation'], Zend_Registry::get('languageID')); if (isset($salut[$memberInfos['salutation']])) { $session->customer['identification']['salutation'] = utf8_decode($salut[$memberInfos['salutation']]); } else { $session->customer['identification']['salutation'] = "-"; } $formOrder->populate($session->customer); $formOrder->getSubForm('addressShipping')->removeElement('duplicate'); $formOrder->getSubForm('identification')->removeElement('password'); $formOrder->getSubForm('identification')->removeElement('passwordConfirmation'); $formOrder->getSubForm('identification')->removeElement('noFedTax'); $formOrder->getSubForm('identification')->removeElement('noProvTax'); $formOrder->getSubForm('identification')->removeElement('AI_FirstTel'); $formOrder->getSubForm('identification')->removeElement('AI_SecondTel'); $formOrder->getSubForm('identification')->removeElement('AI_WebSite'); $formOrder->getSubForm('identification')->removeElement('A_Fax'); $readOnly = new Cible_View_Helper_FormReadOnly(); $readOnly->setAddSeparator(true); $readOnly->setSeparatorClass('dotLine'); $readOnly->setListOpened(false); $readOnly->setSeparatorPositon(array(1)); $readOnlyForm = $readOnly->subFormRender($formOrder); $formPayment = new FormOrderPayment(array('readOnlyForm' => $readOnlyForm, 'payMean' => $session->customer['paymentMeans'])); // $formPayment->populate($session->order); if ($this->_request->isPost() && array_key_exists('submit', $_POST)) { $formData = $this->_request->getPost(); $session->customer['invoice'] = $formData; // $session->customer['indentification'] = $memberInfos; $this->_redirect($stepValues[$stepAction]['next']); } $session->customer['charge_total'] = sprintf('%.2f', $totals['total']); $formPayment->populate($session->customer); $this->view->assign('CODFees', $orderParams['CP_MontantFraisCOD']); $this->view->assign('memberInfos', $memberInfos); $this->view->assign('formOrder', $formPayment); $this->renderScript('index/order-summary.phtml'); break; case 'send-order': if ($this->_request->isPost()) { // if ($this->_request->getParam('response_code') > 50) if ($this->_request->getParam('response_code') < 50 && $this->_request->getParam('response_code') != 'null') { $session->order['confirmation'] = $_POST; } else { $this->view->assign('errorValidation', $this->view->getClientText('card_payment_error_message')); $session->customer['message'] = $this->view->getClientText('card_payment_error_message'); $this->_redirect($pageOrderName . '/' . $stepValues['resume-order']['prev'] . '/errorValidation/1'); } } $this->sendOrder(); $urlBack = $this->view->BaseUrl() . '/' . $page; $this->view->assign('backHomeLink', $urlBack); $this->renderScript('index/order-sent.phtml'); break; default: // $oCart = new Cart(); // $cartHeader = $oCart->getCartData(); // $cartId = $oCart->getId(); // $files = $oCart->manageFileUpload(); $form = new FormOrderAddr(array('hasAccount' => $memberInfos['hasAccount'])); // $this->getAddrData($memberInfos['addressFact'], 'addressFact', $session); // $address = array_merge($memberInfos['addressFact'], $session->customer['addressFact']); // $form->getSubForm('addressFact')->populate($address); // // $readOnly = new Cible_View_Helper_FormReadOnly(); // $readOnly->setAddSeparator(true); // $readOnly->setSeparatorClass('dotLine'); // $readOnly->setListOpened(true); // $readOnly->setSeparatorPosition(array(1)); // $readOnlyForm = $readOnly->subFormRender($form, 'addressFact'); // // $newForm = new FormOrderAddr(array('readOnlyBillAddr' => $readOnlyForm)); if ($this->_request->isPost()) { $statePost = ''; $cityPost = ''; $data = $this->_request->getPost(); $currentCity = 0; $current_state = $data['addressFact']['A_StateId'] . '||'; $current_state .= $data['addressShipping']['A_StateId']; // $currentCity = (empty($cityPost)) ? substr($currentCity, 0, -1) : substr($cityPost, 0, -1); // $current_state = (empty($statePost)) ? substr($current_state, 0, -1) : substr($statePost, 0, -1); $memberInfos['selectedState'] = $session->customer['selectedState']; $memberInfos['selectedCity'] = $session->customer['selectedCity']; } if ($this->_request->isPost() && array_key_exists('submit', $_POST)) { $formData = $this->_request->getPost(); $formData['selectedState'] = $current_state; $formData['selectedCity'] = $currentCity; //Remove data validation if not a new address $addrSource = $newForm->getSubForm('addressShipping')->getElement('addrSource')->getValue(); if ($addrSource == 1 || $addrSource == 3) { $subFormShip = $form->getSubForm('addressShipping'); foreach ($subFormShip as $key => $value) { $value->clearValidators()->setRequired(false); } } // if ($formData['paymentMeans'] == 'compte' && !$memberInfos['hasAccount']) // { // $newForm->getElement('paymentMeans')->setErrors(array($this->view->getClientText('no_customer_account'))); // $formData['paymentMeans'] = null; // } if ($form->isValid($formData)) { // if($formData['paymentMeans'] == 'cod') // $session->order['cod'] = $formData['paymentMeans']; // elseif(isset($session->order['cod'])) // unset($session->order['cod']); $session->customer = $formData; $session->customer['identification'] = $memberInfos; $this->_redirect($stepValues[$stepAction]['next']); } else { $form->populate($formData); } } else { $memberInfos['selectedState'] = $current_state; $memberInfos['selectedCity'] = $currentCity; $form->populate($memberInfos); } $this->view->assign('CODFees', $orderParams['CP_MontantFraisCOD']); $this->view->assign('form', $form); $this->view->assign('memberInfos', $memberInfos); $this->view->assign('accountValidate', $memberInfos['validatedEmail']); break; } } else { $this->_redirect(Cible_FunctionsPages::getPageNameByID(1)); } }