</span>ok, your final cut, don't care that much either way
## 58 retrieve
- CRM/Price/BAO/LineItem.php
- CRM/Price/BAO/Set.php
- CRM/Price/BAO/FieldValue.php
- CRM/Price/BAO/Field.php
- CRM/Mailing/BAO/Component.php
- CRM/Pledge/BAO/PledgePayment.php
- CRM/Pledge/BAO/PledgeBlock.php
- CRM/Pledge/BAO/Pledge.php
- CRM/Report/BAO/Instance.php
- CRM/Contribute/BAO/Premium.php
- CRM/Contribute/BAO/ManagePremiums.php
- CRM/Contribute/BAO/ContributionType.php
- CRM/Contribute/BAO/Contribution.php
- CRM/Event/BAO/Event.php
- CRM/Event/BAO/ParticipantStatusType.php
- CRM/Event/Cart/BAO/Cart.php
- CRM/Case/BAO/Case.php
- CRM/Member/BAO/MembershipStatus.php
- CRM/Member/BAO/Membership.php
- CRM/Member/BAO/MembershipType.php
- CRM/Contact/BAO/RelationshipType.php
- CRM/Contact/BAO/ContactType.php
- CRM/Contact/BAO/Group.php
- CRM/Contact/BAO/Contact/Utils.php
- CRM/Contact/BAO/SavedSearch.php
- CRM/Campaign/BAO/Survey.php
- CRM/Campaign/BAO/Campaign.php
- CRM/Activity/BAO/Activity.php
- CRM/Core/BAO/LocationType.php
- CRM/Core/BAO/Navigation.php
- CRM/Core/BAO/OptionValue.php
- CRM/Core/BAO/Job.php
- CRM/Core/BAO/LabelFormat.php
- CRM/Core/BAO/ActionSchedule.php
- CRM/Core/BAO/CustomGroup.php
- CRM/Core/BAO/PdfFormat.php
- CRM/Core/BAO/MailSettings.php
- CRM/Core/BAO/PaymentProcessor.php
- CRM/Core/BAO/Persistent.php
- CRM/Core/BAO/PaymentProcessorType.php
- CRM/Core/BAO/Mapping.php
- CRM/Core/BAO/Domain.php
- CRM/Core/BAO/MessageTemplates.php
- CRM/Core/BAO/OptionGroup.php
- CRM/Core/BAO/ConfigSetting.php
- CRM/Core/BAO/CustomOption.php
- CRM/Core/BAO/UFGroup.php
- CRM/Core/BAO/PrevNextCache.php
- CRM/Core/BAO/UFField.php
- CRM/Core/BAO/Tag.php
- CRM/Core/BAO/CustomField.php
- CRM/Core/BAO/PreferencesDate.php
- CRM/Core/BAO/PaperSize.php
- CRM/ACL/BAO/Cache.php
- CRM/ACL/BAO/EntityRole.php
- CRM/ACL/BAO/ACL.php
- CRM/Friend/BAO/Friend.php
- CRM/Grant/BAO/Grant.php
## del 39
- CRM/Price/BAO/FieldValue.php
- CRM/Mailing/BAO/Mailing.php
- CRM/Pledge/BAO/PledgePayment.php
- CRM/Contribute/BAO/Premium.php
- CRM/Contribute/BAO/ManagePremiums.php
- CRM/Contribute/BAO/ContributionType.php
- CRM/Event/BAO/Event.php
- CRM/Member/BAO/MembershipLog.php
- CRM/Member/BAO/MembershipStatus.php
- CRM/Member/BAO/MembershipType.php
- CRM/Contact/BAO/RelationshipType.php
- CRM/Contact/BAO/ContactType.php
- CRM/Contact/BAO/Relationship.php
- CRM/Campaign/BAO/Survey.php
- CRM/Campaign/BAO/Campaign.php
- CRM/Core/BAO/LocationType.php
- CRM/Core/BAO/OptionValue.php
- CRM/Core/BAO/Job.php
- CRM/Core/BAO/LabelFormat.php
- CRM/Core/BAO/ActionSchedule.php
- CRM/Core/BAO/PdfFormat.php
- CRM/Core/BAO/Discount.php
- CRM/Core/BAO/PaymentProcessor.php
- CRM/Core/BAO/PaymentProcessorType.php
- CRM/Core/BAO/Mapping.php
- CRM/Core/BAO/MessageTemplates.php
- CRM/Core/BAO/OptionGroup.php
- CRM/Core/BAO/CustomOption.php
- CRM/Core/BAO/UFGroup.php
- CRM/Core/BAO/Website.php
- CRM/Core/BAO/Note.php
- CRM/Core/BAO/UFField.php
- CRM/Core/BAO/Tag.php
- CRM/Core/BAO/PreferencesDate.php
- CRM/Core/BAO/PaperSize.php
- CRM/Core/BAO/EntityTag.php
- CRM/ACL/BAO/EntityRole.php
- CRM/ACL/BAO/ACL.php
- CRM/Grant/BAO/Grant.php
## delete 6
- CRM/PCP/BAO/PCP.php
- CRM/Report/BAO/Instance.php
- CRM/Event/Cart/BAO/EventInCart.php
- CRM/Contact/BAO/GroupOrganization.php
- CRM/Activity/BAO/Activity.php
- CRM/Core/BAO/File.php
## create 36
- CRM/Price/BAO/LineItem.php
- CRM/Price/BAO/Set.php
- CRM/Price/BAO/FieldValue.php
- CRM/Price/BAO/Field.php
- CRM/Mailing/BAO/Mailing.php
- CRM/Pledge/BAO/PledgePayment.php
- CRM/Event/BAO/Event.php
- CRM/Event/Cart/BAO/MerParticipant.php
- CRM/Event/Cart/BAO/EventInCart.php
- CRM/Event/Cart/BAO/Cart.php
- CRM/Contact/BAO/GroupContact.php
- CRM/Contact/BAO/Group.php
- CRM/Contact/BAO/Relationship.php
- CRM/Campaign/BAO/Survey.php
- CRM/Campaign/BAO/Campaign.php
- CRM/Activity/BAO/Activity.php
- CRM/Activity/BAO/ActivityAssignment.php
- CRM/Activity/BAO/ActivityTarget.php
- CRM/Project/BAO/TaskStatus.php
- CRM/Core/BAO/Block.php
- CRM/Core/BAO/CustomGroup.php
- CRM/Core/BAO/Address.php
- CRM/Core/BAO/Domain.php
- CRM/Core/BAO/Batch.php
- CRM/Core/BAO/Website.php
- CRM/Core/BAO/CustomField.php
- CRM/Core/BAO/CMSUser.php
- CRM/Core/BAO/ActionLog.php
- CRM/Core/BAO/CustomValueTable.php
- CRM/Core/BAO/EntityTag.php
- CRM/Core/BAO/Location.php
- CRM/Core/BAO/FinancialTrxn.php
- CRM/ACL/BAO/EntityRole.php
- CRM/ACL/BAO/ACL.php
- CRM/Friend/BAO/Friend.php
- CRM/Grant/BAO/Grant.php
## add 48
- CRM/PCP/BAO/PCP.php
- CRM/Mailing/BAO/Mailing.php
- CRM/Mailing/BAO/Component.php
- CRM/Pledge/BAO/PledgePayment.php
- CRM/Pledge/BAO/PledgeBlock.php
- CRM/Pledge/BAO/Pledge.php
- CRM/Contribute/BAO/ManagePremiums.php
- CRM/Contribute/BAO/ContributionType.php
- CRM/Contribute/BAO/Contribution.php
- CRM/Contribute/BAO/ContributionRecur.php
- CRM/Event/BAO/Event.php
- CRM/Event/BAO/ParticipantStatusType.php
- CRM/Event/Cart/BAO/Cart.php
- CRM/Case/BAO/Case.php
- CRM/Member/BAO/MembershipLog.php
- CRM/Member/BAO/MembershipStatus.php
- CRM/Member/BAO/MembershipType.php
- CRM/Contact/BAO/GroupNesting.php
- CRM/Contact/BAO/GroupContactCache.php
- CRM/Contact/BAO/RelationshipType.php
- CRM/Contact/BAO/ContactType.php
- CRM/Contact/BAO/GroupOrganization.php
- CRM/Contact/BAO/GroupContact.php
- CRM/Contact/BAO/Relationship.php
- CRM/Contact/BAO/Contact.php
- CRM/Core/BAO/Navigation.php
- CRM/Core/BAO/OptionValue.php
- CRM/Core/BAO/ActionSchedule.php
- CRM/Core/BAO/MailSettings.php
- CRM/Core/BAO/Discount.php
- CRM/Core/BAO/Email.php
- CRM/Core/BAO/Log.php
- CRM/Core/BAO/Persistent.php
- CRM/Core/BAO/Address.php
- CRM/Core/BAO/Mapping.php
- CRM/Core/BAO/IM.php
- CRM/Core/BAO/MessageTemplates.php
- CRM/Core/BAO/OptionGroup.php
- CRM/Core/BAO/ConfigSetting.php
- CRM/Core/BAO/UFGroup.php
- CRM/Core/BAO/Website.php
- CRM/Core/BAO/UFField.php
- CRM/Core/BAO/Tag.php
- CRM/Core/BAO/OpenID.php
- CRM/Core/BAO/EntityTag.php
- CRM/Core/BAO/Phone.php
- CRM/Friend/BAO/Friend.php
- CRM/Grant/BAO/Grant.php
ack-grep "function add\[ |\(\]" CRM
The signature is either like
CRM/Friend/BAO/Friend.php\
63: static function add( &$params )
CRM/Core/BAO/UFGroup.php\
1151: static function add( &$params, &$ids )
or (single exeption)
CRM/Core/BAO/Address.php\
143: static function add( &$params, $fixAddress )
CRM/Contact/BAO/Relationship.php\
191: static function add ( &$params, &$ids, $contactId )
CRM/Contact/BAO/GroupNesting.php\
252: static function add( $parentID, $childID ) {
CRM/PCP/BAO/PCP.php\
66: static function add( &$params, $pcpBlock = true )
# Database standards
We have agreed on the following standard that we will work towards
1. Every BAO will have a create function. This will be called by the API & form layer
1. the create function will take a single params array
1. Depending on the params passed in the create function will perform any additional actions like creating activities
1. The create function will call hooks
1. We are moving away from the $ids array being included
1. The add function if it exists will be internal to the BAO layer
1. If any additional actions are to be done when deleting the BAO there should be function del which takes the entity id as the only required parameter
1. The delete action will take any additional tasks like deleting additional object (generally done by code)
1. The delete action will take an array including `['id']`
1. The api will call the del action & fall back onto delete. It is recommended the form layer call the api