Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REF] Fix CRM_Utils_Array calls that return potentially incorrect value types #26899

Merged
merged 9 commits into from
Jul 22, 2023
8 changes: 4 additions & 4 deletions CRM/Activity/BAO/Activity.php
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ public static function create(array &$params) {
);
}
else {
$q = "action=view&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid=" . CRM_Utils_Array::value('source_contact_id', $params) . "&context=home";
$q = "action=view&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid=" . ($params['source_contact_id'] ?? '') . "&context=home";
if ($activity->activity_type_id != CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Email')) {
$url = CRM_Utils_System::url('civicrm/activity', $q);
if ($activity->activity_type_id == CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Print PDF Letter')) {
Expand All @@ -466,21 +466,21 @@ public static function create(array &$params) {
}
else {
$recentOther['editUrl'] = CRM_Utils_System::url('civicrm/activity/add',
"action=update&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid=" . CRM_Utils_Array::value('source_contact_id', $params) . "&context=home"
"action=update&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid=" . ($params['source_contact_id'] ?? '') . "&context=home"
);
}

if (CRM_Core_Permission::check("delete activities")) {
$recentOther['deleteUrl'] = CRM_Utils_System::url('civicrm/activity',
"action=delete&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid=" . CRM_Utils_Array::value('source_contact_id', $params) . "&context=home"
"action=delete&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid=" . ($params['source_contact_id'] ?? '') . "&context=home"
);
}
}
else {
$url = CRM_Utils_System::url('civicrm/activity/view', $q);
if (CRM_Core_Permission::check('delete activities')) {
$recentOther['deleteUrl'] = CRM_Utils_System::url('civicrm/activity',
"action=delete&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid=" . CRM_Utils_Array::value('source_contact_id', $params) . "&context=home"
"action=delete&reset=1&id={$activity->id}&atype={$activity->activity_type_id}&cid=" . ($params['source_contact_id'] ?? '') . "&context=home"
);
}
}
Expand Down
2 changes: 1 addition & 1 deletion CRM/Activity/Selector/Activity.php
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ public function &getRows($action, $offset, $rowCount, $sort, $output = NULL, $ca
$row = &$rows[$k];

// add class to this row if overdue
if (CRM_Utils_Date::overdue(CRM_Utils_Array::value('activity_date_time', $row))
if (CRM_Utils_Date::overdue($row['activity_date_time'] ?? '')
&& ($row['status_id'] ?? NULL) == 1
) {
$row['overdue'] = 1;
Expand Down
2 changes: 1 addition & 1 deletion CRM/Admin/Form/ScheduleReminders.php
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ public static function formRule(array $fields, $files, $self) {
$errors['sms_text_message'] = ts('The SMS message is a required field.');
}

if (empty($self->getContext()) && CRM_Utils_System::isNull(CRM_Utils_Array::value(1, $fields['entity']))) {
if (empty($self->getContext()) && CRM_Utils_System::isNull($fields['entity'][1] ?? NULL)) {
$errors['entity'] = ts('Please select entity value');
}

Expand Down
2 changes: 1 addition & 1 deletion CRM/Admin/Page/AJAX.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public static function formatMenuItems(&$menu) {
if (!empty($props['label'])) {
$item['label'] = _ts($props['label'], ['context' => 'menu']);
}
$item['name'] = !empty($props['name']) ? $props['name'] : CRM_Utils_String::munge(CRM_Utils_Array::value('label', $props));
$item['name'] = !empty($props['name']) ? $props['name'] : CRM_Utils_String::munge($props['label'] ?? '');
if (!empty($item['child'])) {
self::formatMenuItems($item['child']);
}
Expand Down
2 changes: 1 addition & 1 deletion CRM/Badge/BAO/Badge.php
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ public function labelCreator($formattedRow, $cellspacing = 0) {

if (!empty($formattedRow['participant_image'])) {
$imageAlign = 0;
switch (CRM_Utils_Array::value('alignment_participant_image', $formattedRow)) {
switch ($formattedRow['alignment_participant_image'] ?? NULL) {
case 'R':
$imageAlign = 68;
break;
Expand Down
10 changes: 6 additions & 4 deletions CRM/Campaign/Page/Petition/Confirm.php
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,12 @@ public function run() {
$pparams['id'] = $petition_id;
$this->petition = [];
CRM_Campaign_BAO_Survey::retrieve($pparams, $this->petition);
$this->assign('is_share', CRM_Utils_Array::value('is_share', $this->petition));
$this->assign('thankyou_title', CRM_Utils_Array::value('thankyou_title', $this->petition));
$this->assign('thankyou_text', CRM_Utils_Array::value('thankyou_text', $this->petition));
CRM_Utils_System::setTitle(CRM_Utils_Array::value('thankyou_title', $this->petition));
$this->assign('is_share', $this->petition['is_share'] ?? FALSE);
$this->assign('thankyou_title', $this->petition['thankyou_title'] ?? '');
$this->assign('thankyou_text', $this->petition['thankyou_text'] ?? '');
if (!empty($this->petition['thankyou_title'])) {
CRM_Utils_System::setTitle($this->petition['thankyou_title']);
}

// send thank you email
$params['contactId'] = $contact_id;
Expand Down
4 changes: 2 additions & 2 deletions CRM/Case/BAO/Case.php
Original file line number Diff line number Diff line change
Expand Up @@ -706,7 +706,7 @@ public static function getCases($allCases = TRUE, $params = [], $context = 'dash
$casesList[$key]['date'] = sprintf('<a class="action-item crm-hover-button" href="%s" title="%s">%s</a>',
CRM_Utils_System::url('civicrm/case/activity/view', ['reset' => 1, 'cid' => $case['contact_id'], 'aid' => $case['activity_id']]),
ts('View activity'),
CRM_Utils_Array::value($case['activity_type_id'], $activityTypeLabels)
$activityTypeLabels[$case['activity_type_id']] ?? ''
);
}
else {
Expand All @@ -715,7 +715,7 @@ public static function getCases($allCases = TRUE, $params = [], $context = 'dash
$status,
CRM_Utils_System::url('civicrm/case/activity/view', ['reset' => 1, 'cid' => $case['contact_id'], 'aid' => $case['activity_id']]),
ts('View activity'),
CRM_Utils_Array::value($case['activity_type_id'], $activityTypeLabels)
$activityTypeLabels[$case['activity_type_id']] ?? ''
);
}
}
Expand Down
2 changes: 1 addition & 1 deletion CRM/Case/Form/Activity.php
Original file line number Diff line number Diff line change
Expand Up @@ -398,7 +398,7 @@ public function postProcess($params = NULL) {
}

//set parent id if its edit mode
if ($parentId = CRM_Utils_Array::value('parent_id', $this->_defaults)) {
if ($parentId = $this->_defaults['parent_id'] ?? NULL) {
$params['parent_id'] = $parentId;
}

Expand Down
6 changes: 3 additions & 3 deletions CRM/Case/XMLProcessor/Process.php
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ public function process($xml, &$params) {
$standardTimeline = $params['standardTimeline'] ?? NULL;
$activitySetName = $params['activitySetName'] ?? NULL;

if ('Open Case' == CRM_Utils_Array::value('activityTypeName', $params)) {
if ('Open Case' == ($params['activityTypeName'] ?? '')) {
// create relationships for the ones that are required
foreach ($xml->CaseRoles as $caseRoleXML) {
foreach ($caseRoleXML->RelationshipType as $relationshipTypeXML) {
Expand All @@ -109,7 +109,7 @@ public function process($xml, &$params) {
}
}

if ('Change Case Start Date' == CRM_Utils_Array::value('activityTypeName', $params)) {
if ('Change Case Start Date' == ($params['activityTypeName'] ?? '')) {
// delete all existing activities which are non-empty
$this->deleteEmptyActivity($params);
}
Expand All @@ -136,7 +136,7 @@ public function process($xml, &$params) {
* @param array $params
*/
public function processStandardTimeline($activitySetXML, &$params) {
if ('Change Case Type' == CRM_Utils_Array::value('activityTypeName', $params)
if ('Change Case Type' == ($params['activityTypeName'] ?? '')
&& CRM_Utils_Array::value('resetTimeline', $params, TRUE)
) {
// delete all existing activities which are non-empty
Expand Down
4 changes: 2 additions & 2 deletions CRM/Contact/BAO/ProximityQuery.php
Original file line number Diff line number Diff line change
Expand Up @@ -301,8 +301,8 @@ public static function process(&$query, &$values) {
}

if (
!is_numeric(CRM_Utils_Array::value('geo_code_1', $proximityAddress)) ||
!is_numeric(CRM_Utils_Array::value('geo_code_2', $proximityAddress))
!is_numeric($proximityAddress['geo_code_1'] ?? '') ||
!is_numeric($proximityAddress['geo_code_2'] ?? '')
) {
// we are setting the where clause to 0 here, so we wont return anything
$qill .= ': ' . ts('We could not geocode the destination address.');
Expand Down
2 changes: 1 addition & 1 deletion CRM/Contact/Form/Contact.php
Original file line number Diff line number Diff line change
Expand Up @@ -890,7 +890,7 @@ public function postProcess() {
CRM_Contact_BAO_Contact::processImageParams($params);
}

if (is_numeric(CRM_Utils_Array::value('current_employer_id', $params)) && !empty($params['current_employer'])) {
if (is_numeric($params['current_employer_id'] ?? '') && !empty($params['current_employer'])) {
$params['current_employer'] = $params['current_employer_id'];
}

Expand Down
4 changes: 2 additions & 2 deletions CRM/Contact/Selector.php
Original file line number Diff line number Diff line change
Expand Up @@ -809,7 +809,7 @@ public function &getRows($action, $offset, $rowCount, $sort, $output = NULL) {
$result->contact_id
);
}
elseif ((is_numeric(CRM_Utils_Array::value('geo_code_1', $row))) ||
elseif ((is_numeric($row['geo_code_1'] ?? '')) ||
(!empty($row['city']) && !empty($row['state_province']))
) {
$row['action'] = CRM_Core_Action::formLink(
Expand Down Expand Up @@ -942,7 +942,7 @@ public function addActions(&$rows) {
$mask = CRM_Core_Action::mask(array_merge([CRM_Core_Permission::VIEW], $basicPermissions));
}

if ((!is_numeric(CRM_Utils_Array::value('geo_code_1', $row))) &&
if ((!is_numeric($row['geo_code_1'] ?? '')) &&
(empty($row['city']) || empty($row['state_province']))
) {
$mask = $mask & 4095;
Expand Down
2 changes: 1 addition & 1 deletion CRM/Contribute/BAO/ContributionPage.php
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,7 @@ public static function sendMail($contactID, $values, $isTest = FALSE, $returnMes
}

if ($values['is_email_receipt']) {
$sendTemplateParams['from'] = CRM_Utils_Array::value('receipt_from_name', $values) . ' <' . $values['receipt_from_email'] . '>';
$sendTemplateParams['from'] = ($values['receipt_from_name'] ?? '') . ' <' . $values['receipt_from_email'] . '>';
$sendTemplateParams['toName'] = $displayName;
$sendTemplateParams['toEmail'] = $email;
$sendTemplateParams['cc'] = $values['cc_receipt'] ?? NULL;
Expand Down
2 changes: 1 addition & 1 deletion CRM/Contribute/BAO/ContributionRecur.php
Original file line number Diff line number Diff line change
Expand Up @@ -849,7 +849,7 @@ public static function recurringContribution($form): void {
$form->assign('contribution_recur_pane_open', FALSE);
foreach (self::getRecurringFields() as $key) {
if ($key === 'contribution_recur_payment_made' && !empty($form->_formValues) &&
!CRM_Utils_System::isNull(CRM_Utils_Array::value($key, $form->_formValues))
!CRM_Utils_System::isNull($form->_formValues[$key] ?? NULL)
) {
$form->assign('contribution_recur_pane_open', TRUE);
break;
Expand Down
2 changes: 1 addition & 1 deletion CRM/Contribute/Form/Contribution.php
Original file line number Diff line number Diff line change
Expand Up @@ -1741,7 +1741,7 @@ protected function submit($submittedValues, $action, $pledgePaymentID) {

if (CRM_Contribute_BAO_Contribution::isContributionStatusNegative($params['contribution_status_id'])
) {
if (CRM_Utils_System::isNull(CRM_Utils_Array::value('cancel_date', $params))) {
if (CRM_Utils_System::isNull($params['cancel_date'] ?? NULL)) {
$params['cancel_date'] = date('YmdHis');
}
}
Expand Down
2 changes: 1 addition & 1 deletion CRM/Contribute/Form/SoftCredit.php
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ public static function setDefaultValues(&$defaults, &$form) {
$pcpId = $pcpInfo['pcp_id'] ?? NULL;
$pcpTitle = CRM_Core_DAO::getFieldValue('CRM_PCP_DAO_PCP', $pcpId, 'title');
$contributionPageTitle = CRM_PCP_BAO_PCP::getPcpPageTitle($pcpId, 'contribute');
$defaults['pcp_made_through'] = CRM_Utils_Array::value('sort_name', $pcpInfo) . " :: " . $pcpTitle . " :: " . $contributionPageTitle;
$defaults['pcp_made_through'] = ($pcpInfo['sort_name'] ?? '') . " :: " . $pcpTitle . " :: " . $contributionPageTitle;
$defaults['pcp_made_through_id'] = $pcpInfo['pcp_id'] ?? NULL;
$defaults['pcp_display_in_roll'] = $pcpInfo['pcp_display_in_roll'] ?? NULL;
$defaults['pcp_roll_nickname'] = $pcpInfo['pcp_roll_nickname'] ?? NULL;
Expand Down
2 changes: 1 addition & 1 deletion CRM/Contribute/Form/Task/Batch.php
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ public function buildQuickForm() {
}

if (!empty($entityColumnValue[$typeId]) ||
CRM_Utils_System::isNull(CRM_Utils_Array::value($typeId, $entityColumnValue))
CRM_Utils_System::isNull($entityColumnValue[$typeId] ?? NULL)
) {
CRM_Core_BAO_UFGroup::buildProfile($this, $field, NULL, $contributionId);
}
Expand Down
4 changes: 2 additions & 2 deletions CRM/Core/BAO/Block.php
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ public static function retrieveBlock($block) {
*/
public static function dataExists($blockFields, &$params) {
foreach ($blockFields as $field) {
if (CRM_Utils_System::isNull(CRM_Utils_Array::value($field, $params))) {
if (CRM_Utils_System::isNull($params[$field] ?? NULL)) {
return FALSE;
}
}
Expand Down Expand Up @@ -232,7 +232,7 @@ public static function create($blockName, $params) {
// if in some cases (eg. email used in Online Conribution Page, Profiles, etc.) id is not set
// lets try to add using the previous method to avoid any false creation of existing data.
foreach ($blockIds as $blockId => $blockValue) {
if (empty($value['id']) && $blockValue['locationTypeId'] == CRM_Utils_Array::value('location_type_id', $value) && !$isIdSet) {
if (empty($value['id']) && $blockValue['locationTypeId'] == ($value['location_type_id'] ?? NULL) && !$isIdSet) {
$valueId = FALSE;
if ($blockName == 'phone') {
$phoneTypeBlockValue = $blockValue['phoneTypeId'] ?? NULL;
Expand Down
2 changes: 1 addition & 1 deletion CRM/Core/BAO/CustomValueTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ public static function create($customParams, $parentOperation = NULL) {
|| $fieldExtends === 'Organization'
|| $fieldExtends === 'Household'
) {
$paramFieldsExtendContactForEntities[$entityID]['custom_' . CRM_Utils_Array::value('custom_field_id', $field)] = $field['custom_field_id'] ?? NULL;
$paramFieldsExtendContactForEntities[$entityID]['custom_' . ($field['custom_field_id'] ?? '')] = $field['custom_field_id'] ?? NULL;
}
}

Expand Down
2 changes: 1 addition & 1 deletion CRM/Core/BAO/Dashboard.php
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ public static function addDashlet(&$params) {
if (!empty($params['instanceURL'])) {
$query = "SELECT id
FROM `civicrm_dashboard`
WHERE url LIKE '" . CRM_Utils_Array::value('instanceURL', $params) . "&%'";
WHERE url LIKE '" . ($params['instanceURL'] ?? '') . "&%'";
$dashboardID = CRM_Core_DAO::singleValueQuery($query);
}

Expand Down
2 changes: 1 addition & 1 deletion CRM/Core/BAO/File.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public static function create($params) {

$op = empty($params['id']) ? 'create' : 'edit';

CRM_Utils_Hook::pre($op, 'File', CRM_Utils_Array::value('id', $params), $params);
CRM_Utils_Hook::pre($op, 'File', $params['id'] ?? NULL, $params);

$fileDAO->copyValues($params);

Expand Down
8 changes: 4 additions & 4 deletions CRM/Core/BAO/Mapping.php
Original file line number Diff line number Diff line change
Expand Up @@ -483,22 +483,22 @@ public static function getMappingParams($defaults, $v) {
$saveMappingFields['name'] = $v['4'] ?? NULL;
}

if (is_numeric(CRM_Utils_Array::value('3', $v))) {
if (is_numeric($v['3'] ?? '')) {
$locationTypeId = $v['3'] ?? NULL;
}
elseif (is_numeric(CRM_Utils_Array::value('5', $v))) {
elseif (is_numeric($v['5'] ?? '')) {
$locationTypeId = $v['5'] ?? NULL;
}

if (is_numeric(CRM_Utils_Array::value('4', $v))) {
if (is_numeric($v['4'] ?? '')) {
if ($saveMappingFields['name'] === 'im') {
$saveMappingFields['im_provider_id'] = $v[4];
}
else {
$saveMappingFields['phone_type_id'] = $v['4'] ?? NULL;
}
}
elseif (is_numeric(CRM_Utils_Array::value('6', $v))) {
elseif (is_numeric($v['6'] ?? '')) {
$saveMappingFields['phone_type_id'] = $v['6'] ?? NULL;
}

Expand Down
2 changes: 1 addition & 1 deletion CRM/Core/BAO/UFField.php
Original file line number Diff line number Diff line change
Expand Up @@ -787,7 +787,7 @@ public static function assignAddressField($key, &$profileAddressFields, $profile

if (!empty($index) && (
// it's empty so we set it OR
!CRM_Utils_Array::value($prefixName, $profileAddressFields)
empty($profileAddressFields[$prefixName])
//we are dealing with billing id (precedence)
|| $index == $billing_id
// we are dealing with primary & billing not set
Expand Down
4 changes: 2 additions & 2 deletions CRM/Core/Form.php
Original file line number Diff line number Diff line change
Expand Up @@ -996,7 +996,7 @@ protected function formatParamsForPaymentProcessor($fields) {
*/
protected function prepareParamsForPaymentProcessor($params) {
// also add location name to the array
$params["address_name-{$this->_bltID}"] = CRM_Utils_Array::value('billing_first_name', $params) . ' ' . CRM_Utils_Array::value('billing_middle_name', $params) . ' ' . CRM_Utils_Array::value('billing_last_name', $params);
$params["address_name-{$this->_bltID}"] = ($params['billing_first_name'] ?? '') . ' ' . ($params['billing_middle_name'] ?? '') . ' ' . ($params['billing_last_name'] ?? '');
$params["address_name-{$this->_bltID}"] = trim($params["address_name-{$this->_bltID}"]);
// Add additional parameters that the payment processors are used to receiving.
if (!empty($params["billing_state_province_id-{$this->_bltID}"])) {
Expand Down Expand Up @@ -2381,7 +2381,7 @@ public function cancelAction() {
*/
public static function validateMandatoryFields($fields, $values, &$errors) {
foreach ($fields as $name => $fld) {
if (!empty($fld['is_required']) && CRM_Utils_System::isNull(CRM_Utils_Array::value($name, $values))) {
if (!empty($fld['is_required']) && CRM_Utils_System::isNull($values[$name] ?? NULL)) {
$errors[$name] = ts('%1 is a required field.', [1 => $fld['title']]);
}
}
Expand Down
2 changes: 1 addition & 1 deletion CRM/Cxn/ApiRouter.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public static function route($cxn, $entity, $action, $params) {
// FIXME: Shouldn't the X-Forwarded-Proto check be part of CRM_Utils_System::isSSL()?
if (Civi::settings()->get('enableSSL') &&
!CRM_Utils_System::isSSL() &&
strtolower(CRM_Utils_Array::value('X_FORWARDED_PROTO', CRM_Utils_System::getRequestHeaders())) != 'https'
strtolower(CRM_Utils_System::getRequestHeaders()['X_FORWARDED_PROTO'] ?? '') != 'https'
) {
return civicrm_api3_create_error('System policy requires HTTPS.');
}
Expand Down
12 changes: 6 additions & 6 deletions CRM/Dedupe/BAO/QueryBuilder/IndividualGeneral.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ public static function record($rg) {
$civicrm_address = $rg->params['civicrm_address'] ?? NULL;

// Since definitely have first and last name, escape them upfront.
$first_name = CRM_Core_DAO::escapeString(CRM_Utils_Array::value('first_name', $civicrm_contact, ''));
$last_name = CRM_Core_DAO::escapeString(CRM_Utils_Array::value('last_name', $civicrm_contact, ''));
$street_address = CRM_Core_DAO::escapeString(CRM_Utils_Array::value('street_address', $civicrm_address, ''));
$first_name = CRM_Core_DAO::escapeString($civicrm_contact['first_name'] ?? '');
$last_name = CRM_Core_DAO::escapeString($civicrm_contact['last_name'] ?? '');
$street_address = CRM_Core_DAO::escapeString($civicrm_address['street_address'] ?? '');

$query = "
SELECT contact1.id id1, {$rg->threshold} as weight
Expand All @@ -30,15 +30,15 @@ public static function record($rg) {
AND address1.street_address = '$street_address'
";

if ($birth_date = CRM_Core_DAO::escapeString(CRM_Utils_Array::value('birth_date', $civicrm_contact, ''))) {
if ($birth_date = CRM_Core_DAO::escapeString($civicrm_contact['birth_date'] ?? '')) {
$query .= " AND (contact1.birth_date IS NULL or contact1.birth_date = '$birth_date')\n";
}

if ($suffix_id = CRM_Core_DAO::escapeString(CRM_Utils_Array::value('suffix_id', $civicrm_contact, ''))) {
if ($suffix_id = CRM_Core_DAO::escapeString($civicrm_contact['suffix_id'] ?? '')) {
$query .= " AND (contact1.suffix_id IS NULL or contact1.suffix_id = $suffix_id)\n";
}

if ($middle_name = CRM_Core_DAO::escapeString(CRM_Utils_Array::value('middle_name', $civicrm_contact, ''))) {
if ($middle_name = CRM_Core_DAO::escapeString($civicrm_contact['middle_name'] ?? '')) {
$query .= " AND (contact1.middle_name IS NULL or contact1.middle_name = '$middle_name')\n";
}

Expand Down
Loading