public static function parse(\SimpleXMLElement $xml) { $addresses = array(); foreach ($xml->address as $element) { $addresses[] = AddressParser::parse($element); } return $addresses; }
break; case 'company': $mode = ADDRESSPARSER_MODE_COMPANY; break; default: case 'person': $mode = ADDRESSPARSER_MODE_PERSON; break; } /* Instantiate a new AddressParser */ $addressParser = new AddressParser(); /* Feed the AddressParser a the address block from POST data and parse * the address. */ $addressBlock = urldecode($_REQUEST['addressBlock']); $addressParser->parse($addressBlock, $mode); /* Get the parsed address as an associative array. */ $parsedAddressArray = $addressParser->getAddressArray(); $phoneNumbers = $parsedAddressArray['phoneNumbers']; /* Fetch individual phone numbers. */ $homePhoneRow = ResultSetUtility::findRowByColumnValue($phoneNumbers, 'type', 'home'); $workPhoneRow = ResultSetUtility::findRowByColumnValue($phoneNumbers, 'type', 'work'); $cellPhoneRow = ResultSetUtility::findRowByColumnValue($phoneNumbers, 'type', 'cell'); $faxRow = ResultSetUtility::findRowByColumnValue($phoneNumbers, 'type', 'fax'); if ($homePhoneRow !== false) { $homePhone = $phoneNumbers[$homePhoneRow]['number']; } else { $homePhone = ''; } if ($cellPhoneRow !== false) { $cellPhone = $phoneNumbers[$cellPhoneRow]['number'];