REF - Cleanup array key checking to use array_key_exists
authorColeman Watts <coleman@civicrm.org>
Wed, 9 Jun 2021 13:41:52 +0000 (09:41 -0400)
committerColeman Watts <coleman@civicrm.org>
Wed, 9 Jun 2021 13:41:52 +0000 (09:41 -0400)
Before: in_array($foo, array_keys($bar))
After: array_key_exists($foo, $bar)

18 files changed:
CRM/Admin/Form/ContactType.php
CRM/Admin/Page/MessageTemplates.php
CRM/Contact/BAO/Query.php
CRM/Contact/Form/Search/Advanced.php
CRM/Contact/Import/Parser/Contact.php
CRM/Contribute/BAO/Contribution.php
CRM/Core/BAO/CustomField.php
CRM/Core/BAO/UFGroup.php
CRM/Core/I18n/Schema.php
CRM/Event/Import/Parser/Participant.php
CRM/Logging/Reverter.php
CRM/Price/BAO/PriceField.php
CRM/Report/Form.php
CRM/Report/Form/Contact/Relationship.php
api/v3/Contribution.php
ext/financialacls/financialacls.php
tests/phpunit/CRM/Contact/SelectorTest.php
tests/phpunit/CRM/Core/BAO/SchemaHandlerTest.php

index 857977f01e3220f5778417e0495c78671f7a38d9..661913613ac1be58d4d7a1dc9554cf5545439563 100644 (file)
@@ -89,7 +89,7 @@ class CRM_Admin_Form_ContactType extends CRM_Admin_Form {
 
     $reservedKeyWords = CRM_Core_SelectValues::customGroupExtends();
     //restrict "name" from being a reserved keyword when a new contact subtype is created
-    if (!$self->_id && in_array($contactName, array_keys($reservedKeyWords))) {
+    if (!$self->_id && array_key_exists($contactName, $reservedKeyWords)) {
       $errors['label'] = ts('Contact type names should not use reserved keywords.');
     }
     return empty($errors) ? TRUE : $errors;
index 36d52d56b43ed1e9b6ab7ee54b2d27f8955f9932..325b06528d1fa9e182749c814bbc728caff33c91 100644 (file)
@@ -136,7 +136,7 @@ class CRM_Admin_Page_MessageTemplates extends CRM_Core_Page_Basic {
   public function action(&$object, $action, &$values, &$links, $permission, $forceAction = FALSE) {
     if ($object->workflow_id) {
       // do not expose action link for reverting to default if the template did not diverge or we just reverted it now
-      if (!in_array($object->id, array_keys($this->_revertible)) or
+      if (!array_key_exists($object->id, $this->_revertible) or
         ($this->_action & CRM_Core_Action::REVERT and $object->id == $this->_revertedId)
       ) {
         $action &= ~CRM_Core_Action::REVERT;
index fed122e1011eae45097049c5c99f90a1721460f2..cdde954b26e77b95dece6dfe61a667c7f40d4dff 100644 (file)
@@ -1076,7 +1076,7 @@ class CRM_Contact_BAO_Query {
           $elementCmpName = 'phone';
         }
 
-        if (in_array($elementCmpName, array_keys($addressCustomFields))) {
+        if (array_key_exists($elementCmpName, $addressCustomFields)) {
           if ($cfID = CRM_Core_BAO_CustomField::getKeyID($elementCmpName)) {
             $addressCustomFieldIds[$cfID][$name] = 1;
           }
@@ -6330,7 +6330,7 @@ AND   displayRelType.is_active = 1
       $value = $formValues[$element] ?? NULL;
       if ($value) {
         if (is_array($value)) {
-          if (in_array($element, array_keys($changeNames))) {
+          if (array_key_exists($element, $changeNames)) {
             unset($formValues[$element]);
             $element = $changeNames[$element];
           }
index 95e981a63dad963c04a05539bb6f38902c17d513..73ddd7dfc8aef792af5b7a97b24af43aeec4bbde 100644 (file)
@@ -84,7 +84,7 @@ class CRM_Contact_Form_Search_Advanced extends CRM_Contact_Form_Search {
 
     $componentPanes = [];
     foreach ($components as $name => $component) {
-      if (in_array($name, array_keys($this->_searchOptions)) &&
+      if (array_key_exists($name, $this->_searchOptions) &&
         $this->_searchOptions[$name] &&
         CRM_Core_Permission::access($component->name)
       ) {
index c27da774e572303f44433ab6c306c4813d54c768..113248c951b6bf05313dd400e0a049df52bf40aa 100644 (file)
@@ -1892,7 +1892,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser {
       return array_keys($possibleMatches['values']);
     }
     if ($possibleMatches['count']) {
-      if (in_array($extIDMatch, array_keys($possibleMatches['values']))) {
+      if (array_key_exists($extIDMatch, $possibleMatches['values'])) {
         return [$extIDMatch];
       }
       throw new CRM_Core_Exception(ts(
index c65146e7a8b74c0a0f2d183e78a413ef74e7117e..df633551ae67b56741829d5b6efe3769d79460d5 100644 (file)
@@ -4429,7 +4429,7 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac
       'Chargeback' => 'Chargeback Account is',
     ];
 
-    if (in_array($contributionStatus, array_keys($preferredAccountsRelationships))) {
+    if (array_key_exists($contributionStatus, $preferredAccountsRelationships)) {
       $financialTypeID = !empty($params['financial_type_id']) ? $params['financial_type_id'] : $params['prevContribution']->financial_type_id;
       return CRM_Financial_BAO_FinancialAccount::getFinancialAccountForFinancialTypeByRelationship(
         $financialTypeID,
index fa81949a2eb0774a1c9ba10aa808732c57dd82b3..f62d22773c6f1d40a69b9af9f2d1575f6d0319c4 100644 (file)
@@ -336,7 +336,7 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
     }
     if ($customDataType && !is_array($customDataType)) {
 
-      if (in_array($customDataType, CRM_Contact_BAO_ContactType::subTypes())) {
+      if (in_array($customDataType, CRM_Contact_BAO_ContactType::subTypes(), TRUE)) {
         // This is the case when getFieldsForImport() requires fields
         // limited strictly to a subtype.
         $customDataSubType = $customDataType;
@@ -344,7 +344,7 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
         $onlySubType = TRUE;
       }
 
-      if (in_array($customDataType, array_keys(CRM_Core_SelectValues::customGroupExtends()))) {
+      if (array_key_exists($customDataType, CRM_Core_SelectValues::customGroupExtends())) {
         // this makes the method flexible to support retrieving fields
         // for multiple extends value.
         $customDataType = [$customDataType];
@@ -404,7 +404,7 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
         if (is_array($customDataType)) {
           $value = NULL;
           foreach ($customDataType as $dataType) {
-            if (in_array($dataType, array_keys(CRM_Core_SelectValues::customGroupExtends()))) {
+            if (array_key_exists($dataType, CRM_Core_SelectValues::customGroupExtends())) {
               if (in_array($dataType, ['Individual', 'Household', 'Organization'])) {
                 $val = "'" . CRM_Utils_Type::escape($dataType, 'String') . "', 'Contact' ";
               }
index d34bec68ed0fd12f45806d0b8a8f9ee94b166034..99e5ffc1864461f816aef6b8be4b0d95b83762b6 100644 (file)
@@ -443,7 +443,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
 
     $addressCustom = FALSE;
     if (in_array($permissionType, [CRM_Core_Permission::CREATE, CRM_Core_Permission::EDIT]) &&
-      in_array($field->field_name, array_keys($addressCustomFields))
+      array_key_exists($field->field_name, $addressCustomFields)
     ) {
       $addressCustom = TRUE;
       $name = "address_{$name}";
index 3a6e763d233c168afe427a5fc20006157339f482..0fc3bb6df768e6b84cf526271c0891b0fcca73ef 100644 (file)
@@ -461,14 +461,14 @@ class CRM_Core_I18n_Schema {
     $dao->query("DESCRIBE {$table}", FALSE);
     while ($dao->fetch()) {
       // view non-internationalized columns directly
-      if (!in_array($dao->Field, array_keys($columns[$table])) and
+      if (!array_key_exists($dao->Field, $columns[$table]) &&
         !preg_match('/_[a-z][a-z]_[A-Z][A-Z]$/', $dao->Field)
       ) {
         $cols[] = '`' . $dao->Field . '`';
       }
       $tableCols[] = $dao->Field;
     }
-    // view intrernationalized columns through an alias
+    // view internationalized columns through an alias
     foreach ($columns[$table] as $column => $_) {
       if (!$isUpgradeMode) {
         $cols[] = "`{$column}_{$locale}` `{$column}`";
index 8b679deff3a478b657c8201bf293310bf5b8474b..e9ce6d6b71d8e52dffdc23850ad6c0bbfb3813c8 100644 (file)
@@ -201,7 +201,7 @@ class CRM_Event_Import_Parser_Participant extends CRM_Event_Import_Parser {
         $val = explode(',', $val);
         if ($key == 'participant_role_id') {
           foreach ($val as $role) {
-            if (!in_array(trim($role), array_keys($roleIDs))) {
+            if (!array_key_exists(trim($role), $roleIDs)) {
               CRM_Contact_Import_Parser_Contact::addToErrorMsg('Participant Role Id', $errorMessage);
               break;
             }
@@ -219,7 +219,7 @@ class CRM_Event_Import_Parser_Participant extends CRM_Event_Import_Parser {
       elseif ($val && (($key == 'participant_status_id') || ($key == 'participant_status'))) {
         $statusIDs = CRM_Event_PseudoConstant::participantStatus();
         if ($key == 'participant_status_id') {
-          if (!in_array(trim($val), array_keys($statusIDs))) {
+          if (!array_key_exists(trim($val), $statusIDs)) {
             CRM_Contact_Import_Parser_Contact::addToErrorMsg('Participant Status Id', $errorMessage);
             break;
           }
index eb1c9dedc16c1f9964e89f519075838fc0821ec1..9d65c0c93875f2a9876c1091edb83614f5688a20 100644 (file)
@@ -140,7 +140,7 @@ class CRM_Logging_Reverter {
 
         // custom data tables
 
-        case in_array($table, array_keys($ctypes)):
+        case array_key_exists($table, $ctypes):
           foreach ($row as $id => $changes) {
             $inserts = ['id' => '%1'];
             $updates = [];
index db2687b1d36b27606ade6e53a41d42566178c062..f5435efda1ea4b50a0c89f96e3c234f68f69a015 100644 (file)
@@ -795,7 +795,7 @@ WHERE  id IN (" . implode(',', array_keys($priceFields)) . ')';
             $selectedAmounts[$opId] = $options[$opId]['amount'];
           }
         }
-        elseif (in_array($fields["price_{$fieldId}"], array_keys($options))) {
+        elseif (array_key_exists($fields["price_{$fieldId}"], $options)) {
           $selectedAmounts[$fields["price_{$fieldId}"]] = $options[$fields["price_{$fieldId}"]]['amount'];
         }
       }
index e89934a2c317659cd020dc0683d0aa209509b8c2..de0bb7b24f2d4a81eea09b30194872e6b930d7e7 100644 (file)
@@ -2259,7 +2259,7 @@ class CRM_Report_Form extends CRM_Core_Form {
     $relative, $from, $to, $type = NULL, $fromTime = NULL, $toTime = NULL
   ) {
     $clauses = [];
-    if (in_array($relative, array_keys($this->getOperationPair(CRM_Report_Form::OP_DATE)))) {
+    if (array_key_exists($relative, $this->getOperationPair(CRM_Report_Form::OP_DATE))) {
       $sqlOP = $this->getSQLOperator($relative);
       return "( {$fieldName} {$sqlOP} )";
     }
index 18ec0c724179cfcb1517e753c168aec8a408cd18..7937353467612ab1fee6d2968c229dd13c846e0c 100644 (file)
@@ -824,7 +824,7 @@ class CRM_Report_Form_Contact_Relationship extends CRM_Report_Form {
     $fieldName,
     $relative, $from, $to, $type = NULL) {
     $clauses = [];
-    if (in_array($relative, array_keys($this->getOperationPair(CRM_Report_Form::OP_DATE)))) {
+    if (array_key_exists($relative, $this->getOperationPair(CRM_Report_Form::OP_DATE))) {
       return NULL;
     }
 
index a4a358136157181ca6d03e1daaeedc388a63a456..e05bc759e147ac1d217139b3c86d8af548d6bb11 100644 (file)
@@ -51,7 +51,7 @@ function civicrm_api3_contribution_create($params) {
       $op = CRM_Core_Action::UPDATE;
     }
     CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($types, $op);
-    if (!in_array($params['financial_type_id'], array_keys($types))) {
+    if (!array_key_exists($params['financial_type_id'], $types)) {
       throw new API_Exception('You do not have permission to create this contribution');
     }
   }
index ddd51b22a2528d0d844ae220a2d4168b32253070..e649bb5a0f6c775a1dc610ea89fe1260e5aeabc9 100644 (file)
@@ -164,7 +164,7 @@ function financialacls_civicrm_pre($op, $objectName, $id, &$params) {
     if (empty($params['financial_type_id'])) {
       $params['financial_type_id'] = CRM_Core_DAO::getFieldValue('CRM_Price_DAO_LineItem', $params['id'], 'financial_type_id');
     }
-    if (!in_array($params['financial_type_id'], array_keys($types))) {
+    if (!array_key_exists($params['financial_type_id'], $types)) {
       throw new API_Exception('You do not have permission to ' . $op . ' this line item');
     }
   }
index 75f1a1d9410c17bd1cb68b7f7e45e5fcb42e09d9..2841d6f1f4510b33284b2e53c3d4abecae039606 100644 (file)
@@ -664,7 +664,7 @@ AND ( 1 ) AND (contact_a.is_deleted = 0)',
       FALSE, FALSE
     );
     //Check if custom table is included in $query->_tables.
-    $this->assertTrue(in_array($cgTableName, array_keys($query->_tables)));
+    $this->assertTrue(array_key_exists($cgTableName, $query->_tables));
     //Assert if from clause joins the custom table.
     $this->assertTrue(strpos($query->_fromClause, $cgTableName) !== FALSE);
     $this->callAPISuccess('CustomField', 'delete', ['id' => $customField['id']]);
index 273338a5dcc49096c4ad68877b32c9ecec79378e..ed28228217aac33df65af3ffc0496c5f9de9fe69 100644 (file)
@@ -306,7 +306,7 @@ class CRM_Core_BAO_SchemaHandlerTest extends CiviUnitTestCase {
     //Check if both indices are deleted.
     $indices = CRM_Core_BAO_SchemaHandler::getIndexes($tables);
     foreach ($tables as $index => $tableName) {
-      $this->assertFalse(in_array($index, array_keys($indices[$tableName])));
+      $this->assertFalse(array_key_exists($index, $indices[$tableName]));
     }
     //Drop false index and create again.
     CRM_Core_BAO_SchemaHandler::createMissingIndices($missingIndices);