public function populate(array $values) { $diseasesList = $this->_object->_diseasesSrc(); $oDiseases = new DiseasesDetailsObject(); $dData = $oDiseases->findData(array($oDiseases->getForeignKey() => $values[$this->_object->getForeignKey()])); $fieldSet = $this->getDisplayGroup('diseases'); $i = 6; foreach ($diseasesList as $id => $disease) { $tmpForm = new FormDiseasesDetails(array('object' => $oDiseases, 'isXmlHttpRequest' => true)); if (!empty($values['MR_Diseases']) && in_array($id, $values['MR_Diseases'])) { $oDiseases->setFilters(array($oDiseases->getForeignKey() => $values[$this->_object->getForeignKey()], 'DD_DiseaseId' => $id)); $data = $oDiseases->getAll(); $data[0]['DD_TypeMedic'] = explode(',', $data[0]['DD_TypeMedic']); $tmpForm->populate($data[0]); } $elems = $tmpForm->getElements(); $test = new Zend_Form_SubForm(); $test->setDisableLoadDefaultDecorators(true); $test->addElements($elems); $test->removeDecorator('DtDdWrapper'); $test->setLegend('Détails pour ' . $disease); $test->setAttrib('class', 'infosFieldsetParent fieldsetDiseaseDetails'); $test->setOrder($i++); $this->addSubForm($test, 'dd_' . $id); } parent::populate($values); }
public function save($id, $data, $langId) { $tmpVal = array(); if (empty($data['MR_Diseases'])) { $data['MR_Diseases'] = 0; } $tmpVal = explode(',', $data['MR_Diseases']); $oDiseaseD = new DiseasesDetailsObject(); foreach ($data as $field => $dd) { if (preg_match('/dd_[0-9]*/', $field)) { $diseaseData = array(); $value = ''; foreach ($dd as $key => $value) { $dId = explode('_', $field); if (is_array($value)) { $value = implode(',', $value); } $diseaseData[$oDiseaseD->getForeignKey()] = $data['genericId']; $diseaseData['DD_DiseaseId'] = $dId[1]; $diseaseData[$key] = $value; } if (in_array($dId[1], $tmpVal)) { $oDiseaseD->setFilters(array($oDiseaseD->getForeignKey() => $data['genericId'], 'DD_DiseaseId' => $dId[1])); $exist = $oDiseaseD->getAll(); if (count($exist) > 0) { $oDiseaseD->save($exist[0][$oDiseaseD->getDataId()], $diseaseData, 1); } else { $oDiseaseD->insert($diseaseData, 1); } } } } if (!empty($data['MR_ExpiracyDate'])) { $data['MR_ExpiracyDate'] = date('Y-m-d', strtotime($data['MR_ExpiracyDate'])); } if (!empty($data['MR_TravelInduranceExpiracy'])) { $data['MR_TravelInduranceExpiracy'] = date('Y-m-d', strtotime($data['MR_TravelInduranceExpiracy'])); } parent::save($id, $data, $langId); }
public function printRegistrationAction() { $id = (int) $this->_getParam('id'); $page = $this->_getParam('page'); $lang = $this->_getParam('lang'); if (!$lang) { $this->_registry->currentEditLanguage = $this->_defaultEditLanguage; $langId = $this->_defaultEditLanguage; } else { $langId = Cible_FunctionsGeneral::getLanguageID($lang); $this->_registry->currentEditLanguage = $langId; } if ($this->view->aclIsAllowed($this->_moduleTitle, 'edit', true)) { $firstPData = array(); $secPData = array(); $oMember = new MemberProfilesObject(); $oGeneric = new GenericProfilesObject(); $oMedic = new MedicalProfilesObject(); $oDiseasesD = new DiseasesDetailsObject(); $oParent = new ParentProfilesObject(); $oAddress = new AddressObject(); $sections = $oMember->_sectionSrc(); $memberData = $oMember->populate($id, $langId); $data = $oGeneric->populate($memberData['MP_GenericProfileId'], $langId); $medicData = $oMedic->populate($memberData['MP_GenericProfileId'], $langId); $allergies = $oMedic->_allergySrc(); $diseases = $oMedic->_diseasesSrc(); $diseasesDetails = $oDiseasesD->setFilters(array($oDiseasesD->getForeignKey() => $id)); $diseasesDetails = $oDiseasesD->getAll(); $memberData = array_merge($memberData, $data, $medicData); $this->view->title = 'Membre : ' . $memberData['GP_LastName'] . ' ' . $memberData['GP_FirstName']; $resp = $oParent->_listRespSrc(); $roles = $oParent->_parentsProfileSrc(); if (!empty($data['MP_FirstParent'])) { $firstPData = $oParent->populate($memberData['MP_FirstParent'], $langId); if (empty($firstPData)) { $firstPData = $oParent->populate($memberData['MP_GenericProfileId'], $langId); } $data = $oGeneric->populate($firstPData['PP_GenericProfileId'], $langId); $firstPData = array_merge($firstPData, $data); $address = $oAddress->populate($firstPData['PP_AddressId'], $langId); $firstPData['address'] = $address; } if (!empty($data['MP_SecondParent'])) { $secPData = $oParent->populate($memberData['MP_SecondParent'], $langId); $data = $oGeneric->populate($secPData['PP_GenericProfileId'], $langId); $secPData = array_merge($secPData, $data); $address = $oAddress->populate($secPData['PP_AddressId'], $langId); $secPData['address'] = $address; } $this->view->dataMember = $memberData; $this->view->parents = array($firstPData, $secPData); $this->view->sections = $sections; $this->view->resp = $resp; $this->view->roles = $roles; $this->view->allergies = $allergies; $this->view->diseases = $diseases; $this->view->diseasesDetails = $diseasesDetails; $this->view->typeMedic = $oDiseasesD->_typeMedicSrc(); } }