public function saveContactDetail(Doctor $doctor) { $contactIdsArray = array(); $contactNumberArray = \json_decode($doctor->getContactNumber(), true); if (\is_array($contactNumberArray)) { if (isset($contactNumberArray['country_code'])) { $contactDetail = new ContactDetail(); $contactDetail->setCountryCode(isset($contactNumberArray['country_code']) ? $contactNumberArray['country_code'] : NULL); $contactDetail->setAreaCode(isset($contactNumberArray['area_code']) ? $contactNumberArray['area_code'] : NULL); $contactDetail->setNumber($contactNumberArray['number']); $contactDetail->setType(ContactDetailTypes::PHONE); $doctor->addContactDetail($contactDetail); } else { foreach ($contactNumberArray as $each) { if ($each['number']) { $contactDetail = new ContactDetail(); $contactDetail->setNumber($each['number']); $contactDetail->setType($this->getContactDetailType($each['type'])); $doctor->addContactDetail($contactDetail); } } } } return $doctor; }
public function testContactDetailAction(Request $request) { $contactDetail = new ContactDetail(); $contactDetail->setType(ContactDetailTypes::PHONE); $doctor = new Doctor(); $doctor->setFirstName('Test Only'); $doctor->setLastName('Doctor'); $doctor->addContactDetail($contactDetail); $form = $this->createFormBuilder($doctor)->add('contactDetails', 'collection', array('type' => 'simple_contact_detail', 'allow_add' => true))->getForm(); if ($request->isMethod('POST')) { $form->bind($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($contactDetail); //$em->flush(); exit; } else { var_dump($form->getErrors()); exit; } } return $this->render('HelperBundle:Test:contactDetailTest.html.twig', array('form' => $form->createView())); }
public function saveContactDetail(InstitutionMedicalCenter $center) { $contactIdsArray = array(); $contactNumber = $center->getContactNumber(); $contactNumber = \json_decode($center->getContactNumber(), true); if (\is_array($contactNumber)) { if (isset($contactNumber['number'])) { $contactDetail = new ContactDetail(); $contactDetail->setNumber(isset($contactNumber['country_code']) ? $contactNumber['country_code'] : ''); $contactDetail->setAreaCode(isset($contactNumber['area_code']) ? $contactNumber['area_code'] : ''); $contactDetail->setNumber($contactNumber['number']); $contactDetail->setType(ContactDetailTypes::PHONE); $center->addContactDetail($contactDetail); } } return $center; }
public function contactDetailsToJSON(array $contactDetails = array()) { $byType = array(); foreach ($contactDetails as $contactDetailData) { if ($contactDetailData instanceof ContactDetail) { $contactDetailInstance = $contactDetailData; } elseif (\is_array($contactDetailData)) { // hydrated as array $contactDetailInstance = new ContactDetail(); $contactDetailInstance->setCountryCode($contactDetailData['countryCode']); $contactDetailInstance->setAreaCode($contactDetailData['areaCode']); $contactDetailInstance->setNumber($contactDetailData['number']); $contactDetailInstance->setType($contactDetailData['type']); } else { // unknown type that we can't handle continue; } $byType[$contactDetailInstance->getType()] = array('type' => ContactDetailTypes::getTypeLabel($contactDetailInstance->getType()), 'number' => $contactDetailInstance->__toString()); } if (!\count($byType)) { return null; } return \json_encode($byType); }
public function contactDetailToString($contactDetail) { $contactDetailInstance = null; if ($contactDetail instanceof ContactDetail) { $contactDetailInstance = $contactDetail; } elseif (\is_array($contactDetail)) { // hydrated as array $contactDetailInstance = new ContactDetail(); $contactDetailInstance->setCountryCode($contactDetail['countryCode']); $contactDetailInstance->setAreaCode($contactDetail['areaCode']); $contactDetailInstance->setNumber($contactDetail['number']); $contactDetailInstance->setType($contactDetail['type']); } return $contactDetailInstance ? $contactDetailInstance->__toString() : null; }
private function doCleanUp(ContactDetail $contactDetail, $oldContactNumber = null, Country $country = null) { if ($oldContactNumber) { $oldContactDetail = $contactDetail->__toString(); $parts = \json_decode($oldContactNumber, true); if ($parts) { $countryCode = isset($parts['country_code']) ? $parts['country_code'] : null; $areaCode = isset($parts['area_code']) ? $parts['area_code'] : null; $contactDetail->setCountryCode($countryCode); $contactDetail->setAreaCode($areaCode); $number = $parts['number']; } } else { // this data must have been entered through the new widget, we need them to verify this data $contactDetail->setFromNewWidget(true); $number = $contactDetail->getNumber(); } if (!\is_numeric($number)) { $number = \preg_replace('/\\D/', '', $number); } $number = (int) $number; $contactDetail->setNumber($number); if (!$number || strlen($number) < 5) { $contactDetail->setIsInvalid(true); } }