- // CRM-10551
- // Use updateBlankLocInfo to overwrite blanked values of matching type
- $updateBlankLocInfo = CRM_Utils_Array::value('updateBlankLocInfo', $params, FALSE);
-
- // Get websites submitted in the form, and already on the Contact
- $submittedWebsites = $params['website'];
- $existingWebsites = self::allWebsites($contactID);
-
- // For each website submitted on the form
- foreach ($submittedWebsites as $key => $submittedValue) {
-
- // Check for matching IDs on submitted / existing data
- $websiteId = CRM_Utils_Array::value('id', $submittedValue);
- if ($websiteId) {
- if (array_key_exists($websiteId, $existingWebsites)) {
- unset($existingWebsites[$websiteId]);
- }
- else {
- unset($submittedValue['id']);
- }
- }
-
- // Match up submitted values to existing ones, based on type
- if (empty($submittedValue['id']) && !empty($existingWebsites)) {
- foreach ($existingWebsites as $id => $existingValue) {
- if ($existingValue['website_type_id'] == $submittedValue['website_type_id']) {
- $submittedValue['id'] = $id;
- unset($existingWebsites[$id]);
- break;
+ $ids = self::allWebsites($contactID);
+ foreach ($params as $key => $values) {
+ if (empty($values['id']) && is_array($ids) && !empty($ids)) {
+ foreach ($ids as $id => $value) {
+ if (($value['website_type_id'] == $values['website_type_id'])) {
+ $values['id'] = $id;