Documentation

Deprecated

Table of Contents

civicrm-core-github/api/api.php
civicrm-core-github/api/v3/Case.php
civicrm-core-github/api/v3/Contribution/Transact.php
civicrm-core-github/api/v3/CustomField.php
civicrm-core-github/api/v3/Generic/Update.php
civicrm-core-github/api/v3/GroupContact.php
civicrm-core-github/api/v3/Mailing.php
civicrm-core-github/api/v3/MailingGroup.php
civicrm-core-github/api/v3/MembershipStatus.php
civicrm-core-github/api/v3/Note.php
civicrm-core-github/api/v3/Profile.php
civicrm-core-github/api/v3/Setting.php
civicrm-core-github/api/v3/utils.php
civicrm-core-github/bin/ContributionProcessor.php
civicrm-core-github/Civi/ActionSchedule/Events.php
civicrm-core-github/Civi/ActionSchedule/MappingBase.php
civicrm-core-github/Civi/Angular/AngularLoader.php
civicrm-core-github/Civi/Angular/Page/Modules.php
civicrm-core-github/Civi/API/Events.php
civicrm-core-github/Civi/API/Kernel.php
civicrm-core-github/Civi/API/Subscriber/DynamicFKAuthorization.php
civicrm-core-github/Civi/Api4/Action/Entity/Get.php
civicrm-core-github/Civi/Api4/Action/System/ResetPaths.php
civicrm-core-github/Civi/Api4/Event/CreateApi4RequestEvent.php
civicrm-core-github/Civi/Api4/Event/Events.php
civicrm-core-github/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php
civicrm-core-github/Civi/Api4/Event/Subscriber/IsCurrentSubscriber.php
civicrm-core-github/Civi/Api4/Generic/AbstractSaveAction.php
civicrm-core-github/Civi/Api4/Generic/BasicGetFieldsAction.php
civicrm-core-github/Civi/Api4/Generic/Traits/IsCurrentTrait.php
civicrm-core-github/Civi/Api4/Utils/CoreUtil.php
civicrm-core-github/Civi/Core/Event/GenericHookEvent.php
civicrm-core-github/Civi/Core/Event/SystemInstallEvent.php
civicrm-core-github/Civi/Core/Lock/LockInterface.php
civicrm-core-github/Civi/Core/Lock/NullLock.php
civicrm-core-github/Civi/Core/SettingsBag.php
civicrm-core-github/Civi/Core/SettingsManager.php
civicrm-core-github/Civi/Test/Api3TestTrait.php
civicrm-core-github/Civi/Token/Events.php
civicrm-core-github/Civi/Token/TokenException.php
civicrm-core-github/Civi/WorkflowMessage/Traits/ReflectiveWorkflowTrait.php
civicrm-core-github/CRM/ACL/API.php
civicrm-core-github/CRM/ACL/BAO/ACL.php
civicrm-core-github/CRM/ACL/BAO/ACLEntityRole.php
civicrm-core-github/CRM/ACL/BAO/EntityRole.php
civicrm-core-github/CRM/Activity/BAO/Activity.php
civicrm-core-github/CRM/Admin/Form/Preferences.php
civicrm-core-github/CRM/Admin/Form/Setting.php
civicrm-core-github/CRM/Badge/BAO/Layout.php
civicrm-core-github/CRM/Batch/BAO/Batch.php
civicrm-core-github/CRM/Batch/BAO/EntityBatch.php
civicrm-core-github/CRM/Batch/Page/AJAX.php
civicrm-core-github/CRM/Campaign/BAO/Campaign.php
civicrm-core-github/CRM/Campaign/BAO/Survey.php
civicrm-core-github/CRM/Campaign/Form/Campaign.php
civicrm-core-github/CRM/Case/BAO/Case.php
civicrm-core-github/CRM/Case/BAO/CaseContact.php
civicrm-core-github/CRM/Case/BAO/CaseType.php
civicrm-core-github/CRM/Case/Form/Case.php
civicrm-core-github/CRM/Case/XMLProcessor.php
civicrm-core-github/CRM/Contact/BAO/Contact/Permission.php
civicrm-core-github/CRM/Contact/BAO/Contact.php
civicrm-core-github/CRM/Contact/BAO/ContactType.php
civicrm-core-github/CRM/Contact/BAO/Group.php
civicrm-core-github/CRM/Contact/BAO/GroupContact.php
civicrm-core-github/CRM/Contact/BAO/Query.php
civicrm-core-github/CRM/Contact/BAO/Relationship.php
civicrm-core-github/CRM/Contact/BAO/RelationshipType.php
civicrm-core-github/CRM/Contact/BAO/SavedSearch.php
civicrm-core-github/CRM/Contact/BAO/SubscriptionHistory.php
civicrm-core-github/CRM/Contact/Form/CustomData.php
civicrm-core-github/CRM/Contact/Form/Edit/CustomData.php
civicrm-core-github/CRM/Contact/Form/Edit/Email.php
civicrm-core-github/CRM/Contact/Form/Edit/IM.php
civicrm-core-github/CRM/Contact/Form/Edit/OpenID.php
civicrm-core-github/CRM/Contact/Form/Edit/Phone.php
civicrm-core-github/CRM/Contact/Form/Task/EmailCommon.php
civicrm-core-github/CRM/Contact/Form/Task/Label.php
civicrm-core-github/CRM/Contact/Form/Task/LabelCommon.php
civicrm-core-github/CRM/Contact/Form/Task/PDFLetterCommon.php
civicrm-core-github/CRM/Contact/Page/AJAX.php
civicrm-core-github/CRM/Contact/Page/View/Relationship.php
civicrm-core-github/CRM/Contribute/BAO/Contribution/Utils.php
civicrm-core-github/CRM/Contribute/BAO/Contribution.php
civicrm-core-github/CRM/Contribute/BAO/ContributionPage.php
civicrm-core-github/CRM/Contribute/BAO/ContributionRecur.php
civicrm-core-github/CRM/Contribute/BAO/ContributionSoft.php
civicrm-core-github/CRM/Contribute/BAO/Premium.php
civicrm-core-github/CRM/Contribute/BAO/Product.php
civicrm-core-github/CRM/Contribute/Form/AbstractEditPayment.php
civicrm-core-github/CRM/Contribute/Form/AdditionalInfo.php
civicrm-core-github/CRM/Contribute/Form/AdditionalPayment.php
civicrm-core-github/CRM/Contribute/Form/Contribution/Confirm.php
civicrm-core-github/CRM/Contribute/Form/Contribution/Main.php
civicrm-core-github/CRM/Contribute/Form/Contribution.php
civicrm-core-github/CRM/Contribute/Form/ContributionBase.php
civicrm-core-github/CRM/Contribute/Form/ContributionRecur.php
civicrm-core-github/CRM/Core/BAO/ActionSchedule.php
civicrm-core-github/CRM/Core/BAO/Address.php
civicrm-core-github/CRM/Core/BAO/Block.php
civicrm-core-github/CRM/Core/BAO/Cache.php
civicrm-core-github/CRM/Core/BAO/ConfigSetting.php
civicrm-core-github/CRM/Core/BAO/CustomField.php
civicrm-core-github/CRM/Core/BAO/CustomGroup.php
civicrm-core-github/CRM/Core/BAO/CustomOption.php
civicrm-core-github/CRM/Core/BAO/Discount.php
civicrm-core-github/CRM/Core/BAO/Domain.php
civicrm-core-github/CRM/Core/BAO/Email.php
civicrm-core-github/CRM/Core/BAO/EntityTag.php
civicrm-core-github/CRM/Core/BAO/Extension.php
civicrm-core-github/CRM/Core/BAO/File.php
civicrm-core-github/CRM/Core/BAO/FinancialTrxn.php
civicrm-core-github/CRM/Core/BAO/IM.php
civicrm-core-github/CRM/Core/BAO/Job.php
civicrm-core-github/CRM/Core/BAO/LocationType.php
civicrm-core-github/CRM/Core/BAO/MailSettings.php
civicrm-core-github/CRM/Core/BAO/Mapping.php
civicrm-core-github/CRM/Core/BAO/MessageTemplate.php
civicrm-core-github/CRM/Core/BAO/Navigation.php
civicrm-core-github/CRM/Core/BAO/Note.php
civicrm-core-github/CRM/Core/BAO/OpenID.php
civicrm-core-github/CRM/Core/BAO/OptionGroup.php
civicrm-core-github/CRM/Core/BAO/OptionValue.php
civicrm-core-github/CRM/Core/BAO/Phone.php
civicrm-core-github/CRM/Core/BAO/PreferencesDate.php
civicrm-core-github/CRM/Core/BAO/RecurringEntity.php
civicrm-core-github/CRM/Core/BAO/Setting.php
civicrm-core-github/CRM/Core/BAO/Tag.php
civicrm-core-github/CRM/Core/BAO/UFField.php
civicrm-core-github/CRM/Core/BAO/UFGroup.php
civicrm-core-github/CRM/Core/BAO/UFJoin.php
civicrm-core-github/CRM/Core/BAO/UFMatch.php
civicrm-core-github/CRM/Core/BAO/Website.php
civicrm-core-github/CRM/Core/BAO/WordReplacement.php
civicrm-core-github/CRM/Core/CodeGen/Schema.php
civicrm-core-github/CRM/Core/Component.php
civicrm-core-github/CRM/Core/Config.php
civicrm-core-github/CRM/Core/Controller.php
civicrm-core-github/CRM/Core/DAO/AllCoreTables.php
civicrm-core-github/CRM/Core/DAO.php
civicrm-core-github/CRM/Core/Error.php
civicrm-core-github/CRM/Core/Exception.php
civicrm-core-github/CRM/Core/Form/Task/PDFLetterCommon.php
civicrm-core-github/CRM/Core/Form.php
civicrm-core-github/CRM/Core/I18n.php
civicrm-core-github/CRM/Core/Invoke.php
civicrm-core-github/CRM/Core/JobManager.php
civicrm-core-github/CRM/Core/Lock.php
civicrm-core-github/CRM/Core/OptionGroup.php
civicrm-core-github/CRM/Core/Page/EntityPageTrait.php
civicrm-core-github/CRM/Core/Payment/BaseIPN.php
civicrm-core-github/CRM/Core/Payment/PayPalImpl.php
civicrm-core-github/CRM/Core/Payment.php
civicrm-core-github/CRM/Core/PseudoConstant.php
civicrm-core-github/CRM/Core/SelectValues.php
civicrm-core-github/CRM/Core/Smarty/plugins/function.sectionTotal.php
civicrm-core-github/CRM/Core/Smarty.php
civicrm-core-github/CRM/Core/SmartyCompatibility.php
civicrm-core-github/CRM/Core/SmartyPageTrait.php
civicrm-core-github/CRM/Custom/Form/CustomData.php
civicrm-core-github/CRM/Custom/Form/Group.php
civicrm-core-github/CRM/Custom/Page/AJAX.php
civicrm-core-github/CRM/Dedupe/BAO/DedupeRuleGroup.php
civicrm-core-github/CRM/Dedupe/BAO/Exception.php
civicrm-core-github/CRM/Dedupe/BAO/Rule.php
civicrm-core-github/CRM/Dedupe/BAO/RuleGroup.php
civicrm-core-github/CRM/Dedupe/Finder.php
civicrm-core-github/CRM/Event/BAO/Event.php
civicrm-core-github/CRM/Event/BAO/Participant.php
civicrm-core-github/CRM/Event/BAO/ParticipantStatusType.php
civicrm-core-github/CRM/Event/Form/EventFees.php
civicrm-core-github/CRM/Event/Form/ManageEvent/EventInfo.php
civicrm-core-github/CRM/Event/Form/ManageEvent/Location.php
civicrm-core-github/CRM/Event/Form/ManageEvent/TabHeader.php
civicrm-core-github/CRM/Event/Form/Participant.php
civicrm-core-github/CRM/Event/Form/ParticipantFeeSelection.php
civicrm-core-github/CRM/Event/Form/Registration/Register.php
civicrm-core-github/CRM/Event/Form/Registration.php
civicrm-core-github/CRM/Event/Form/Task/Batch.php
civicrm-core-github/CRM/Event/PseudoConstant.php
civicrm-core-github/CRM/Extension/Info.php
civicrm-core-github/CRM/Extension/Upgrader/SchemaTrait.php
civicrm-core-github/CRM/Financial/BAO/EntityFinancialAccount.php
civicrm-core-github/CRM/Financial/BAO/FinancialAccount.php
civicrm-core-github/CRM/Financial/BAO/FinancialItem.php
civicrm-core-github/CRM/Financial/BAO/FinancialType.php
civicrm-core-github/CRM/Financial/BAO/Payment.php
civicrm-core-github/CRM/Financial/BAO/PaymentProcessor.php
civicrm-core-github/CRM/Financial/BAO/PaymentProcessorType.php
civicrm-core-github/CRM/Financial/Form/SalesTaxTrait.php
civicrm-core-github/CRM/Financial/Page/AJAX.php
civicrm-core-github/CRM/Import/Form/MapField.php
civicrm-core-github/CRM/Import/ImportProcessor.php
civicrm-core-github/CRM/Invoicing/Utils.php
civicrm-core-github/CRM/Mailing/BAO/Component.php
civicrm-core-github/CRM/Mailing/BAO/Mailing.php
civicrm-core-github/CRM/Mailing/BAO/MailingAB.php
civicrm-core-github/CRM/Mailing/BAO/MailingComponent.php
civicrm-core-github/CRM/Mailing/BAO/MailingJob.php
civicrm-core-github/CRM/Mailing/Event/BAO/MailingEventBounce.php
civicrm-core-github/CRM/Mailing/Event/BAO/MailingEventDelivered.php
civicrm-core-github/CRM/Mailing/Event/BAO/MailingEventQueue.php
civicrm-core-github/CRM/Member/BAO/Membership.php
civicrm-core-github/CRM/Member/BAO/MembershipBlock.php
civicrm-core-github/CRM/Member/BAO/MembershipLog.php
civicrm-core-github/CRM/Member/BAO/MembershipPayment.php
civicrm-core-github/CRM/Member/BAO/MembershipStatus.php
civicrm-core-github/CRM/Member/BAO/MembershipType.php
civicrm-core-github/CRM/Member/Form/Membership.php
civicrm-core-github/CRM/Member/Form.php
civicrm-core-github/CRM/Member/Page/Tab.php
civicrm-core-github/CRM/PCP/BAO/PCP.php
civicrm-core-github/CRM/PCP/BAO/PCPBlock.php
civicrm-core-github/CRM/Pledge/BAO/Pledge.php
civicrm-core-github/CRM/Pledge/BAO/PledgeBlock.php
civicrm-core-github/CRM/Pledge/BAO/PledgePayment.php
civicrm-core-github/CRM/Price/BAO/LineItem.php
civicrm-core-github/CRM/Price/BAO/PriceField.php
civicrm-core-github/CRM/Price/BAO/PriceFieldValue.php
civicrm-core-github/CRM/Price/BAO/PriceSet.php
civicrm-core-github/CRM/Queue/Queue.php
civicrm-core-github/CRM/Report/BAO/ReportInstance.php
civicrm-core-github/CRM/Report/Form.php
civicrm-core-github/CRM/SMS/BAO/SmsProvider.php
civicrm-core-github/CRM/SMS/Provider.php
civicrm-core-github/CRM/UF/Page/Field.php
civicrm-core-github/CRM/UF/Page/Group.php
civicrm-core-github/CRM/UF/Page/ProfileEditor.php
civicrm-core-github/CRM/Utils/Array.php
civicrm-core-github/CRM/Utils/Cache/ArrayCache.php
civicrm-core-github/CRM/Utils/Cache/CacheWrapper.php
civicrm-core-github/CRM/Utils/Cache/Interface.php
civicrm-core-github/CRM/Utils/CommaKV.php
civicrm-core-github/CRM/Utils/File.php
civicrm-core-github/CRM/Utils/Hook.php
civicrm-core-github/CRM/Utils/JSON.php
civicrm-core-github/CRM/Utils/Number.php
civicrm-core-github/CRM/Utils/Pager.php
civicrm-core-github/CRM/Utils/Recent.php
civicrm-core-github/CRM/Utils/Request.php
civicrm-core-github/CRM/Utils/REST.php
civicrm-core-github/CRM/Utils/Rule.php
civicrm-core-github/CRM/Utils/SoapServer.php
civicrm-core-github/CRM/Utils/SQL/TempTable.php
civicrm-core-github/CRM/Utils/SQL.php
civicrm-core-github/CRM/Utils/String.php
civicrm-core-github/CRM/Utils/System/Base.php
civicrm-core-github/CRM/Utils/System/Drupal8.php
civicrm-core-github/CRM/Utils/System/DrupalBase.php
civicrm-core-github/CRM/Utils/System.php
civicrm-core-github/CRM/Utils/Time.php
civicrm-core-github/CRM/Utils/Token.php
civicrm-core-github/ext/afform/core/Civi/Afform/Event/AfformValidateEvent.php
civicrm-core-github/ext/afform/core/Civi/Api4/Action/Afform/Submit.php
civicrm-core-github/ext/afform/core/CRM/Afform/AfformScanner.php
civicrm-core-github/ext/authx/tests/phpunit/Civi/Authx/AbstractFlowsTest.php
civicrm-core-github/ext/civi_contribute/Civi/Api4/Action/Payment/Get.php
civicrm-core-github/ext/civigrant/CRM/Grant/BAO/Grant.php
civicrm-core-github/ext/eventcart/CRM/Event/Cart/Form/Cart.php
civicrm-core-github/ext/flexmailer/src/Listener/BaseListener.php
civicrm-core-github/ext/flexmailer/src/Services.php
civicrm-core-github/ext/oauth-client/CRM/OAuth/MailSetup.php
civicrm-core-github/ext/oauth-client/CRM/OAuth/Page/Return.php
civicrm-core-github/ext/riverlea/riverlea.php
civicrm-core-github/ext/tellafriend/CRM/Friend/BAO/Friend.php
civicrm-core-github/tests/phpunit/api/v4/Action/FieldsCallbackTest.php
civicrm-core-github/tests/phpunit/api/v4/Custom/CustomTestBase.php
civicrm-core-github/tests/phpunit/api/v4/Mock/MockV4ReflectionGrandchild.php
civicrm-core-github/tests/phpunit/CiviTest/CiviUnitTestCase.php
civicrm-core-github/tests/phpunit/CRM/Contribute/Form/Contribution/ConfirmTest.php
civicrm-core-github/tests/phpunit/CRM/Core/DAO/AllCoreTablesTest.php
civicrm-core-github/tests/phpunit/CRM/Event/Form/Registration/ConfirmTest.php

api.php

Line Element Reason
27 civicrm_api()

Not recommended for new code but ok for existing code to continue using.

Calling civicrm_api() is functionally identical to civicrm_api3() or civicrm_api4() except:

  1. It requires $params['version'].
  2. It catches exceptions and returns an array like ['is_error' => 1, 'error_message' => ...]. This is disfavored for typical business-logic/hooks/forms/etc. However, if an existing caller handles civicrm_api()-style errors, then there is no functional benefit to reworking it.
299 _civicrm_api_get_entity_name_from_camel()

Case.php

Line Element Reason
473 civicrm_api3_case_update()

Update a specified case. Use civicrm_api3_case_create() instead.

Transact.php

Line Element Reason
41 civicrm_api3_contribution_transact()

CustomField.php

Line Element Reason
220 _civicrm_api3_custom_field_validate_field()

Update.php

Line Element Reason
39 civicrm_api3_generic_update()

GroupContact.php

Line Element Reason
132 civicrm_api3_group_contact_delete()
255 _civicrm_api3_group_contact_deprecation()

api notice

Mailing.php

Line Element Reason
337 civicrm_api3_mailing_event_confirm()
348 _civicrm_api3_mailing_deprecation()

api notice

MailingGroup.php

Line Element Reason
26 _civicrm_api3_mailing_group_deprecation()

api notice

45 civicrm_api3_mailing_group_event_unsubscribe()
58 civicrm_api3_mailing_group_event_domain_unsubscribe()
72 civicrm_api3_mailing_group_event_resubscribe()
85 civicrm_api3_mailing_group_event_subscribe()

MembershipStatus.php

Line Element Reason
71 civicrm_api3_membership_status_update()
  • should just use create

Note.php

Line Element Reason
99 civicrm_api3_note_tree_get()

Profile.php

Line Element Reason
331 civicrm_api3_profile_apply()
  • appears to be an internal function - should not be accessible via api Provide formatted values for profile fields.
746 _civicrm_api3_profile_deprecation()

api notice

Setting.php

Line Element Reason
216 civicrm_api3_setting_fill()

utils.php

Line Element Reason
618 _civicrm_api3_dao_set_filter()

DAO based retrieval is being phased out.

950 _civicrm_api3_dao_to_array()
  • DAO based retrieval is being phased out.

ContributionProcessor.php

Line Element Reason
360 CiviContributeProcessor::processAPIContribution()

function.

This function has probably been defunct for quite a long time.

Events.php

Line Element Reason
10 Events::MAPPINGS
  • You may simply use the event name directly. dev/core#1744
16 Events::MAILING_QUERY
  • You may simply use the event name directly. dev/core#1744

MappingBase.php

Line Element Reason
55 MappingBase::getEntity()

AngularLoader.php

Line Element Reason
99 AngularLoader::load()

Modules.php

Line Element Reason
32 Modules::run()

Events.php

Line Element Reason
28 Events::AUTHORIZE
  • You may simply use the event name directly. dev/core#1744
34 Events::RESOLVE
  • You may simply use the event name directly. dev/core#1744
40 Events::PREPARE
  • You may simply use the event name directly. dev/core#1744
48 Events::RESPOND
  • You may simply use the event name directly. dev/core#1744
56 Events::EXCEPTION
  • You may simply use the event name directly. dev/core#1744

Kernel.php

Line Element Reason
57 Kernel::run()

DynamicFKAuthorization.php

Line Element Reason
38 DynamicFKAuthorization

APIv3 only.

Given an entity which dynamically attaches itself to another entity, determine if one has permission to the other entity.

Example: Suppose one tries to manipulate a File which is attached to a Mailing. DynamicFKAuthorization will enforce permissions on the File by imitating the permissions of the Mailing.

Note: This enforces a constraint: all matching API calls must define "id" (e.g. for the file) or "entity_table+entity_id" or "field_name+entity_id".

Note: The permission guard does not exactly authorize the request, but it may veto authorization.

Get.php

Line Element Reason
28 Get::$includeCustom

ResetPaths.php

Line Element Reason
20 ResetPaths

CreateApi4RequestEvent.php

Line Element Reason
19 CreateApi4RequestEvent

Events.php

Line Element Reason
18 Events
24 Events::SCHEMA_MAP_BUILD

Just use the string instead of the constant when listening for this event

PreSaveSubscriber.php

Line Element Reason
23 PreSaveSubscriber

IsCurrentSubscriber.php

Line Element Reason
23 IsCurrentSubscriber

AbstractSaveAction.php

Line Element Reason
125 AbstractSaveAction::getIdField()

BasicGetFieldsAction.php

Line Element Reason
71 BasicGetFieldsAction::$includeCustom

IsCurrentTrait.php

Line Element Reason
18 IsCurrentTrait
32 IsCurrentTrait::getCurrent()
41 IsCurrentTrait::setCurrent()
26 IsCurrentTrait::$current

CoreUtil.php

Line Element Reason
244 CoreUtil::isCustomEntity()

since 5.71 will be removed around 5.81

GenericHookEvent.php

Line Element Reason
174 GenericHookEvent::getReturnValues()
183 GenericHookEvent::addReturnValues()
95 GenericHookEvent::$returnValues

SystemInstallEvent.php

Line Element Reason
25 SystemInstallEvent::EVENT_NAME
  • You may simply use the event name directly. dev/core#1744

LockInterface.php

Line Element Reason
41 LockInterface::isFree()

Not supported by some locking strategies. If you need to poll, better to use acquire(0).

NullLock.php

Line Element Reason
65 NullLock::isFree()

Not supported by some locking strategies. If you need to poll, better to use acquire(0).

SettingsBag.php

Line Element Reason
218 SettingsBag::hasExplict()

SettingsManager.php

Line Element Reason
147 SettingsManager::useDefaults()

Api3TestTrait.php

Line Element Reason
152 Api3TestTrait::callAPIAndDocument()

Events.php

Line Element Reason
10 Events::TOKEN_REGISTER
  • You may simply use the event name directly. dev/core#1744
16 Events::TOKEN_EVALUATE
  • You may simply use the event name directly. dev/core#1744
22 Events::TOKEN_RENDER
  • You may simply use the event name directly. dev/core#1744

TokenException.php

Line Element Reason
9 TokenException

Unused - non-compliant namespace -see https://github.com/civicrm/civicrm-core/pull/25634

ReflectiveWorkflowTrait.php

Line Element Reason
52 ReflectiveWorkflowTrait::getGroupName()

It is not recommended that new things depend on the group-name. However, the plumbing still passes-through the group-name.

API.php

Line Element Reason
44 CRM_ACL_API::check()

ACL.php

Line Element Reason
155 CRM_ACL_BAO_ACL::create()
166 CRM_ACL_BAO_ACL::retrieve()
177 CRM_ACL_BAO_ACL::setIsActive()
  • this bypasses hooks.
190 CRM_ACL_BAO_ACL::check()
411 CRM_ACL_BAO_ACL::del()

ACLEntityRole.php

Line Element Reason
41 CRM_ACL_BAO_ACLEntityRole::create()
52 CRM_ACL_BAO_ACLEntityRole::retrieve()
63 CRM_ACL_BAO_ACLEntityRole::setIsActive()
  • this bypasses hooks.
75 CRM_ACL_BAO_ACLEntityRole::del()

EntityRole.php

Line Element Reason
21 CRM_ACL_BAO_EntityRole

Activity.php

Line Element Reason
68 CRM_Activity_BAO_Activity::retrieve()

Fetch object based on array of properties.

913 CRM_Activity_BAO_Activity::createEmailActivity()
990 CRM_Activity_BAO_Activity::sendEmail()
1163 CRM_Activity_BAO_Activity::sendSMS()

since 5.71.

This function has no core usage. There is some non-core usage. At some point we should add a suitable api & noisily deprecate this / set an tentative removal date.

1358 CRM_Activity_BAO_Activity::sendMessage()
1428 CRM_Activity_BAO_Activity::getContactActivity()
  • use the api instead.

Get the Activities of a target contact.

Preferences.php

Line Element Reason
21 CRM_Admin_Form_Preferences

use CRM_Admin_Form_Generic instead.

Setting.php

Line Element Reason
21 CRM_Admin_Form_Setting

use CRM_Admin_Form_Generic instead.

33 CRM_Admin_Form_Setting::$_settings
  • do not add new settings here - the page to display settings on should be defined in the setting metadata.

Layout.php

Line Element Reason
28 CRM_Badge_BAO_Layout::retrieve()
38 CRM_Badge_BAO_Layout::setIsActive()
  • this bypasses hooks.
90 CRM_Badge_BAO_Layout::del()

Batch.php

Line Element Reason
41 CRM_Batch_BAO_Batch::create()
78 CRM_Batch_BAO_Batch::retrieve()

EntityBatch.php

Line Element Reason
65 CRM_Batch_BAO_EntityBatch::del()

AJAX.php

Line Element Reason
41 CRM_Batch_Page_AJAX::getBatchList()

Campaign.php

Line Element Reason
26 CRM_Campaign_BAO_Campaign::create()
71 CRM_Campaign_BAO_Campaign::del()
88 CRM_Campaign_BAO_Campaign::retrieve()
276 CRM_Campaign_BAO_Campaign::isCampaignEnable()
321 CRM_Campaign_BAO_Campaign::setIsActive()
  • this bypasses hooks.

Survey.php

Line Element Reason
29 CRM_Campaign_BAO_Survey::retrieve()
40 CRM_Campaign_BAO_Survey::create()
149 CRM_Campaign_BAO_Survey::getSurveyCustomGroups()

since 5.71 will be removed around 5.85.

188 CRM_Campaign_BAO_Survey::setIsActive()
  • this bypasses hooks.
200 CRM_Campaign_BAO_Survey::del()

Campaign.php

Line Element Reason
67 CRM_Campaign_Form_Campaign::$_campaignId

use getCampaignID()

Case.php

Line Element Reason
37 CRM_Case_BAO_Case::enabled()
2971 CRM_Case_BAO_Case::buildOptions()

CaseContact.php

Line Element Reason
31 CRM_Case_BAO_CaseContact::create()

CaseType.php

Line Element Reason
452 CRM_Case_BAO_CaseType::del()

Case.php

Line Element Reason
100 CRM_Case_Form_Case::$_caseStatusId

This is inconsistently set & likely to be replaced by a local variable or getter.

XMLProcessor.php

Line Element Reason
47 CRM_Case_XMLProcessor::mungeCaseType()

Permission.php

Line Element Reason
32 CRM_Contact_BAO_Contact_Permission::setUseTemporaryTable()
43 CRM_Contact_BAO_Contact_Permission::getUseTemporaryTable()
24 CRM_Contact_BAO_Contact_Permission::$useTempTable

Contact.php

Line Element Reason
792 CRM_Contact_BAO_Contact::retrieve()

This is called from a few places but creates rather than solves complexity.

2504 CRM_Contact_BAO_Contact::getValues()

avoid this function, no planned removed at this stage as there are still core callers.

3315 CRM_Contact_BAO_Contact::buildOptions()

ContactType.php

Line Element Reason
27 CRM_Contact_BAO_ContactType::retrieve()
391 CRM_Contact_BAO_ContactType::del()
494 CRM_Contact_BAO_ContactType::add()
505 CRM_Contact_BAO_ContactType::setIsActive()
  • this bypasses hooks.

Group.php

Line Element Reason
29 CRM_Contact_BAO_Group::retrieve()
340 CRM_Contact_BAO_Group::create()

Create a new group.

352 CRM_Contact_BAO_Group::createSmartGroup()
378 CRM_Contact_BAO_Group::setIsActive()
  • this bypasses hooks.

GroupContact.php

Line Element Reason
35 CRM_Contact_BAO_GroupContact::add()
516 CRM_Contact_BAO_GroupContact::create()
533 CRM_Contact_BAO_GroupContact::isContactInGroup()
749 CRM_Contact_BAO_GroupContact::buildOptions()

Query.php

Line Element Reason
4602 CRM_Contact_BAO_Query::apiQuery()

since 5.71 - will be removed after all core usages are fully removed.

Relationship.php

Line Element Reason
364 CRM_Contact_BAO_Relationship::dataExists()
557 CRM_Contact_BAO_Relationship::del()
717 CRM_Contact_BAO_Relationship::checkValidRelationship()
1819 CRM_Contact_BAO_Relationship::getContactRelationshipSelector()

since 5.68. Will be removed around 5.74.

Only-used-by-user-dashboard.

1964 CRM_Contact_BAO_Relationship::getColumnHeaders()

since 5.68. Will be removed around 5.74.

Only-used-by-user-dashboard.

2020 CRM_Contact_BAO_Relationship::buildOptions()

RelationshipType.php

Line Element Reason
29 CRM_Contact_BAO_RelationshipType::retrieve()
39 CRM_Contact_BAO_RelationshipType::setIsActive()
  • this bypasses hooks.
49 CRM_Contact_BAO_RelationshipType::add()
60 CRM_Contact_BAO_RelationshipType::del()

SavedSearch.php

Line Element Reason
37 CRM_Contact_BAO_SavedSearch::retrieve()
234 CRM_Contact_BAO_SavedSearch::getName()
243 CRM_Contact_BAO_SavedSearch::create()

SubscriptionHistory.php

Line Element Reason
28 CRM_Contact_BAO_SubscriptionHistory::create()

CustomData.php

Line Element Reason
164 CRM_Contact_Form_CustomData::preProcessCustomData()

see https://github.com/civicrm/civicrm-core/pull/29241 for preferred approach - basically

  1. at the tpl layer use CRM/common/customDataBlock.tpl
  2. to make the fields available for postProcess if ($this->isSubmitted()) { $this->addCustomDataFieldsToForm('FinancialAccount'); }
  3. pass getSubmittedValues() to CRM_Core_BAO_CustomField::postProcess($this->getSubmittedValues(), $this->_id, 'FinancialAccount'); to ensure any money or number fields are handled for localisation

CustomData.php

Line Element Reason
23 CRM_Contact_Form_Edit_CustomData

since 5.73 will be removed around 5.85

34 CRM_Contact_Form_Edit_CustomData::preProcess()

since 5.73 will be removed around 5.85

59 CRM_Contact_Form_Edit_CustomData::buildQuickForm()

since 5.73 will be removed around 5.85

94 CRM_Contact_Form_Edit_CustomData::setDefaultValues()

since 5.73 will be removed around 5.85

Email.php

Line Element Reason
35 CRM_Contact_Form_Edit_Email::buildQuickForm()

since 6.3 will be removed around 6.10

IM.php

Line Element Reason
35 CRM_Contact_Form_Edit_IM::buildQuickForm()

since 6.3 will be removed around 6.10

OpenID.php

Line Element Reason
34 CRM_Contact_Form_Edit_OpenID::buildQuickForm()

since 6.3 will be removed around 6.10

Phone.php

Line Element Reason
35 CRM_Contact_Form_Edit_Phone::buildQuickForm()

since 6.3 will be removed around 6.10

EmailCommon.php

Line Element Reason
38 CRM_Contact_Form_Task_EmailCommon::preProcessFromAddress()

Label.php

Line Element Reason
113 CRM_Contact_Form_Task_Label::tokenIsFound()

since 5.78 will be removed around 5.84

LabelCommon.php

Line Element Reason
23 CRM_Contact_Form_Task_LabelCommon

since 6.3 will be removed around 6.15

37 CRM_Contact_Form_Task_LabelCommon::createLabel()

since 6.3 will be removed around 6.15

74 CRM_Contact_Form_Task_LabelCommon::getRows()

since 6.3 will be removed around 6.15

175 CRM_Contact_Form_Task_LabelCommon::getAddressReturnProperties()

since 6.3 will be removed around 6.15

195 CRM_Contact_Form_Task_LabelCommon::mergeSameHousehold()

since 6.3 will be removed around 6.15

PDFLetterCommon.php

Line Element Reason
23 CRM_Contact_Form_Task_PDFLetterCommon

since 5.59 will be removed around 5.89.

AJAX.php

Line Element Reason
930 CRM_Contact_Page_AJAX::getContactRelationships()

since 5.68. Will be removed around 5.74.

Only-used-by-user-dashboard.

Relationship.php

Line Element Reason
237 CRM_Contact_Page_View_Relationship::links()

since 5.68. Will be removed around 5.74.

Only-used-by-user-dashboard.

Utils.php

Line Element Reason
29 CRM_Contribute_BAO_Contribution_Utils::contributionChartMonthly()

since 5.80 will be removed around 5.90

71 CRM_Contribute_BAO_Contribution_Utils::contributionChartYearly()

since 5.80 will be removed around 5.90

230 CRM_Contribute_BAO_Contribution_Utils::getContributionStatuses()

This is called from a couple of places outside of core so it has been made unused and deprecated rather than having the now-obsolete parameter change. It should work much the same for the places that call it with a notice. It is not an api function & not supported for use outside core. Extensions should write their own functions.

Contribution.php

Line Element Reason
352 CRM_Contribute_BAO_Contribution::getValuesWithMappings()
477 CRM_Contribute_BAO_Contribution::getNumTermsByContributionAndMembershipType()
739 CRM_Contribute_BAO_Contribution::importableFields()
1467 CRM_Contribute_BAO_Contribution::getHonorContacts()
1597 CRM_Contribute_BAO_Contribution::getContributionDetails()

since 5.72 will be removed around 5.90

1773 CRM_Contribute_BAO_Contribution::getComponentDetails()

since 6.2 will be removed when core callers fully removed.

3069 CRM_Contribute_BAO_Contribution::buildOptions()
3691 CRM_Contribute_BAO_Contribution::checkContributeSettings()

since 5.68 will be removed around 5.74.

4036 CRM_Contribute_BAO_Contribution::getContributionTokenValues()
62 CRM_Contribute_BAO_Contribution::$_relatedObjects

ContributionPage.php

Line Element Reason
33 CRM_Contribute_BAO_ContributionPage::create()
56 CRM_Contribute_BAO_ContributionPage::setIsActive()
  • this bypasses hooks.
616 CRM_Contribute_BAO_ContributionPage::buildCustomDisplay()

assigning values to smarty like this is risky because

  • it is hard to debug since $name is used in the assign
  • it is potentially 'leaky' - it's better to do this on the form or close to where it is used / required. See CRM-17519 for leakage e.g.
925 CRM_Contribute_BAO_ContributionPage::getIsMembershipPayment()

ContributionRecur.php

Line Element Reason
36 CRM_Contribute_BAO_ContributionRecur::create()

since 5.76 will be removed around 5.90. Non-core users should all use the api.

57 CRM_Contribute_BAO_ContributionRecur::add()

since 5.76 will be removed around 5.96. Non-core users should all use the api. As of writing there are some core users.

220 CRM_Contribute_BAO_ContributionRecur::getCount()

use the api.

621 CRM_Contribute_BAO_ContributionRecur::copyCustomValues()
1024 CRM_Contribute_BAO_ContributionRecur::buildOptions()

ContributionSoft.php

Line Element Reason
98 CRM_Contribute_BAO_ContributionSoft::formatSoftCreditParams()

since 6.10 will be removed around 6.22

191 CRM_Contribute_BAO_ContributionSoft::retrieve()

Premium.php

Line Element Reason
35 CRM_Contribute_BAO_Premium::retrieve()
45 CRM_Contribute_BAO_Premium::setIsActive()
  • this bypasses hooks.
57 CRM_Contribute_BAO_Premium::del()
177 CRM_Contribute_BAO_Premium::parseProductOptions()

Product.php

Line Element Reason
25 CRM_Contribute_BAO_Product::retrieve()
42 CRM_Contribute_BAO_Product::create()

AbstractEditPayment.php

Line Element Reason
45 CRM_Contribute_Form_AbstractEditPayment::$_bltID

AdditionalInfo.php

Line Element Reason
32 CRM_Contribute_Form_AdditionalInfo::buildPremium()

since 6.0 will be removed around 6.6.

81 CRM_Contribute_Form_AdditionalInfo::buildAdditionalDetail()

since 6.0 will be removed around 6.6.

AdditionalPayment.php

Line Element Reason
453 CRM_Contribute_Form_AdditionalPayment::testSubmit()

since 5.69 will be removed around 5.75

48 CRM_Contribute_Form_AdditionalPayment::$_contactId
  • use parent $this->contactID

Confirm.php

Line Element Reason
38 CRM_Contribute_Form_Contribution_Confirm::$_contributionID

use getContributionID()

Main.php

Line Element Reason
1368 CRM_Contribute_Form_Contribution_Main::testSubmit()
  • we are ditching this approach in favour of 'full form flow' = ie simulating postProcess.

Contribution.php

Line Element Reason
98 CRM_Contribute_Form_Contribution::$_values
  • try to use getContributionValue() instead as it is strictly a cached lookup on the contribution values, rather than a grab-bag.

ContributionBase.php

Line Element Reason
87 CRM_Contribute_Form_ContributionBase::$_separateMembershipPayment

use $this->isSeparateMembershipPayment() function.

180 CRM_Contribute_Form_ContributionBase::$_isBillingAddressRequiredForPayLater

ContributionRecur.php

Line Element Reason
45 CRM_Contribute_Form_ContributionRecur::$_crid

ActionSchedule.php

Line Element Reason
252 CRM_Core_BAO_ActionSchedule::add()
303 CRM_Core_BAO_ActionSchedule::retrieve()
317 CRM_Core_BAO_ActionSchedule::del()
328 CRM_Core_BAO_ActionSchedule::setIsActive()
  • this bypasses hooks.
536 CRM_Core_BAO_ActionSchedule::getRecipientListing()
841 CRM_Core_BAO_ActionSchedule::getAdditionalRecipients()

Address.php

Line Element Reason
35 CRM_Core_BAO_Address::create()
51 CRM_Core_BAO_Address::add()
1251 CRM_Core_BAO_Address::del()
1262 CRM_Core_BAO_Address::buildOptions()

Block.php

Line Element Reason
303 CRM_Core_BAO_Block::blockDelete()
  • just call the BAO / api directly.

Cache.php

Line Element Reason
47 CRM_Core_BAO_Cache::resetCaches()

Deprecated Jun 2025 in favor of Civi::rebuild(). Reassess after Jun 2026. For an extension bridging before+after, suggest guard like: if (version_compare(CRM_Utils_System::version(), 'X.Y.Z', '>=')) Civi::rebuild(...)->execute() else CRM_Core_BAO_Cache::resetCaches(); Choose an 'X.Y.Z' after determining that your preferred rebuild-target(s) are specifically available in X.Y.Z.

274 CRM_Core_BAO_Cache::cleanKey()

ConfigSetting.php

Line Element Reason
48 CRM_Core_BAO_ConfigSetting::add()

This method was historically used to access civicrm_domain.config_backend. However, that has been fully replaced by the settings system since v4.7.

79 CRM_Core_BAO_ConfigSetting::retrieve()

This method was historically used to access civicrm_domain.config_backend. However, that has been fully replaced by the settings system since v4.7.

255 CRM_Core_BAO_ConfigSetting::doSiteMove()

Does anyone use this function? Does it do what you expect?

CustomField.php

Line Element Reason
162 CRM_Core_BAO_CustomField::create()
200 CRM_Core_BAO_CustomField::bulkSave()
278 CRM_Core_BAO_CustomField::retrieve()
288 CRM_Core_BAO_CustomField::setIsActive()
  • this bypasses hooks.
357 CRM_Core_BAO_CustomField::getFields()

since 5.71

579 CRM_Core_BAO_CustomField::getFieldObject()
1043 CRM_Core_BAO_CustomField::deleteField()
2297 CRM_Core_BAO_CustomField::customOptionGroup()

Use the API OptionGroup.get

2488 CRM_Core_BAO_CustomField::getCustomFieldID()

Old function with weirdly ambiguous logic. Only used by APIv3. Use at your peril.

2528 CRM_Core_BAO_CustomField::getNameFromID()

Old function only used by APIv3.

2718 CRM_Core_BAO_CustomField::getEntity()

CustomGroup.php

Line Element Reason
375 CRM_Core_BAO_CustomGroup::retrieve()
401 CRM_Core_BAO_CustomGroup::setIsActive()
  • this bypasses hooks.
427 CRM_Core_BAO_CustomGroup::hasCustomGroup()

since 5.71 will be removed around 5.85.

442 CRM_Core_BAO_CustomGroup::autoCreateByActivityType()

Function moved

486 CRM_Core_BAO_CustomGroup::getTree()

Function demonstrates just how bad code can get from 20 years of entropy.

This function takes an overcomplicated set of params and returns an overcomplicated mix of custom groups, custom fields, custom values (if passed $entityID), and other random stuff.

607 CRM_Core_BAO_CustomGroup::buildLegacyGroupTree()

only used by legacy function.

634 CRM_Core_BAO_CustomGroup::formatLegacyDbValues()

only used by legacy functions.

899 CRM_Core_BAO_CustomGroup::getGroupDetail()

Legacy function

919 CRM_Core_BAO_CustomGroup::getCustomGroupDetail()

Legacy function

1313 CRM_Core_BAO_CustomGroup::checkCustomField()

Silly function that does almost nothing.

1569 CRM_Core_BAO_CustomGroup::getGroupTitles()

Silly function that shouldn't exist.

1627 CRM_Core_BAO_CustomGroup::getExtendedObjectTypes()
1828 CRM_Core_BAO_CustomGroup::getSubTypes()

as of 5.72 use getExtendsEntityColumnValueOptions - will be removed by 5.78

CustomOption.php

Line Element Reason
33 CRM_Core_BAO_CustomOption::retrieve()

Discount.php

Line Element Reason
29 CRM_Core_BAO_Discount::del()

Domain.php

Line Element Reason
48 CRM_Core_BAO_Domain::retrieve()
137 CRM_Core_BAO_Domain::getLocationValues()

since 6.3 will be removed around 6.13.

162 CRM_Core_BAO_Domain::edit()
174 CRM_Core_BAO_Domain::create()
183 CRM_Core_BAO_Domain::multipleDomains()
248 CRM_Core_BAO_Domain::addContactToDomainGroup()

Email.php

Line Element Reason
33 CRM_Core_BAO_Email::create()
106 CRM_Core_BAO_Email::add()
360 CRM_Core_BAO_Email::del()

EntityTag.php

Line Element Reason
54 CRM_Core_BAO_EntityTag::add()
98 CRM_Core_BAO_EntityTag::del()

WARNING: Nonstandard params searches by tag_id rather than id!

258 CRM_Core_BAO_EntityTag::create()
443 CRM_Core_BAO_EntityTag::buildOptions()

Extension.php

Line Element Reason
29 CRM_Core_BAO_Extension::retrieve()
44 CRM_Core_BAO_Extension::del()

File.php

Line Element Reason
39 CRM_Core_BAO_File::create()

FinancialTrxn.php

Line Element Reason
62 CRM_Core_BAO_FinancialTrxn::retrieve()
360 CRM_Core_BAO_FinancialTrxn::getTotalPayments()

use Apiv4.

IM.php

Line Element Reason
31 CRM_Core_BAO_IM::create()
53 CRM_Core_BAO_IM::add()
170 CRM_Core_BAO_IM::del()

Job.php

Line Element Reason
43 CRM_Core_BAO_Job::retrieve()
54 CRM_Core_BAO_Job::setIsActive()
  • this bypasses hooks.
68 CRM_Core_BAO_Job::del()

LocationType.php

Line Element Reason
35 CRM_Core_BAO_LocationType::retrieve()
45 CRM_Core_BAO_LocationType::setIsActive()
  • this bypasses hooks.
87 CRM_Core_BAO_LocationType::create()
98 CRM_Core_BAO_LocationType::del()

MailSettings.php

Line Element Reason
123 CRM_Core_BAO_MailSettings::retrieve()
137 CRM_Core_BAO_MailSettings::add()

since 5.72 will be removed around 5.82

Mapping.php

Line Element Reason
25 CRM_Core_BAO_Mapping::retrieve()
38 CRM_Core_BAO_Mapping::del()
49 CRM_Core_BAO_Mapping::add()
140 CRM_Core_BAO_Mapping::getMappingFields()

to be removed.

233 CRM_Core_BAO_Mapping::checkMapping()

since 6.6 will be removed around 6.12

546 CRM_Core_BAO_Mapping::getCustomGroupName()

since 5.71 will be removed around 5.85.

775 CRM_Core_BAO_Mapping::removeFieldFromMapping()

MessageTemplate.php

Line Element Reason
34 CRM_Core_BAO_MessageTemplate::retrieve()
45 CRM_Core_BAO_MessageTemplate::setIsActive()
  • this bypasses hooks.
157 CRM_Core_BAO_MessageTemplate::del()

Navigation.php

Line Element Reason
64 CRM_Core_BAO_Navigation::setIsActive()
  • this bypasses hooks.
76 CRM_Core_BAO_Navigation::add()
116 CRM_Core_BAO_Navigation::retrieve()
593 CRM_Core_BAO_Navigation::processRename()
  • use API
604 CRM_Core_BAO_Navigation::processDelete()
  • use API

Note.php

Line Element Reason
232 CRM_Core_BAO_Note::del()
295 CRM_Core_BAO_Note::getContactNoteCount()
317 CRM_Core_BAO_Note::getNoteTree()

only called by deprecated APIv3

324 CRM_Core_BAO_Note::getChildCount()
350 CRM_Core_BAO_Note::buildNoteTree()

only called by deprecated APIv3

OpenID.php

Line Element Reason
31 CRM_Core_BAO_OpenID::create()
53 CRM_Core_BAO_OpenID::add()
132 CRM_Core_BAO_OpenID::del()

OptionGroup.php

Line Element Reason
25 CRM_Core_BAO_OptionGroup::retrieve()
35 CRM_Core_BAO_OptionGroup::setIsActive()
  • this bypasses hooks.
48 CRM_Core_BAO_OptionGroup::add()
73 CRM_Core_BAO_OptionGroup::del()

OptionValue.php

Line Element Reason
98 CRM_Core_BAO_OptionValue::retrieve()
108 CRM_Core_BAO_OptionValue::setIsActive()
  • this bypasses hooks.
217 CRM_Core_BAO_OptionValue::del()

Phone.php

Line Element Reason
31 CRM_Core_BAO_Phone::create()
53 CRM_Core_BAO_Phone::add()
238 CRM_Core_BAO_Phone::del()

PreferencesDate.php

Line Element Reason
25 CRM_Core_BAO_PreferencesDate::retrieve()
51 CRM_Core_BAO_PreferencesDate::del()

RecurringEntity.php

Line Element Reason
135 CRM_Core_BAO_RecurringEntity::add()

Setting.php

Line Element Reason
146 CRM_Core_BAO_Setting::setItem()
  • refer docs https://docs.civicrm.org/dev/en/latest/framework/setting/
385 CRM_Core_BAO_Setting::getSettingSpecification()

in 6.9 will be removed around 6.21

471 CRM_Core_BAO_Setting::setValueOption()

Tag.php

Line Element Reason
30 CRM_Core_BAO_Tag::retrieve()
352 CRM_Core_BAO_Tag::del()

UFField.php

Line Element Reason
116 CRM_Core_BAO_UFField::retrieve()
127 CRM_Core_BAO_UFField::setIsActive()
  • this bypasses hooks.
149 CRM_Core_BAO_UFField::del()
261 CRM_Core_BAO_UFField::copy()
280 CRM_Core_BAO_UFField::delUFField()

UFGroup.php

Line Element Reason
102 CRM_Core_BAO_UFGroup::setIsActive()
  • this bypasses hooks.
602 CRM_Core_BAO_UFGroup::getImportableFields()

use getProfileFieldMetadata

1362 CRM_Core_BAO_UFGroup::del()
2987 CRM_Core_BAO_UFGroup::encodeGroupType()

in CiviCRM 6.6

UFJoin.php

Line Element Reason
31 CRM_Core_BAO_UFJoin::create()

UFMatch.php

Line Element Reason
497 CRM_Core_BAO_UFMatch::isEmptyTable()
510 CRM_Core_BAO_UFMatch::getContactIDs()
530 CRM_Core_BAO_UFMatch::getAllowedToLogin()
548 CRM_Core_BAO_UFMatch::getNextUfIdValue()
569 CRM_Core_BAO_UFMatch::isDuplicateUser()

Website.php

Line Element Reason
31 CRM_Core_BAO_Website::create()
43 CRM_Core_BAO_Website::add()
98 CRM_Core_BAO_Website::del()

WordReplacement.php

Line Element Reason
29 CRM_Core_BAO_WordReplacement::retrieve()
42 CRM_Core_BAO_WordReplacement::edit()
61 CRM_Core_BAO_WordReplacement::create()
82 CRM_Core_BAO_WordReplacement::del()

Schema.php

Line Element Reason
11 CRM_Core_CodeGen_Schema

Replaced by CRM_Core_CodeGen_PhpSchema. Delete this after civicrm-core and civix drop their references. Maybe allow grace-period of a couple months.

Component.php

Line Element Reason
96 CRM_Core_Component::getComponentIDs()
331 CRM_Core_Component::contactSubTypes()
346 CRM_Core_Component::contactSubTypeProperties()

Config.php

Line Element Reason
119 CRM_Core_Config::getLog()
134 CRM_Core_Config::getMailer()
196 CRM_Core_Config::reset()
279 CRM_Core_Config::cleanupCaches()

Deprecated Feb 2025 in favor of Civi::rebuild(). Reassess after Jun 2026. For an extension bridging before+after, suggest guard like: if (version_compare(CRM_Utils_System::version(), 'X.Y.Z', '>=')) Civi::rebuild(...)->execute() else CRM_Core_Config::singleton()->cleanupCaches(); Choose an 'X.Y.Z' after determining that your preferred rebuild-target(s) are specifically available in X.Y.Z.

454 CRM_Core_Config::addressSequence()
462 CRM_Core_Config::defaultContactCountry()
470 CRM_Core_Config::defaultContactCountryName()
482 CRM_Core_Config::defaultCurrencySymbol()

Controller.php

Line Element Reason
631 CRM_Core_Controller::setWord()
653 CRM_Core_Controller::setExcel()

AllCoreTables.php

Line Element Reason
27 CRM_Core_DAO_AllCoreTables::init()

in 5.73 will be removed in 5.90

74 CRM_Core_DAO_AllCoreTables::get()

in 5.72 will be removed in 5.90.

103 CRM_Core_DAO_AllCoreTables::tokenClasses()

since 6.6 will be removed around 6.20.

182 CRM_Core_DAO_AllCoreTables::getCoreTables()

in 5.72 will be removed in 5.90

345 CRM_Core_DAO_AllCoreTables::getFullName()

in 5.72 will be removed in 5.96

366 CRM_Core_DAO_AllCoreTables::getBriefName()

in 5.72 will be removed in 5.102

411 CRM_Core_DAO_AllCoreTables::reinitializeCache()

in 5.54 will be removed in 5.85

DAO.php

Line Element Reason
1339 CRM_Core_DAO::getDatabaseName()

use mysql DATABASE() within the query.

1376 CRM_Core_DAO::schemaRequiresRebuilding()

in 5.72 will be removed in 5.85

1408 CRM_Core_DAO::checkFKConstraintInFormat()

in 5.72 will be removed in 5.85

1432 CRM_Core_DAO::checkFieldHasAlwaysValue()

in 5.72 will be removed in 5.85

1445 CRM_Core_DAO::checkFieldIsAlwaysNull()

in 5.72 will be removed in 5.85

1713 CRM_Core_DAO::getSortString()

in 5.72 will be removed in 5.85

1770 CRM_Core_DAO::deleteEntityContact()

in 5.47 will be removed in 5.80

2672 CRM_Core_DAO::triggerRebuild()
2683 CRM_Core_DAO::dropTriggers()
2694 CRM_Core_DAO::createTriggers()
2984 CRM_Core_DAO::buildOptions()

in favor of Civi::entity()->getOptions()

Overriding this function is no longer recommended as a way to customize options. Instead, option lists can be customized by either:

  1. Using a pseudoconstant callback
  2. Implementing hook_civicrm_fieldOptions
3013 CRM_Core_DAO::getOptionLabels()
3264 CRM_Core_DAO::setApiFilter()
3707 CRM_Core_DAO::isComponentEnabled()
89 CRM_Core_DAO::SERIALIZE_SEPARATOR_TRIMMED

format separated by VALUE_SEPARATOR

89 CRM_Core_DAO::SERIALIZE_PHP

format using php serialize()

89 CRM_Core_DAO::SERIALIZE_COMMA_KEY_VALUE

Comma separated, spaces trimmed, key=value optional

This was added to handle a wonky/legacy field, civicrm_product.options. If you're adding new fields, then use SERIALIZE_JSON instead. JSON is more standardized and has fewer quirks.

66 CRM_Core_DAO::$_nullObject
86 CRM_Core_DAO::$_nullArray

Error.php

Line Element Reason
321 CRM_Core_Error::fatal()

This is a really annoying function. We ❤ exceptions. Be exceptional!

499 CRM_Core_Error::debug()

prefer Civi::log().

611 CRM_Core_Error::debug_log_message()

see https://docs.civicrm.org/dev/en/latest/framework/logging/

Use (e.g) Civi::log()->error() (priority dependent).

792 CRM_Core_Error::formatBacktrace()

See formatter()

804 CRM_Core_Error::formatHtmlException()

See formatter()

816 CRM_Core_Error::formatTextException()

See formatter()

830 CRM_Core_Error::createError()

since 6.1 will be removed around 6.13

922 CRM_Core_Error::createAPIError()

This function is no longer used by v3 api.

41 CRM_Core_Error::DUPLICATE_CONTACT
47 CRM_Core_Error::DUPLICATE_PARTICIPANT

Exception.php

Line Element Reason
103 CRM_Core_Exception::getExtraParams()

Remove in v6.0. Compatibility with older API_Exception/CiviCRM_API3_Exception contracts.

PDFLetterCommon.php

Line Element Reason
29 CRM_Core_Form_Task_PDFLetterCommon
36 CRM_Core_Form_Task_PDFLetterCommon::preProcess()
50 CRM_Core_Form_Task_PDFLetterCommon::buildQuickForm()
186 CRM_Core_Form_Task_PDFLetterCommon::setDefaultValues()
207 CRM_Core_Form_Task_PDFLetterCommon::formRule()

since 5.80 will be removed around 6.12

268 CRM_Core_Form_Task_PDFLetterCommon::processTemplate()
332 CRM_Core_Form_Task_PDFLetterCommon::formatMessage()
384 CRM_Core_Form_Task_PDFLetterCommon::renderFromRows()
402 CRM_Core_Form_Task_PDFLetterCommon::listTokens()
418 CRM_Core_Form_Task_PDFLetterCommon::outputFromHtml()

Form.php

Line Element Reason
2049 CRM_Core_Form::getVar()
  • use of this function assumes that an otherwise unavailable variable can be used form outside the class in question. However, the very fact it is otherwise unavailable means there is no contract that it will not be changed or become unused. This function is OK for temporary usage but should be accompanied with an effort to establish a more correct method or property tested hook / api interface if this is being done from outside of core.
2078 CRM_Core_Form::setVar()
  • use of this function assumes that an otherwise unavailable variable can be used form outside the class in question. However, the very fact it is otherwise unavailable means there is no contract that it will not be changed or become unused. This function is OK for temporary usage but should be accompanied with an effort to establish a more correct method or property tested hook / api interface if this is being done from outside of core.
2432 CRM_Core_Form::getLoggedInUserContactID()
2879 CRM_Core_Form::getContactIDIfAccessingOwnRecord()

use getAuthenticatedContactID()

I18n.php

Line Element Reason
35 CRM_Core_I18n::$SQL_ESCAPER

This variable has 1-2 references in contrib, which -probably- aren't functionally necessary. (Extensions don't load in pre-installation environments...) But we'll keep the property stub just to prevent crashes.

Replaced by $GLOBALS['CIVICRM_SQL_ESCAPER'].

Invoke.php

Line Element Reason
320 CRM_Core_Invoke::rebuildMenuAndCaches()

Deprecated Feb 2025 in favor of Civi::rebuild(). Reassess after Jun 2026. For an extension bridging before+after, suggest guard like: if (version_compare(CRM_Utils_System::version(), 'X.Y.Z', '>=')) Civi::rebuild(...)->execute() else CRM_Core_Invoke::rebuildMenuAndCaches(); Choose an 'X.Y.Z' after determining that your preferred rebuild-target(s) are specifically available in X.Y.Z.

JobManager.php

Line Element Reason
238 CRM_Core_JobManager::logEntry()
36 CRM_Core_JobManager::$jobs

Lock.php

Line Element Reason
96 CRM_Core_Lock::createCivimailLock()

OptionGroup.php

Line Element Reason
35 CRM_Core_OptionGroup::isDomainOptionGroup()
  • going forward the optionValue table will not support domain-specific options
424 CRM_Core_OptionGroup::getAssoc()
471 CRM_Core_OptionGroup::deleteAssoc()
28 CRM_Core_OptionGroup::$_domainIDGroups

EntityPageTrait.php

Line Element Reason
63 CRM_Core_Page_EntityPageTrait::$_contactId

Historically pages alternate between $_contactID and $_contactId. We'll standardise on one

BaseIPN.php

Line Element Reason
78 CRM_Core_Payment_BaseIPN::failed()

use the api.

124 CRM_Core_Payment_BaseIPN::pending()
147 CRM_Core_Payment_BaseIPN::cancelled()

The intended replacement code is

Contribution::update(FALSE)->setValues([ 'cancel_date' => 'now', 'contribution_status_id:name' => 'Cancelled', ])->addWhere('id', '=', $contribution->id)->execute();

209 CRM_Core_Payment_BaseIPN::unhandled()
227 CRM_Core_Payment_BaseIPN::cancelParticipant()
244 CRM_Core_Payment_BaseIPN::cancelMembership()
324 CRM_Core_Payment_BaseIPN::completeTransaction()

Jumbled up function.

The purpose of this function is to transition a pending transaction to Completed including updating any related entities.

It has been overloaded to also add recurring transactions to the database, cloning the original transaction and updating related entities.

It is recommended to avoid calling this function directly and call the api functions:

  • contribution.completetransaction
  • contribution.repeattransaction

These functions are the focus of testing efforts and more accurately reflect the division of roles (the job of the IPN class is to determine the outcome, transaction id, invoice id & to validate the source and from there it should be possible to pass off transaction management.)

This function has been problematic for some time but there are now several tests via the api_v3_Contribution test and the Paypal & Authorize.net IPN tests so any refactoring should be done in conjunction with those.

This function needs to have the 'body' moved to the CRM_Contribute_BAO_Contribute class and to undergo refactoring to separate the complete transaction and repeat transaction functionality into separate functions with a shared function that updates related components.

Note that it is not necessary payment processor extension to implement an IPN class now. In general the code on the IPN class is better accessed through the api which de-jumbles it a bit.

e.g the payment class can have a function like (based on Omnipay extension):

public function handlePaymentNotification() { $response = $this->getValidatedOutcome(); if ($response->isSuccessful()) { try { // @todo check if it is a repeat transaction & call repeattransaction instead. civicrm_api3('contribution', 'completetransaction', array('id' => $this->transaction_id)); } catch (CRM_Core_Exception $e) { if (!stristr($e->getMessage(), 'Contribution already completed')) { $this->handleError('error', $this->transaction_id . $e->getMessage(), 'ipn_completion', 9000, 'An error may have occurred. Please check your receipt is correct'); $this->redirectOrExit('success'); } elseif ($this->transaction_id) { civicrm_api3('contribution', 'create', array('id' => $this->transaction_id, 'contribution_status_id' => 'Failed')); }

337 CRM_Core_Payment_BaseIPN::getBillingID()

Get site billing ID.

364 CRM_Core_Payment_BaseIPN::sendMail()
35 CRM_Core_Payment_BaseIPN::$_isRecurring
44 CRM_Core_Payment_BaseIPN::$_isFirstOrLastRecurringPayment

PayPalImpl.php

Line Element Reason
581 CRM_Core_Payment_PayPalImpl::doDirectPayment()
1086 CRM_Core_Payment_PayPalImpl::doTransferCheckout()

Payment.php

Line Element Reason
189 CRM_Core_Payment::setPaymentInstrumentID()

Set payment Instrument id - see note on getPaymentInstrumentID.

By default we actually ignore the form value. The manual processor takes it more seriously.

544 CRM_Core_Payment::setForm()
554 CRM_Core_Payment::getForm()
1362 CRM_Core_Payment::doDirectPayment()

Does a server to server payment transaction.

1378 CRM_Core_Payment::doTransferCheckout()
1730 CRM_Core_Payment::isSupported()
  • use $paymentProcessor->supports(array('cancelRecurring');
104 CRM_Core_Payment::$_processorName

PseudoConstant.php

Line Element Reason
126 CRM_Core_PseudoConstant::get()

in favor of Civi::entity()->getOptions()

371 CRM_Core_PseudoConstant::populate()

generic populate method. All pseudoconstant functions that use this method are also @deprecated

The static array $var is populated from the db using the $name DAO.

Note: any database errors will be trapped by the DAO.

450 CRM_Core_PseudoConstant::activityType()

Please use the buildOptions() method in the appropriate BAO object.

Get all Activity types.

The static array activityType is returned

631 CRM_Core_PseudoConstant::stateProvinceAbbreviationForCountry()
645 CRM_Core_PseudoConstant::stateProvinceAbbreviationForDefaultCountry()
748 CRM_Core_PseudoConstant::allGroup()

Please use the buildOptions() method in the appropriate BAO object.

Get all groups from database

The static array group is returned, and if it's called the first time, the Group DAO is used to get all the groups.

Note: any database errors will be trapped by the DAO.

69 CRM_Core_PseudoConstant::$group

Please use the buildOptions() method in the appropriate BAO object.

966 CRM_Core_PseudoConstant::paymentProcessor()

Please use the buildOptions() method in the appropriate BAO object. Get all active payment processors

The static array paymentProcessor is returned

997 CRM_Core_PseudoConstant::paymentProcessorType()

Please use the buildOptions() method in the appropriate BAO object.

The static array paymentProcessorType is returned

1035 CRM_Core_PseudoConstant::activityStatus()

Please use the buildOptions() method in the appropriate BAO object.

Get all Activity Statuses.

1052 CRM_Core_PseudoConstant::visibility()

Please use the buildOptions() method in the appropriate BAO object.

Get all Visibility levels.

The static array visibility is returned

SelectValues.php

Line Element Reason
569 CRM_Core_SelectValues::domainTokens()
595 CRM_Core_SelectValues::membershipTokens()
615 CRM_Core_SelectValues::eventTokens()
634 CRM_Core_SelectValues::contributionTokens()
653 CRM_Core_SelectValues::contactTokens()
671 CRM_Core_SelectValues::participantTokens()

function.sectionTotal.php

Line Element Reason
38 smarty_function_sectionTotal()

This is called from table.tpl but we aim to remove from there.

Smarty.php

Line Element Reason
284 CRM_Core_Smarty::addExpectedTabHeaderKeys()

Directly apply self::setRequiredTemplateTabKeys to the tabHeader variable

SmartyCompatibility.php

Line Element Reason
78 CRM_Core_SmartyCompatibility::load_filter()
95 CRM_Core_SmartyCompatibility::register_modifier()
112 CRM_Core_SmartyCompatibility::register_resource()
137 CRM_Core_SmartyCompatibility::register_function()
155 CRM_Core_SmartyCompatibility::get_template_vars()

since 5.69 will be removed around 5.79

170 CRM_Core_SmartyCompatibility::assign_by_ref()
186 CRM_Core_SmartyCompatibility::clear_assign()

SmartyPageTrait.php

Line Element Reason
126 CRM_Core_SmartyPageTrait::assign_by_ref()

since 5.72 will be removed around 5.84

140 CRM_Core_SmartyPageTrait::get_template_vars()

since 5.69 will be removed around 5.93. use getTemplateVars.

CustomData.php

Line Element Reason
23 CRM_Custom_Form_CustomData

since 5.72 will be removed around 5.92

54 CRM_Custom_Form_CustomData::addToForm()
  • preferred code now is to add to ensure the tpl loads custom data using the ajax template & add code to buildForm() like this
if ($this->isSubmitted()) {
  $this->addCustomDataFieldsToForm('Membership', array_filter([
  'id' => $this->getMembershipID(),
  'membership_type_id' => $this->getSubmittedValue('membership_type_id')
]));
}

$this->getDefaultEntity() must be defined for the form class for this to work.

If the postProcess form cannot use the api & instead uses a BAO function it will need. $params['custom'] = CRM_Core_BAO_CustomField::postProcess($submitted, $this->_id, $this->getDefaultEntity());

100 CRM_Custom_Form_CustomData::preProcess()

see https://github.com/civicrm/civicrm-core/pull/29241 for preferred approach - basically

  1. at the tpl layer use CRM/common/customDataBlock.tpl
  2. to make the fields available for postProcess if ($this->isSubmitted()) { $this->addCustomDataFieldsToForm('FinancialAccount'); }
  3. pass getSubmittedValues() to CRM_Core_BAO_CustomField::postProcess($this->getSubmittedValues(), $this->_id, 'FinancialAccount'); to ensure any money or number fields are handled for localisation
239 CRM_Custom_Form_CustomData::setGroupTree()

since 5.65 will be removed around 5.80.

Group.php

Line Element Reason
349 CRM_Custom_Form_Group::getRelationshipTypes()

AJAX.php

Line Element Reason
27 CRM_Custom_Page_AJAX::getOptionList()

DedupeRuleGroup.php

Line Element Reason
138 CRM_Dedupe_BAO_DedupeRuleGroup::tableDropQuery()

since 6.1.0 will be removed around 6.7.0

67 CRM_Dedupe_BAO_DedupeRuleGroup::$noRules

this was introduced in https://github.com/civicrm/civicrm-svn/commit/15136b07013b3477d601ebe5f7aa4f99f801beda as an awkward way to avoid fatalling on an invalid rule set with no rules.

Passing around a property is a bad way to do that check & we will work to remove.

Exception.php

Line Element Reason
21 CRM_Dedupe_BAO_Exception

Rule.php

Line Element Reason
15 CRM_Dedupe_BAO_Rule
23 CRM_Dedupe_BAO_Rule::validateContacts()
33 CRM_Dedupe_BAO_Rule::dedupeRuleFields()

RuleGroup.php

Line Element Reason
15 CRM_Dedupe_BAO_RuleGroup
22 CRM_Dedupe_BAO_RuleGroup::getByType()

Finder.php

Line Element Reason
43 CRM_Dedupe_Finder::dupes()

avoid calling this function directly as it is likely to change.

104 CRM_Dedupe_Finder::dupesByParams()

since 6.0 will be removed around 6.24 (long deprecation as there are many non-core callers)

Event.php

Line Element Reason
28 CRM_Event_BAO_Event::retrieve()
38 CRM_Event_BAO_Event::setIsActive()
  • this bypasses hooks.
167 CRM_Event_BAO_Event::del()

Participant.php

Line Element Reason
51 CRM_Event_BAO_Participant::add()
478 CRM_Event_BAO_Participant::importableFields()

since 5.74 will be removed around 5.86

ParticipantStatusType.php

Line Element Reason
25 CRM_Event_BAO_ParticipantStatusType::add()
35 CRM_Event_BAO_ParticipantStatusType::create()
69 CRM_Event_BAO_ParticipantStatusType::retrieve()
79 CRM_Event_BAO_ParticipantStatusType::setIsActive()
  • this bypasses hooks.

EventFees.php

Line Element Reason
33 CRM_Event_Form_EventFees::preProcess()

since 5.69 will be removed around 5.74

EventInfo.php

Line Element Reason
32 CRM_Event_Form_ManageEvent_EventInfo::$_eventType
  • never set.

Location.php

Line Element Reason
36 CRM_Event_Form_ManageEvent_Location::$locationBlock

use `getLocationBlockValue()

TabHeader.php

Line Element Reason
23 CRM_Event_Form_ManageEvent_TabHeader

since 5.72 will be removed around 5.78.

33 CRM_Event_Form_ManageEvent_TabHeader::build()

since 5.72 will be removed around 5.78.

61 CRM_Event_Form_ManageEvent_TabHeader::process()

since 5.72 will be removed around 5.78.

207 CRM_Event_Form_ManageEvent_TabHeader::reset()

since 5.72 will be removed around 5.78.

220 CRM_Event_Form_ManageEvent_TabHeader::getCurrentTab()

since 5.72 will be removed around 5.78.

Participant.php

Line Element Reason
40 CRM_Event_Form_Participant::$_pId

unused

58 CRM_Event_Form_Participant::$_values

use $this->getPriceFieldMetadata()

101 CRM_Event_Form_Participant::$_contactId

ParticipantFeeSelection.php

Line Element Reason
34 CRM_Event_Form_ParticipantFeeSelection::$_contactId
57 CRM_Event_Form_ParticipantFeeSelection::$_participantId

use getParticipantID().

Register.php

Line Element Reason
56 CRM_Event_Form_Registration_Register::$_noFees

Registration.php

Line Element Reason
33 CRM_Event_Form_Registration::$_eventId

access via getEventID

228 CRM_Event_Form_Registration::$_isBillingAddressRequiredForPayLater

Batch.php

Line Element Reason
316 CRM_Event_Form_Task_Batch::updateContributionStatus()

This is only called from one place in the code & it is unclear whether it is a function on the way in or on the way out

PseudoConstant.php

Line Element Reason
21 CRM_Event_PseudoConstant

functions. Use the API instead.

129 CRM_Event_PseudoConstant::participantListing()
166 CRM_Event_PseudoConstant::eventTemplates()

Use the API instead

203 CRM_Event_PseudoConstant::pcPage()

Info.php

Line Element Reason
99 CRM_Extension_Info::$maintainer

SchemaTrait.php

Line Element Reason
30 CRM_Extension_Upgrader_SchemaTrait

EntityFinancialAccount.php

Line Element Reason
31 CRM_Financial_BAO_EntityFinancialAccount::retrieve()
55 CRM_Financial_BAO_EntityFinancialAccount::add()
83 CRM_Financial_BAO_EntityFinancialAccount::del()

FinancialAccount.php

Line Element Reason
32 CRM_Financial_BAO_FinancialAccount::retrieve()
42 CRM_Financial_BAO_FinancialAccount::setIsActive()
  • this bypasses hooks.
55 CRM_Financial_BAO_FinancialAccount::add()
68 CRM_Financial_BAO_FinancialAccount::del()

FinancialItem.php

Line Element Reason
28 CRM_Financial_BAO_FinancialItem::retrieve()
186 CRM_Financial_BAO_FinancialItem::retrieveEntityFinancialTrxn()
  • only called by tests - to be replaced with $trxn = (array) EntityFinancialTrxn::get() ->addWhere('id', '=', $contributionID) ->addWhere('entity_table', '=', 'civicrm_contribution') ->addSelect('*')->execute();
186 CRM_Financial_BAO_FinancialItem::retrieveEntityFinancialTrxn()

FinancialType.php

Line Element Reason
28 CRM_Financial_BAO_FinancialType::retrieve()
39 CRM_Financial_BAO_FinancialType::setIsActive()
  • this bypasses hooks.
52 CRM_Financial_BAO_FinancialType::create()
70 CRM_Financial_BAO_FinancialType::add()
82 CRM_Financial_BAO_FinancialType::del()
350 CRM_Financial_BAO_FinancialType::buildPermissionedClause()
377 CRM_Financial_BAO_FinancialType::checkPermissionedLineItems()

since 5.68 not part of core - to be removed 5.74

431 CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()

since 5.75 will be removed around 5.90 Generally you should call hooks & allow the extension to engage but if you need to then check the extension status directly - do not use a helper.

Payment.php

Line Element Reason
398 CRM_Financial_BAO_Payment::getConfirmationTemplateParameters()

these template variables no longer used in the core template from 5.69 - stop assigning them.

PaymentProcessor.php

Line Element Reason
35 CRM_Financial_BAO_PaymentProcessor::create()
71 CRM_Financial_BAO_PaymentProcessor::retrieve()
81 CRM_Financial_BAO_PaymentProcessor::setIsActive()
  • this bypasses hooks.
108 CRM_Financial_BAO_PaymentProcessor::del()

PaymentProcessorType.php

Line Element Reason
31 CRM_Financial_BAO_PaymentProcessorType::retrieve()
41 CRM_Financial_BAO_PaymentProcessorType::setIsActive()
  • this bypasses hooks.
136 CRM_Financial_BAO_PaymentProcessorType::del()

SalesTaxTrait.php

Line Element Reason
24 CRM_Financial_Form_SalesTaxTrait::assignSalesTaxTermToTemplate()

since 5.69 will be removed around 5.80

AJAX.php

Line Element Reason
251 CRM_Financial_Page_AJAX::getFinancialTransactionsList()

MapField.php

Line Element Reason
349 CRM_Import_Form_MapField::addSavedMappingFields()

since 6.6 will be removed around 6.12

383 CRM_Import_Form_MapField::mappingRule()

since 6.6 will be removed around 6.12

ImportProcessor.php

Line Element Reason
216 CRM_Import_ImportProcessor::setContactTypeByConstant()

Utils.php

Line Element Reason
55 CRM_Invoicing_Utils::isInvoicingEnabled()

since 5.68 expected removal time to be added when we add noisy deprecation.

66 CRM_Invoicing_Utils::getTaxTerm()

since 5.68 expected removal time to be added when we add noisy deprecation.

Component.php

Line Element Reason
8 CRM_Mailing_BAO_Component

copy of renamed class.

Mailing.php

Line Element Reason
935 CRM_Mailing_BAO_Mailing::getGroupNames()

since 5.71 will be removed around 5.77

1175 CRM_Mailing_BAO_Mailing::checkSendable()
1886 CRM_Mailing_BAO_Mailing::del()
1930 CRM_Mailing_BAO_Mailing::getReturnProperties()

This is used by CiviMail but will be made redundant by FlexMailer/TokenProcessor.

MailingAB.php

Line Element Reason
54 CRM_Mailing_BAO_MailingAB::del()

MailingComponent.php

Line Element Reason
29 CRM_Mailing_BAO_MailingComponent::retrieve()
40 CRM_Mailing_BAO_MailingComponent::setIsActive()
  • this bypasses hooks.
54 CRM_Mailing_BAO_MailingComponent::add()

since 6.8 will be removed around 6.24

MailingJob.php

Line Element Reason
48 CRM_Mailing_BAO_MailingJob::create()

since 5.71 will be removed around 5.85

769 CRM_Mailing_BAO_MailingJob::del()

MailingEventBounce.php

Line Element Reason
82 CRM_Mailing_Event_BAO_MailingEventBounce::create()

MailingEventDelivered.php

Line Element Reason
65 CRM_Mailing_Event_BAO_MailingEventDelivered::create()

MailingEventQueue.php

Line Element Reason
303 CRM_Mailing_Event_BAO_MailingEventQueue::bulkCreate()

Membership.php

Line Element Reason
1027 CRM_Member_BAO_Membership::updateRecurMembership()

This is not used anywhere and should be removed soon! Function for updating a membership record's contribution_recur_id.

1835 CRM_Member_BAO_Membership::getMembershipContributionId()

MembershipBlock.php

Line Element Reason
30 CRM_Member_BAO_MembershipBlock::create()
42 CRM_Member_BAO_MembershipBlock::del()

MembershipLog.php

Line Element Reason
44 CRM_Member_BAO_MembershipLog::del()

MembershipPayment.php

Line Element Reason
85 CRM_Member_BAO_MembershipPayment::del()

MembershipStatus.php

Line Element Reason
25 CRM_Member_BAO_MembershipStatus::retrieve()
36 CRM_Member_BAO_MembershipStatus::setIsActive()
  • this bypasses hooks.
144 CRM_Member_BAO_MembershipStatus::del()

MembershipType.php

Line Element Reason
36 CRM_Member_BAO_MembershipType::retrieve()
46 CRM_Member_BAO_MembershipType::setIsActive()
  • this bypasses hooks.
108 CRM_Member_BAO_MembershipType::del()
236 CRM_Member_BAO_MembershipType::getMembershipTypes()

use getAllMembershipTypes.

260 CRM_Member_BAO_MembershipType::getMembershipTypeDetails()

use getMembershipType.

Membership.php

Line Element Reason
582 CRM_Member_Form_Membership::buildMembershipPriceSet()

this should be updated to align with the other forms that use getOrder()

937 CRM_Member_Form_Membership::emailReceipt()

This function was shared with Batch_Entry which had limited overlap & needs rationalising.

Form.php

Line Element Reason
79 CRM_Member_Form::$_priceSetId

use getPriceSetID()

Tab.php

Line Element Reason
36 CRM_Member_Page_Tab::$_contactId

PCP.php

Line Element Reason
30 CRM_PCP_BAO_PCP::create()
360 CRM_PCP_BAO_PCP::deleteById()

PCPBlock.php

Line Element Reason
23 CRM_PCP_BAO_PCPBlock::create()

Pledge.php

Line Element Reason
32 CRM_Pledge_BAO_Pledge::retrieve()

PledgeBlock.php

Line Element Reason
25 CRM_Pledge_BAO_PledgeBlock::retrieve()
37 CRM_Pledge_BAO_PledgeBlock::create()
60 CRM_Pledge_BAO_PledgeBlock::add()
124 CRM_Pledge_BAO_PledgeBlock::buildPledgeBlock()

since 5.68 will be removed around 5.74

PledgePayment.php

Line Element Reason
175 CRM_Pledge_BAO_PledgePayment::add()
  • use the api which will use create (soon).
185 CRM_Pledge_BAO_PledgePayment::retrieve()
196 CRM_Pledge_BAO_PledgePayment::del()

LineItem.php

Line Element Reason
103 CRM_Price_BAO_LineItem::retrieve()
743 CRM_Price_BAO_LineItem::getSubmittedLineItems()

since 6.9 will be removed around 6.15

PriceField.php

Line Element Reason
180 CRM_Price_BAO_PriceField::retrieve()
190 CRM_Price_BAO_PriceField::setIsActive()
  • this bypasses hooks.
538 CRM_Price_BAO_PriceField::getOptions()

since 5.75 will be removed around 5.95 - it is unclear why this function does not set tax for default contribution tax rate & hence it should be avoided.

PriceFieldValue.php

Line Element Reason
113 CRM_Price_BAO_PriceFieldValue::retrieve()
183 CRM_Price_BAO_PriceFieldValue::setIsActive()
  • this bypasses hooks.
213 CRM_Price_BAO_PriceFieldValue::del()

PriceSet.php

Line Element Reason
45 CRM_Price_BAO_PriceSet::create()

Use writeRecord

68 CRM_Price_BAO_PriceSet::retrieve()
78 CRM_Price_BAO_PriceSet::setIsActive()
  • this bypasses hooks.
533 CRM_Price_BAO_PriceSet::getOnlyPriceFieldID()

since 5.82 will be removed around 5.92

551 CRM_Price_BAO_PriceSet::getOnlyPriceFieldValueID()

since 5.82 will be removed around 5.92

594 CRM_Price_BAO_PriceSet::processAmount()

since 5.69 will be removed around 5.85. This function is still in use but marking deprecated to make it clear that we are moving away from it. There is no function that has the guaranteed stable signature that would allow us to support if from outside of core so if using this or the core alternative from an extension you need to rely on unit tests to keep your code stable. Within core we already have good test cover on code that calls this.

The recommended approach within core is something like

private function initializeOrder(): void { $this->order = new CRM_Financial_BAO_Order(); $this->order->setForm($this); $this->order->setPriceSelectionFromUnfilteredInput($this->>getSubmittedValues()); }

$lineItems = $this->order->getLineItems();

Queue.php

Line Element Reason
173 CRM_Queue_Queue::numberOfItems()

Use getStatistic(string $name) instead. The definition of numberOfItems() has become conflicted among different subclasses.

ReportInstance.php

Line Element Reason
172 CRM_Report_BAO_ReportInstance::del()
202 CRM_Report_BAO_ReportInstance::retrieve()

Form.php

Line Element Reason
2346 CRM_Report_Form::getFromTo()
3773 CRM_Report_Form::legacySlowGroupFilterClause()
3963 CRM_Report_Form::buildACLClause()

in favor of buildPermissionClause

Note that if the buildPermissionClause function is called (which most reports do from buildQuery then the results of this function are re-calculated and overwritten.

4446 CRM_Report_Form::addAddressFields()
  • use getAddressColumns which is a more accurate description and also accepts an array of options rather than a long list

adding address fields to construct function in reports

4875 CRM_Report_Form::getBasicContactFields()
  • use getColumns('Contact') instead

SmsProvider.php

Line Element Reason
110 CRM_SMS_BAO_SmsProvider::setIsActive()
  • this bypasses hooks.
123 CRM_SMS_BAO_SmsProvider::del()

Provider.php

Line Element Reason
312 CRM_SMS_Provider::formatPhone()

since 5.73 will be removed around 5.95

Field.php

Line Element Reason
286 CRM_UF_Page_Field::preview()

Links should point directly to civicrm/admin/uf/group/preview

Group.php

Line Element Reason
371 CRM_UF_Page_Group::preview()

Links should point directly to civicrm/admin/uf/group/preview

ProfileEditor.php

Line Element Reason
23 CRM_UF_Page_ProfileEditor::registerProfileScripts()

since 6.5 by dev/core#4349 and PR#33076 but still used by Contact Layout Summary Editor

Array.php

Line Element Reason
67 CRM_Utils_Array::value()

In most cases this can be replaced with $list[$key] ?? $default with the minor difference that when $list[$key] exists and is NULL, this function will always return NULL.

1267 CRM_Utils_Array::toKeyValueRows()
1280 CRM_Utils_Array::formatArrayKeys()

use convertCheckboxInputToArray instead (after testing) https://github.com/civicrm/civicrm-core/pull/8169

ArrayCache.php

Line Element Reason
99 CRM_Utils_Cache_ArrayCache::flush()

since 5.80 will be removed around 5.98

CacheWrapper.php

Line Element Reason
70 CRM_Utils_Cache_CacheWrapper::flush()

Interface.php

Line Element Reason
63 CRM_Utils_Cache_Interface::flush()

CommaKV.php

Line Element Reason
22 CRM_Utils_CommaKV

Implement a serialization format where:

  • Items are comma-separated
  • Items maybe barewords or "key=value" pairs

This format is not well-defined for all possible inputs. It should not be used. It's included for working with legacy data.

File.php

Line Element Reason
631 CRM_Utils_File::baseFilePath()

Hook.php

Line Element Reason
990 CRM_Utils_Hook::tokenValues()

since 5.71 will be removed sometime after all core uses are fully removed.

1498 CRM_Utils_Hook::optionValues()

in favor of hook_civicrm_fieldOptions

1600 CRM_Utils_Hook::dupeQuery()

since 5.72

1708 CRM_Utils_Hook::import()
45 CRM_Utils_Hook::$_nullObject

JSON.php

Line Element Reason
40 CRM_Utils_JSON::output()
  • use CRM_Utils_System::sendJSONResponse
75 CRM_Utils_JSON::encodeDataTableSelector()

Number.php

Line Element Reason
71 CRM_Utils_Number::formatUnitSize()

use ini_parse_quantity

Pager.php

Line Element Reason
41 CRM_Utils_Pager::ROWCOUNT

Recent.php

Line Element Reason
336 CRM_Utils_Recent::delContact()

Request.php

Line Element Reason
157 CRM_Utils_Request::exportValues()

We should use a function that checks url values.

This is a replacement for $_REQUEST which includes $_GET/$_POST but excludes $_COOKIE / $_ENV / $_SERVER.

REST.php

Line Element Reason
344 CRM_Utils_REST::fatal()

Rule.php

Line Element Reason
885 CRM_Utils_Rule::validContact()

SoapServer.php

Line Element Reason
22 CRM_Utils_SoapServer

TempTable.php

Line Element Reason
256 CRM_Utils_SQL_TempTable::isUtf8()
338 CRM_Utils_SQL_TempTable::setUtf8()

This method is deprecated as tables should be assumed to have UTF-8 as the default character set and collation; some other character set or collation may be specified in the column definition.

59 CRM_Utils_SQL_TempTable::UTF8

The system will attempt to use the same as your other tables, and if you really need something else then use createWithColumns and specify it per-column there.

SQL.php

Line Element Reason
132 CRM_Utils_SQL::supportsFullGroupBy()

String.php

Line Element Reason
933 CRM_Utils_String::startsWith()
947 CRM_Utils_String::endsWith()

Base.php

Line Element Reason
1155 CRM_Utils_System_Base::getCRMDatabasePrefix()
20 CRM_Utils_System_Base::$is_drupal

TRUE, if the CMS is Drupal.

30 CRM_Utils_System_Base::$is_joomla

TRUE, if the CMS is Joomla!.

40 CRM_Utils_System_Base::$is_wordpress

TRUE, if the CMS is WordPress.

Drupal8.php

Line Element Reason
217 CRM_Utils_System_Drupal8::addHTMLHead()

DrupalBase.php

Line Element Reason
620 CRM_Utils_System_DrupalBase::parseDrupalSiteNameFromRoot()

System.php

Line Element Reason
418 CRM_Utils_System::getUrlPath()
1108 CRM_Utils_System::urlEncode()
1515 CRM_Utils_System::flushCache()

Deprecated Feb 2025 in favor of Civi::rebuild(). Reassess after Jun 2026. For an extension bridging before+after, suggest guard like: if (version_compare(CRM_Utils_System::version(), 'X.Y.Z', '>=')) Civi::rebuild(...)->execute() else CRM_Utils_System::flushCache();) Choose an 'X.Y.Z' after determining that your preferred rebuild-target(s) are specifically available in X.Y.Z.

1589 CRM_Utils_System::relativeURL()
1850 CRM_Utils_System::isInUpgradeMode()

Time.php

Line Element Reason
97 CRM_Utils_Time::getTime()

Prefer CRM_Utils_Time::date(), whose name looks similar to the stdlib work-a-like.

109 CRM_Utils_Time::getTimeRaw()

Prefer CRM_Utils_Time::time(), whose name looks similar to the stdlib work-a-like.

Token.php

Line Element Reason
168 CRM_Utils_Token::replaceDomainTokens()

since ages ago will be removed around 5.90

205 CRM_Utils_Token::getDomainTokenReplacement()
232 CRM_Utils_Token::replaceMailingTokens()
408 CRM_Utils_Token::getActionTokenReplacement()
467 CRM_Utils_Token::replaceContactTokens()
520 CRM_Utils_Token::getContactTokenReplacement()
617 CRM_Utils_Token::replaceHookTokens()
647 CRM_Utils_Token::getTokenCategories()

since 5.78 will be removed around 5.90.

670 CRM_Utils_Token::getHookTokenReplacement()
700 CRM_Utils_Token::unescapeTokens()
790 CRM_Utils_Token::replaceSubscribeTokens()
858 CRM_Utils_Token::replaceWelcomeTokens()

since 5.65 will be removed around 5.71

963 CRM_Utils_Token::getAnonymousTokenDetails()
990 CRM_Utils_Token::getMembershipTokenDetails()
1075 CRM_Utils_Token::replaceUserTokens()

since 6.3 will be removed around 6.15

1129 CRM_Utils_Token::_buildContributionTokens()

Do not use this function - it still needs full removal from active code in CRM_Contribute_Form_Task_PDFLetter.

1183 CRM_Utils_Token::replaceEntityTokens()

Replace tokens for an entity.

1218 CRM_Utils_Token::getApiTokenReplacement()
1264 CRM_Utils_Token::getMembershipTokenReplacement()
1338 CRM_Utils_Token::getContributionTokenReplacement()
1388 CRM_Utils_Token::legacyContactTokens()

Only used from deprecated functions not called by core.

1407 CRM_Utils_Token::getCustomFieldTokens()
1465 CRM_Utils_Token::convertPseudoConstantsUsingMetadata()

AfformValidateEvent.php

Line Element Reason
44 AfformValidateEvent::getEntityValues()

Submit.php

Line Element Reason
25 Submit::EVENT_NAME
  • You may simply use the event name directly. dev/core#1744

AfformScanner.php

Line Element Reason
230 CRM_Afform_AfformScanner::getLayout()

unused function

AbstractFlowsTest.php

Line Element Reason
196 AbstractFlowsTest::credApikey()

Get.php

Line Element Reason
33 Get::$contributionID
  • use where clause

Grant.php

Line Element Reason
77 CRM_Grant_BAO_Grant::retrieve()
84 CRM_Grant_BAO_Grant::add()
92 CRM_Grant_BAO_Grant::create()
149 CRM_Grant_BAO_Grant::deleteContact()
160 CRM_Grant_BAO_Grant::del()

Cart.php

Line Element Reason
354 CRM_Event_Cart_Form_Cart::retrieveContact()

copy of previously shared code.

28 CRM_Event_Cart_Form_Cart::$discounts

Not recommended for new extensions.

BaseListener.php

Line Element Reason
17 BaseListener

As of Feb 2024, still used by Mosaico releases. Need at least a year to phase-out.

Services.php

Line Element Reason
96 Services::applyStaticFactory()

MailSetup.php

Line Element Reason
63 CRM_OAuth_MailSetup::evalArrayTemplate()

Return.php

Line Element Reason
73 CRM_OAuth_Page_Return::storeState()
85 CRM_OAuth_Page_Return::loadState()

riverlea.php

Line Element Reason
11 _riverlea_is_active()

Friend.php

Line Element Reason
53 CRM_Friend_BAO_Friend::retrieve()

FieldsCallbackTest.php

Line Element Reason
30 FieldsCallbackTest

Note: fields_callback is now deprecated in favor of the civi.entity.fields event.

CustomTestBase.php

Line Element Reason
30 CustomTestBase

Not needed if you use $this->createTestRecord() to make your custom groups, as that will cleanup automatically.

MockV4ReflectionGrandchild.php

Line Element Reason
39 MockV4ReflectionGrandchild::deprecatedFn()

CiviUnitTestCase.php

Line Element Reason
3911 CiviUnitTestCaseCommon::retrieveEntityFinancialTrxn()
  • only called by tests - to be replaced with $trxn = (array) EntityFinancialTrxn::get() ->addWhere('id', '=', $contributionID) ->addWhere('entity_table', '=', 'civicrm_contribution') ->addSelect('*')->execute();
3911 CiviUnitTestCaseCommon::retrieveEntityFinancialTrxn()
  • this was used so much in tests I copied it over - but it should go.... the tests just need to use the api.

ConfirmTest.php

Line Element Reason
362 CRM_Contribute_Form_Contribution_ConfirmTest::submitFormWithMembershipAndContribution()

see testSeparatePaymentWithTax for preferred way to get valid config.

AllCoreTablesTest.php

Line Element Reason
46 CRM_Core_DAO_AllCoreTablesTest::_hook_civicrm_entityTypes()

ConfirmTest.php

Line Element Reason
582 CRM_Event_Form_Registration_ConfirmTest::submitFormLegacy()

use SubmitForm

Search results